@page DoneJS @hide title @hide sidebar
DoneJS is the easiest way to get a high performance, real time, web and mobile application done! The framework provides a nearly comprehensive combination of technologies for building complex JavaScript applications.
If you are looking for the fastest way to get a fully modern development environment setup and produce a lightning fast application, you've come to the right place.
DoneJS is a combination of the following technologies:
- StealJS - ES6, CJS, and AMD module loader and builder
- CanJS - Custom elements and model-view-viewmodel (MVVM) utilities
- jQuery - DOM helpers
- jQuery++ - Extended DOM helpers
- QUnit or Mocha - Assertion library
- FuncUnit - Functional tests
- Testee or Karma - Test runner
- DocumentJS - Documentation
- can-ssr - Server-side rendering utilities for CanJS
DoneJS is a npm
package that simply installs all the previous
technologies. This site exists to explain the collective benefits of these technologies
and provides a [Guide guide] for using them together to build an "amazing" application.
Application features:
- Isomorphic (same code on server and client).
- Pushstate routing
- Real time
- Run everywhere ( IE9+, Android, iOS, node-webkit )
Performance features:
- Progressive loaded optimized production builds
- Caching and minimal data requests
- Minimal DOM updates
- Application logic in worker thread
Maintenance features:
- Modlet workflow - tests, docs, and demo pages
- Use and create NPM packages
- Custom HTML elements
- MVVM single direction architecture
- Multi-versioned documentation
- Hot module swapping
- Functional tests
The DoneJS Getting Started Guide walks you through creating a PlaceMyOrder application.
- Install
- Set up server
- Set up client
- Setting up server side rendering
- Create the main template
- Create the application view model
- Render the main template on the server
- Start the server
- Setting up routing
- Create routes
- Create a homepage element
- Create a restaurant list element
- Switch between pages
- Create a header element
- Create a order history element
- Switch between three pages
- Getting data from the server and showing it in the page.
- Creating a unit-tested view model and demo page
- Identify the view model state properties
- Test the view model
- Setup the test
- Create fake data
- Use fake data for ajax requests
- Create a view model instance and test its behavior
- Write the view model
- Make dependent models
- Define stateful property behaviors
- Verify the test
- Create a demo page
- Write the template
- Verify the demo page and application works.
- Setup continuous integration (CI) and tests.
- Nested routes
- Importing other projects
- Creating data
- Setup up a real-time connection
- Production builds
- Bundling your app
- Building to iOS and Android
- Building to NW.js
- Deploying