2006 proved to be another interesting year for technology and the world of development. Unlike last year, I believe that some of the finalists for Developer.com's Technology of the Year may surprise you. In 2006, there were big releases related to Java as well as major products from Microsoft. Big players in the development industry were active.
Even with big releases, it was a number of more general and a lot of lesser-known technologies that got the nominations from those visiting Developer.com. When the nominations were reviewed and the results evaluated, the finalists were an interesting cross section of technologies:
- Ruby on Rails
When the voting started, it should surprise few that it was a landslide victory. For the second year in a row, AJAX took top honors. Although Virtualization put up a battle last year, this year, there was no competing against AJAX.
And the Winner Is: AJAX
The results of applying AJAX to a web site are generally a much richer user experience that allows dynamic interactions previously thought to be tied to desktop applications. This includes the ability to display or hide information, to zoom in or out of graphics or pictures, to allow for dragging and dropping of content, and more. But more importantly, it allows for these features without requiring full page refreshes and without necessarily requiring the delays while you wait for a request to go back to the server before happening—this is all done without the normal delays or notable trips back to the server.
When AJAX won last year, we listed a number of sites that were currently using the technology. Those sites, along with many others, continue to use AJAX. Additionally, a number of additional products have since released that help developers incorporate AJAX into their applications. Most major development companies ranging from Sun to Microsoft to IBM have released products that help with AJAX development.
As stated last year, AJAX is not an "all powerful" tool, nor is it the right technology to use for everything. Even so, it has been shown to be a technology that can be used to bring new levels of usability to web applications without the need to incorporate proprietary technologies. Rather, it uses some of the simpler technologies that have been standardized and are readily available.
James Garrett wrote a good article about AJAX. In addition to his article, there have been a number of articles related to AJAX posted to Developer.com. This list will get you started:
- On Demand : The Business Case for AJAX
- Will AJAX Replace the Desktop?
- Measuring the Benefits of Ajax
- Keeping Up With The Ajax Trend
- AJAX: Asynchronous Java + XML?
- Controlling layout in AJAX web applications using the GWT and Java
- Creating Ajax Web Applications Using the Google Web Toolkit (GWT) and Java
- Developing Ajax Web Applications using ThinWire and Java
- Raising the Team Collaboration Bar with AJAX and JSF
- Speeding Up AJAX with JSON
AJAX won by a landslide, but there were other technologies that made it to the finals for Technology of the year. These were:
- Ruby on Rails
Virtualization was a finalist last year as well. Although this technology completed quite heavily last year as a finalist, this year AJAX simply dominated. As such, virtualization played as a far away second place finisher.
Virtualization at it simplest is being used to make multiple systems look and operate like a single system as well as being used to make a single system look and operate like multiple systems. With the increasing power of processors along with more multi-processor and multi-core processor systems being put into use, the idea of using virtualization to tap into the power of the processors is making more sense.
I wrote on virtualization when it was a finalist last year. The concepts behind the technology have not changed. If anything, more people are using virtualization and the software supporting it from companies such as VMWare and Microsoft is getting better. In addition to getting better, a lot of the entry-level virtualization software has gotten cheaper or gone free. This has only helped to increase the usage of the technology.
Versions of Windows Vista that recently released even include virtualization software. By using virtualization techniques, Windows Vista is able to ensure that older applications can still run. Additionally, Windows Vista Enterprise and Ultimate Editions includes Virtual PC Express software that lets a user run additional copies of a number of other operating systems within Vista virtually.
Ruby on Rails
To quote Jim White, instructor for Intertech Training, "Wow! In a word, that was my first reaction to developing my first Web application using Ruby on Rails."1
Ruby on Rails (RoR) is a framework for Ruby that is based on the Model-View-Control pattern. Ruby is already hyped as a simpler-to-use language. Combine this with a framework aimed at making web site development with back-end databases as easy as possible and you are sure to catch some attention.
The RoR framework does allow a developer to quickly develop web applications within a Ruby environment. Additionally, RoR runs on a number of different servers such as Apache, Lighttpd, and Mongrel. Additionally, it can work with a variety of databases ranging from MySQL, PostresQL, Oracle, SQL Server, and DB2. The low number of lines of code needed along with the availability on a number of platforms are among many of the reasons RoR is being used.
David Heinemeier Hansson is credited with having created Ruby on Rails. Although version 1.0 was released in December of 2005, according to Wikipedia, the product actually released to the public in July of 2004. Version 1.1 was released in August of 2006. In the short time since its initial release, it has caught a lot of attention.
You can find numerous articles online, including "Ruby on Rails: All Aboard the Fast Train to Web Application Development" from Developer.com as well as Ride the Web Application Express with Ruby on Rails by Jim White on DevX.com. If you read a few of these articles and take some time to play with Ruby on Rails, you are likely to quickly find that the ability to create database-driven web applications, quickly and with just a few lines of code, warrant its having made it as a finalist for a lot of developers.
Ubuntu may seem like a strange technology to find as a technology of the year; however, it may be less strange when you consider what Ubuntu represents. Simply put, Ubuntu is a complete Linux operating system. Not only that, but it is relatively complete and it is free. It contains most of the key applications and features that the average person would want on a computer. Not only that, but these applications are graphically pleasing and no harder to use than many of the applications used on Microsoft Windows systems. Support exists for standard Intel x86 architecture PCs as well as 64-bit systems, Sun UltraSPARC and T1 systems, PowerPC systems, and OpenPower architectures.
The core operating system for a desktop installation will fit on a single CD. If you want to install the complete Ubuntu system, you are looking to include more than 16,000 pieces of software.
There have been numerous Linux builds. Ubuntu builds on Debian and focuses on making things simple as well as providing regular and predictable releases. This, combined with no cost for the software or for licensing charges, makes this Linux distribution one that can be put on a computer that could be used by anyone.
Ubuntu is a product that shows promise as a no-cost, true alternative to Microsoft Windows. Some distributions of Ubuntu will allow you to boot to a CD, thus making it really easy to review. If you want to see for yourself, you can download it and see.
As a technology, Ubuntu is an evolution of Linux. With Ubuntu, Linux no longer seems to be just the domain of techies and geeks, but is not something you could put on your non-technical friend's machine. That makes it a technology worth noting and thus a part of the reason it made it as a finalist.
JSON is not perfect and has a few issues3. It is currently being hotly debated against existing standards such as XML. It will be interesting to see whether JSON makes next year's Developer.com finalists or if it disappears as being too disruptive a technology. Either way, Sean Kelly's article "Speeding up AJAX with JSON" is a great place to start learning more about taking advantage of JSON now.
- Ride the Web Application Express with Ruby on Rails by Jim White on DevX.com
- mikechampion's weblog, "The JSON vs XML debate begins in earnest"
- Wikopedia: JSON
About the Author
Bradley Jones is an Executive Editor focusing on Software Development topics for Jupitermedia. He has been recognized in the industry as a Microsoft MVP and as a bestselling author. His books include Sams Teach Yourself the C# Language in 21 Days, Sams Teach Yourself C++ in 21 Days, and the upcoming Vista Bible Desktop Edition.
# # #