Thursday 4 June 2015

Evolution of Javascript from a Web Developer POV

Javascript-Early Stages

In the beginning, there was just plain vanilla JavaScript used for DOM Manipulation and because of the inconsistent DOM APIs across different browsers resulted in lots of bugs.

Javascript Frameworks for DOM Manipulation
 Early frameworks focused on accessing the DOM (the 'query' in jQuery)
Utility functions for animation, cross-browser AJAX, templating added.
jQuery beat out other similar tools such as MooTools, Prototype to become nearly ubiquitous.
There was no "front-end architecture" yet

Javascript Frameworks as UI Widgtes
 Reusable interactive UI components were packaged as UI Widgtes
(ex)jQuery UI, ExtJS, Kendo UI, Bootstrap

Web Application Javascript frameworks
 Mature JavaScript Frameworks designed for building MVC/MVVM web applications
 Usually include templating, AJAX CRUD, and  1 way/2 way model binding
 (ex)Knockout, Backbone.js, AngularJS, Batman.js, Ember.js


JavaScript Tools

DOM Abstraction
  • Prototype
  • YUI
  • jQuery
  • Mootools
  • ExtJS
  • Script.aculo.us
  • Dojo
MV? Frameworks
  • Ember
  • Angular
  • Backbone
  • Spine
  • CanJS
Utility Libraries
  • Clementine
  • Underscore
  • Knockout
  • Socket.io
  • RequireJS
  • Lodash
Testing Tools
  • Mocha
  • QUnit
  • Jasmine
  • JSHint
  • CSSLint
  • Chai
  • ExpectJS
  • PhantomJS
Templating
  • Handlebars
  • Mustache
  • EJS
  • HAML
  • Dust
Mobile UI Frameworks
  • jQuery Mobile
  • SenchaTouch
  • KendoUI
UI Component Libraries
  • jQuery UI
  • Bootstrap
  • Ratchet
Pseudo Languages
  • Coffeescript
  • Typescript
  • Dart
Build Tools
  • Grunt
  • Yeoman
Package Managers
  • NPM
  • Bower
Preprocessors / Mixin Libraries
  • SASS
  • LESS
  • Bourbon
  • Preboot
None of the Above!
  • Node.js

No comments:

Post a Comment