Web Development Trends to Watch Out for In 2011
In the world of web development, there is nothing constant but change. Tools and technologies that web developers use must also adapt to this rabid development to support their needs and wants. What may be enough last year might not be sufficient today. This is why we present to you some of the technologies that were available for a while now, but are set to give a great impact to the web developer’s world in 2011.
Easy Hosting, Scaling, and Deployment
Hosting, scaling, and deployment of web applications and websites have been presenting a problem for web developers for quite some time now. Deployment is an issue for large web applications because you must do more than just copy the files to your production server. Scaling has issues as well and requires understanding of bandwidth capacity and computing capacity. Scaling requires alot of time and effort and can pose a wide range of issues for developers.
What can we do to solve these issues? Simple – use platforms as a service. This eliminates the hassles of hosting, scaling, and deployment for web developers. For example, in deploying problems, you simply push to a git repo and everything is taken care of for you. No more hassles, no more pain
Heroku is a simple service offering web developers several benefits. First of all, the computing capacity and the memory can be dynamically allocated allowing for a better performance and memory usage. When you deploy to your application, you only need to push the code to the github repo. Moreover, noSql offers various solutions which are made readily available to web developers like redis and MongoDB.
Amazon’s Web Services is a general term that encompasses two major components: Amazon Elastic Computer Cloud [EC2] and Amazon Simple Storage Service [S3]. The EC2 will let web developers orchestrate extremely scalable virtual servers and have the freedom to choose the amount of power supply to be used. The S3, on the other hand, fits in the cheap but very reliable storage that is web-based category.
Utility JS Libraries
Last year (2010), Modernizr was the biggest success in the utility library area. This has shown that web developers are in search for clean, functional, and reliable libraries that will aid them in creating their web pages or web applications through the use of cutting edge technology which will save them a lot of time. There are currently an enormous number of JS (JavaScript) libraries the will improve the more routine tasks like DOM manipulation and AJAX while leaving many functions as they are.
However, do not just focus on one utility library. There are many more functional JS libraries around that are sure to be a big hit in 2011.
If you are a person looking for powerhouse performance, then Head.JS library is well suited for you. Not only will Head.JS mimic the functionality offered by Modernizr, it will also load your scripts in parallel nature.
Another one is the mustache.JS. Handling data is made much easier using this simple, yet fully-functional JS library. It lets web developers fabricate a template then map it to their data and then run their code. Simple.
underscore.JS is similar to how jQuery works. For example, jQuery uses the “$” as its default mapping character while underscore.JS used the “_” character. This JS library is built for pure utility and offers a set of JavaScript methods without having the need to extend the local parts underneath the hood.
noSQL
noSQL brings a lot more sanity to your schemas than you think they could ever have. Up till now, your database must always implement relational models and be fully ACID compliant. However, there were occasions when you just want to store and have access to your data without having it to comply fully with the relational and ACID requirements. This is where noSQL comes in. It lets programmers and web developers alike store and access data with the lowest latency possible and excellent scalability. It allows massive read/write operations for applications.
Two of today’s most influential websites, Facebook and Twitter, both use noSQL. In facebook, the noSQL implementation Cassandra is now part of the Apache Foundation and powers the Facebook inbox search. The noSQL solution HBase is also used by Facebook to power up its messaging platform. Twitter is another influential social networking website that uses noSQL implementations. Twitter uses a mix of Cassandra and HBase for different purposes; Cassandra for the front facing applications and HBase for data mining, analysis, and analytics.
Serverside JavaScript
For the next few years, JavaScript will stay as an important language in web development. JavaScript has been content with only living in web browsers, but now, its use is becoming much more widespread and can be found in alternative applications. Interests and implementations in server side JavaScript has been growing in the past years, due to its fast engine to run code.
A good example of a serverside JavaScript is node.js. Its event-driven nature runs on a V8 engine, the JavaScript engine for Chrome. Node.js makes creating high performance applications such an easy task. While many others start a new thread everytime there is a new connection, node.js simply does an asynchronous operation which minimizes latency.
Better Unit Testing for JavaScript
JavaScript has lagging behind in unit testing when compared to other languages. And this is understandably so, as there is a lack of testing tools available. However, in 2011 we should see some significant gains in this department since many tools will be made available and will become a fundamental part of web development.
Some tools that will help web developers test their applications are QUnit, FireUnit, and JsUnit. Qunit is a product of the jQuery team and is a powerful framework for unit testing that will test any generic piece of JavaScript code. FireUnit is a Firefox extension requiring Firebug. It will provide a “test” tab to Firebug for you to access your tests and test results. JsUnit is another unit testing tool that is written purely in JavaScript and includes a platform for automating the tests executions.
True JavaScript Frameworks
In server side development, you can pick any language you want for your framework. However, in front end server side development, you would have to work with libraries rather than Javascript frameworks. When you build user interfaces for applications, DOM manipulation and other functions can be abstracted but they are only a small part of your big worries. You would also need to choose a template, UI and widgets, DOM manipulation, dependency management, and may other functionality. Luckily, the year 2011 might bring some aid to web developers, for there are now a number of frameworks that, even though not all encompassing, will provide a better front end development experience.
These frameworks include SproutCore and Cappucino. SproutCore is an Apple made framework that lets developers create desktop applications faster. Made up of 2 parts, SproutCore has a widget system that handles the UI parts and a value system that wires each part as you create them in order to reduce the amount of code needed to connect each of the UI parts. Cappucino is a framework created by 20North and now owned by Motorola. It takes a completely different approach and introduces a small and focused superset of JavaScript named Objective-J. Cappucino itself was built entirely on Objective-J, which is a comprehensive library ported from the Cocoa framework of Apple’s OS X.
Rapahel-esque Libraries for Canvas
IHTML5 has brought us the canavs element and has competely transformed the way we think about HTML graphics. With HTML5, you can have a low-level, per pixel control on the drawing area. This is a good thing when you are creating small images that need much better details. However, if you wanted to create a bigger image, you would not to do it per pixel because it would be time consuming and troublesome.
Some game libraries that are released recently might help in this area. They let you work at a higher level and don’t limit you in providing interfaces for shapes and other simple objects. Two such libraries are Processing.JS and Akihabara. Processing.JS will provide developers a high level interface to the Canvas element of HMTL5. It abstracts the initialization and other trivialities of the Canvas element so that you can create very good content. In fact, it is so powerful that it will even let non-programmers understand programming. Akihabara, on the other hand, is a library that is so extensive that it will let you orchestrate a game at a much faster pace. The library will help you not only in rendering, but also in collisions and input. Z-indexed objects and double buffering are also supported by this useful library.
And that completes the list of the web development trends to watch out for in 2011. We’ll check back in towards the end of the year to see how much progress and traction these technologies achieved.
Leave a Reply