Skip to content

Instantly share code, notes, and snippets.

@js62789
Last active August 29, 2015 13:57
Show Gist options
  • Save js62789/9831640 to your computer and use it in GitHub Desktop.
Save js62789/9831640 to your computer and use it in GitHub Desktop.
A list of tools and why they're useful to web app development

##Web App Tools ###Server Provisioning Solutions: Vagrant

###Virtualization Solutions: VirtualBox, Docker, Parallels, VMWare

###Continuous Integration Solutions: Jenkins, Travis, Codeship

Continuous Integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day. If you're looking for a good article on CI, check out Martin Fowler's article. Travis CI supports automated deployment to certain providers as well.

###Deployment/Provisioning Solutions: Codeship, Capistrano, Puppet, Chef, Github Webhook

Manual and automated deployments are essential to minimizing the risk associated with deploying new code. It's extremely important that any deployment methodology you employ can be used to rollback the codebase.

###Unit Testing Solutions: Jasmine, Mocha, Sinon, QUnit, Chai

###Browser Automation Testing Solutions: Selenium, DalekJS, PhantomJS, Karma

###Code Coverage Solutions: Istanbul, BlanketJS

###Templating Solutions: Mustache, Handlebars, DustJS, Underscore, Jade, EJS, HAML

###AMD Solutions: RequireJS

Asynchronous Module Definition (AMD) is a JavaScript API for defining modules such that the module and its dependencies can be asynchronously loaded. It is useful in improving the performance of websites by bypassing synchronous loading of modules along with the rest of the site content.

###Dom Manipulation Solutions: jQuery, Sizzle, Zepto

###MVC Framework Solutions: Backbone, Ember, Angular, Knockout, Marionette

###Quality Assurance Solutions: JSHint

###Documentation Solutions: jsdoc, YUIDoc

By following a documentation system's syntax, your team can ensure uniform comments and enlist automatic documentation pages that look like this. Using grunt/node.js, tools such as markdox and jsdox can convert comments into markdown documentation pages too.

###Build Solutions: Grunt, Gulp, Jake, Ant

A build tool can serve a variety of purposes:

  • It can run automated tests.
  • It can compile, minify, compress, and version your assets.
  • It can ensure code quality checks.
  • Live reload can be integrated to refresh devices when files are updated

###Analytics Solutions: Google, MixPanel

Analytics tools can be leveraged to gain information about the user's habits.

###Error Logging Solutions: Airbrake, Sentry ###App Development Solutions: PhoneGap, Appcelerator

A continuous integration server should be used to automatically validate tests and builds assets upon the committing to a branch or the creation of a pull request. NetTuts wrote a good overview on how Travis CI works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment