Early in my consulting career several of my colleagues and I attended a training session in Chicago, and during dinner one night our division’s partner said something I’ve never forgotten. “If you want to make money in web application development,” he said, “just stand in a forest and shout JAVA, JAVA, JAVA, and investor money will start to fall out of the trees.”
Maybe a bit simplistic, even silly, but at the time it made a certain kind of sense. For anyone who knew Java inside and out, web application projects seemed to be cropping up just about everywhere.
But times change, of course, and while Java has continued to maintain its relevance in the marketplace, much of the rest of the web application ecosystem has changed quite a bit. Back when we had that dinner with our partner (not so many years ago), few of us would have imagined that Python, the Ruby on Rails framework, and other developments in languages and web app development were just around the corner.
What’s Happening Now: Trends Impacting Web App Development
An ever-changing landscape in both personal and business computing is something we’ve become accustomed to—the device we buy today or the apps we use in our everyday life will soon be outdated, replaced by something better, faster, easier to use. That said, it’s difficult to imagine a period when the technologies we use have evolved as quickly as it has in recent months.
And with the demand for newer, better mobile experiences and an increasing emphasis on rapid, simple application development, application developers must continuously adapt to new changes. The toolbox of frameworks, languages, and the kinds of apps they build is constantly evolving. And among the most impactful of the current trends driving this evolution are:
Everything mobile – The PC may not be dead (at least for a while yet), but with smartphones getting smarter and more powerful and the exploding popularity of tablets, moving the universe of user experiences to a mobile platform has become a priority for businesses, educational institutions, and other organizations.
- HTML5 –Write once, run anywhere. It’s a very compelling and cost-effective mantra for organizations who want to build or market their web apps across multiple platforms (vs. coding and maintaining multiple native apps). There seems to be a consensus that HTML5 will supplant most native apps in the near future, but how long this may ultimately take is still being debated.
- Cloud-based apps – As the cloud’s attractive proposition of low-cost deployment, flexibility, and update automation becomes more popular, app developers face a new set of challenges. Lew Tucker, Sun’s CTO of Cloud Computing noted that “Different parts of an application might be in many places in the cloud. For example, a presentation layer might be on Facebook, storage could be on Amazon.com’s S3, and application logic could run somewhere else entirely…Before, people would just develop the entire app on their own servers.”
- The growth of mobile apps and the ‘everything to the internet’ movement means that the popularity of web-based development environments like Cloud 9 and Eclipse Orion will continue to grow.
The Future for Web App Developers Is Wide Open…or Is It Proprietary?
While the pros and cons of open source vs. proprietary software and development frameworks are nothing new for developers, they may be worth re-visiting in the current context of the mobility movement and cloud computing
Open Source – The Pros:
- No cost for source code acquisition
- Source code availability allows for 100% customization to project specifications
- The community of developers ensures ongoing updates and improvements
Open Source – The Cons:
- Documentation can be lacking
- Proprietary software typically has stronger support from hardware vendors
- Perception (rightly or wrongly) of support gaps and security issues
The popularity of open frameworks like Ruby on Rails has shown that open source can deliver reliable, cost-effective, and (yes) secure solutions. But can this success translate to the new world of the cloud and the mobility movement? We may not know that answer for a while, but VMWare’s 2011 acquisition of WaveMaker, an open-source, cloud-based development platform, is surely a positive signal for open source web app development.
So what do you think the future holds for web application development? I welcome your thoughts and comments.