Monday, August 20, 2012

Great list from infoq article

Javascript MVC Frameworks
These frameworks try to give structure to web applications by providing conventions for models, views, events, etc. Popular examples are Backbone.jsAngularJS, etc.

HTML5-aware IDEs
Many developers prefer feature-rich IDEs like Aptana Studio, WebStorm, TopStyle, etc, instead of more light-weight text editors.

Unit Testing Frameworks
Unit tests are very valuable in helping developers find problems early, facilitate change, simplifies integration and even act as standalone documentation. The most widely used frameworks on the front-end is QUnit.

JavaScript Code Quality Tools
Any code base eventually becomes huge at some point, and simple mistakes can become show stoppers and waste hours of debugging. This is when static code analysis tools come into play and help developers to spot such problems. Most popular choices are JSHintJSLint, etc.

CSS Frameworks
CSS framework can speed up development, make your site more aesthetically pleasing, and help eliminate some of the cross-browser compatibility issues. Popular framework in this category include 960 Grid SystemBlueprint, etc.

Build tools
Using one or more build tools has many advantages like accelerating development, elimination of redundant tasks, having a history of builds and releases in order to investigate issues and more. Some of the most important tools in this category are MakeApache AntGrunt, or even custom shell scripts.

Head-less Browser Testing
A headless browser is a web browser without a graphical user interface and it can be very useful for automating webpage testing. A popular example is PhantomJS, etc.

JavaScript Compilers
Many believe that JavaScript is the Assembly of Web, so they use technologies like CoffeeScriptDartGWTEmscripten, etc.

CSS (meta) languages
These languages usually extend CSS with dynamic behavior such as variables, mixins, operations and functions. Some examples are LESSSass, etc.

JavaScript shims, fallbacks, and polyfills
These are JavaScript libraries that replicate the standard API found as natively in the new browsers, for the older browsers. A comprehensive list of shims, fallbacks, and polyfills can be found at the Modernizr site.

Webapps for testing JavaScript / CSS snippets
These webapps are designed to help JavaScript and CSS developers test snippets of code, within some context, and debug the code collaboratively. Examples are JS BinJsFiddleDabblet, etc.

Graphics editors for SVG or Canvas
Many designers prefer programs like Like Adobe Illustrator or Inkscape for designing their web graphics.

Remote Browser Automation
Primarily used for automating web applications for testing purposes, it can even be used to automate boring web-based administration tasks. The most widely used framework in this category is Selenium.

Plain text editors
Many web developers prefer plain text editors like Vim, TextMate, UltraEdit, Sublime, etc, than heavy-weight IDEs.

Many developers prefer WYSIWYG editors like Adobe Dreamweaver, Microsoft Expression Web, etc, instead of IDEs or text editors.

BDD Frameworks
Behavior-driven development (or BDD) is an agile software development technique devised by Dan North, and is based in the convention that unit test names are whole sentences starting with the word should and they are written in order of business value. A widely used framework that supports it is Jasmin.

Cloud debugging/testing services
Setting up your own testing infrastructure can be time consuming, so companies like Saucelabs offer their infrastructure as a service.

Automated screenshot services
These services makes screenshots of your web design in different operating systems and browsers, for testing purposes. A popular example is Browsershots.