Building websites and web applications today is not only about being a great programmer, it’s even more important to be a smart programmer. This means to re-use existing code and applications when possible instead of re-inventing the wheel.
Since it was launched by Twitter in 2011, web building framework Bootstrap has become one of the most popular project on GitHub. As Bootstrap grew, its creators Mark Otto and Jacob Thornton decided to move it to its own open source organisation, and the project separated from Twitter.
Bootstrap has a small footprint, LESS integration and compelling visual design. There is a web-based customizer that you can use to tailor it to your open source project: components and jQuery plug-ins can be added or removed by ticking checkboxes, and variables can be customized using a web form. There’s a 12-column responsive grid, typography, form controls and it uses responsive CSS to work with mobile browsers.
Ember.js bills itself as “a framework for creating ambitious web applications”. One of the biggest features is its data binding; objects in Ember can bind properties to each other, so when a property changes in one object, the other is kept in sync.
Another is the ability to define functions on an object that you can then treat as properties. Hence, if a model has a first and last name, you could create a function to define a person’s full name, and have it treated as if the model has a fullname property.
The feature most likely to draw you in is that Ember automatically updates its views when data changes – saving you a lot of work.
The data binding means data in views is automatically updated when the data changes, but also Angular makes it effortless to bind forms to models, meaning a lot of the code you typically write to link a form to creating a new instance of a model is not needed. Its data binding is bi-directional.
Grunt has dramatically lowered the barrier to entry for web developers by providing a common interface for the tasks in their build process. The extensive plug-in ecosystem and easy configuration format makes it possible for anyone on the team to create a modern build process – designers included.