GithubHelp home page GithubHelp logo

nui's Introduction

NUI

The "No JavaScript" User Interface (NUI) project is an experimental web UI library with the goal of allowing developers to create rich, interactive web pages without writing a single line of JavaScript.

EXPERIMENT!!

NUI is an experiment and therefore:

  • Should not be used until otherwise specified
  • Is not ready to accept pull requests
  • Does not have documentation
  • May be discontinued at any point in time without warning

Goals

  • Figure out just how much JavaScript is necessary for common patterns
  • Determine if it's feasible to not write a single line of JavaScript to initialize components

Try it out

  1. Run ant to build the files.
  2. Open demo/demo.htm
  3. Enjoy

nui's People

Contributors

nzakas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nui's Issues

Online demo

If you create a gh-pages branch with an index.html file, it'll be served from http://<username>.github.io/<reponame>/. Free GH hosting ftw

Bonus: Go to repo settings and make gh-pages the default branch, then you can go ahead and delete master, as master is just normal branch, it has no real importance.

Core experience of demo/demo.htm is broken

The key principle of progressive enhancement is that core functionality works without JavaScript. Web development best practices note that if you have functionality that requires JavaScript, that you insert it into the DOM using JavaScript, such that if the JavaScript is unavailable (for a whole shedful of uncontrollable reasons), the page continues to function, and is not in a broken state.

But the demo page at demo / demo.htm - there are three links in the ol.nui-tabs that do not function as expected. If these links require JavaScript to function, then they need to be injected with JavaScript. Otherwise they should be linking to proper URLs, like separate documents, or fragment identifiers in the page.

At the moment, the HTML still requires JavaScript to cover over this breakage, so it is not currently a good example of progressive enhancement.

The correct approach depends on the content of the tabs, if all of the tab-panel content is deemed core experience, then that content needs to be available without JavaScript, whether it's the tab panels unrolled one after the other, or a server side implementation of the tab panel.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.