JavaScript controls, frameworks, platforms and tools
- Angular
- Latest version 4
- MVC
- Used along with
- TypeScript
- ReactJS (ngReact)
- IDEs
- Visual Studio Code
- Visual Studio 2017
- Advantages
- Large ecosystem
- Built-in Dependency Injection makes it easy to unit test components
- Model as single source of data helps in reducing redundancies in code
- Two-way binding
- Better MVC implementation
- Declarative user interface
- Declarations let’s build common user interface objects
- Easy live filtering
- Built-in routing
- Disadvantages
- Debugging large applications could be tedious
- Direct changes to HTML DOM means more changes to implement when page refreshes
- Comparison of current value done only with initial value
- Only every change, complete set of entities are compared – meaning, it becomes slower as number of bindings increase
- BackboneJS
- MVP
- C3.js
- Internally uses D3
- Many variations of charts supported
- Examples: http://c3js.org/examples.html
- Ideal for
- Creating simple charts
- D3.js
- Many variations of data graphs supported
- Examples: https://github.com/d3/d3/wiki/Gallery
- Ideal for
- Complex data visuals
- EmberJS
- Gijgo
- UI controls
- Built-in support for
- Bootstrap
- Material Design
- Font Awesome
- KnockoutJS
- MVVM
- Ideal for
- Defining entities
- e.g. e-commerce sites
- Disadvantages
- Lacks routing
- Marionette
- Internally uses BackboneJS
- Ractive.js
- Info: https://ractive.js.org/
- ReactJS
- V of MVC
- Used along with AngularJS
- Ideal for
- Building better user interfaces
- Large applications
- Applications with workflow
- Advantages
- Provides modularity for UI components
- UI components can be developed and tested in isolation
- Simpler debugging for large applications
- Virtual DOM makes it lightweight to make changes in values on screen
- More friendly for SEO due to its pre-rendering
- Rivets
- Lightweight
- SPArta.js
- MVVM
- Internally uses KnockoutJS
- Ideal for
- Single page applications
- Vue.js
- Aims to be lightweight
- Info: https://vuejs.org/
- Documentation: http://vegibit.com/vue-js-tutorial/