Frank Sommers
Posts: 2642
Nickname: fsommers
Registered: Jan, 2002
|
|
Re: Where is Software Development Heading in 2007?
|
Posted: Jan 2, 2007 11:31 AM
|
|
Here are my predictions for '07:
Virtualization will become even more mainstream. On both the desktop and the server, it will be increasingly common for people to run multiple OSs. I noticed how big virtualization could be in 2006 when I finally found a way to run Linux on my laptop via VMWare. I also understand that Parallels was one of the most popular software packages on the Mac in 2006.
The benefits of desktop virtualization for developers goes beyond testing - it really means that now even more than before we can use the best tool for any given job (Linux/FOSS tools + Windows utilities, etc), and we don't need to make compromises and trade-offs based on platform. It also means a less cluttered work environment (there is little need any more to have more than one machine around).
Amazon Web Services will really change what people focus on in application development. AWS's impact goes beyond just being a nice server virtualization platform: For the first time, anyone can build Web applications with the confidence that data managed by that application can be kept alive continuously. This is because of the way Amazon combined their S3 storage service with their EC2 compute farm, and the incredibly affordable pricing of their service.
First, this opens up the possibility for anyone, even a one-man company, to become a serious contender in providing Web-based apps even to enterprises. For less than the price of a tall Starbucks latte a day, not only can you get your totally custom-configured Linux server, you also get Web connectivity (at 250Mb/s at that), and have access to storage that, for all practical purposes, is as reliable as you could ever build yourself.
Second, the way Amazon priced this service means that you can scale your application horizontally to a pretty large capacity by adding more servers when you need them. Instead of focusing on architecting an app from the start with scaling in mind, you can pretty much start with any stock architecture formula, and just scale by adding more servers until you pretty much know whether your app is a huge success (when you can afford to invest in a re-write to scale even more) or if it just never needs to scale beyond capacity afforded by some stock architecture design.
This will likely be a watershed year for Swing and other rich-client UI toolkits. As more and more types of applications will rely on server-based data - and less on storing data locally - developers will need to make a decision of whether to provide a browser-based UI or a desktop-like UI with Swing, etc., to that data.
Browser-based (Ajax) UI toolkits are rapidly gaining in quality and features, but so does Swing, and Swing still beats all the Ajax toolkits hands-down in every way, except in deployment. The resurgence of the applet maybe wishful thinking, but by the end of 2007, Swing will either gain its rightful place at the table of UI toolkits for Web-based apps, or it will recede into niche status. (I root for the first possibility.)
Ruby and Rails will gain even more momentum. Between the release of Rails 1.2, a fresh edition of Agile Web Development with Rails, the emergence of JRuby, and services like Amazon's EC2, many people will find that Rails more than meets the requirements of their applications and, while not a panacea, does speed up development.
Seam will emerge as one of the main ways developers tackle Java enterprise applications, especially those using JSF.
Due to the emergence of high-quality frameworks, e.g., Rails, Seam, etc, developer discussion will center increasingly on code quality as opposed to, say, frameworks or architecture (those, in turn, will increasingly be considered "solved" problems). This will also be fueled by the release of increasingly better and better code-quality tools.
|
|