What 2010 holds for the web
In a timely fashion, as we’re closing the end of this year, I would like the opportunity to make some predictions for the coming year. Being keen on web related technologies, these claims will almost exclusively be centered around this.
Last year’s predictions
I had a peek at what I predicted for 2009 and I would say it held true for every one. The list from last year said that document-oriented databases, cloud applications, functional languages and XMPP will come around. And surely, they did. Erlang, Scala and Clojure made great advancements together with document-oriented databases, such as CouchDB and MongoDB. XMPP finally gotten its acceptance through Google Wave. Perhaps predicting that more applications would be cloud-based was a no-brainer. Despite that, 2009 was the year I stopped fiddling with MP3s, stopped worrying about e-mail and trusted my source code to a third party.
Ok, enough retrospectives. Taking a stab at what 2010 will bring for us, would in my opinion be:
Server-side JavaScripting
The idea that you actually could run JavaScript not only in the browser but also server-side isn’t that revolutionizing. However, the past year brought us V8 and node.js, making server-side JS much more approachable. Use of JavaScript in CouchDB and MongoDB also establishes it as a ubiquitous language. In short, it’s here to stay on the server-side. In 2010 I think we’ll realize that JS can be used for other things than form validation. Perhaps your entire web application will be written in it. Fully JS based web frameworks? Absolutely, will appear the coming year!
The real-time web
Just over the last six months, the hype around real-time and what it brings to the table has been enormous. Not unfound, mind you. Making user experiences more interactive by a shorter action/response cycle is a natural progression. In the coming year we’ll see an increased demand for real-time in areas such as search, collaboration and social media. Google Wave is a trendsetter in all of this but the big thing hasn’t happened yet. Co-incidentally, real-time is what we eat and breathe at ESN :)
Web and desktop applications merges
Browsers are increasingly becoming more capable at displaying desktop-like behavior. HTML5 brings lots of exciting features helping bridging gaps, unfilled for way too long. However, there are some things that browsers yet aren’t capable of. Heavy multimedia for instance. Displaying intense graphics or interfacing with low-level machinery is a bottleneck. Despite these limitations, we’ll see an increasing trend in 2010 where traditional desktop applications will creep into the web browser. But - without sacrificing any user experience brought through it’s desktop heritage. These applications will simply integrate themselves tightly in browsers and on to the web. Bringing the best of worlds together.
A flourishing JVM
Language implementations that targets the JVM as a platform are quickly becoming more prominent. Python’s implementation, Jython, passed a milestone when they released 2.5 in 2009 and JRuby is now even faster than Ruby MRI 1.9 in many cases. Good times indeed. Other alternative JVM languages such as Scala, Groovy and Clojure continues to thrive on the platform. Hopefully, more people will learn the benefits of a true virtual machine in 2010. As a side note you may know that this is something of a pet peeve of mine :)
MongoDB skyrockets
Another prediction, perhaps an obivous one, is that the adoption rate of MongoDB will simply explode in 2010. It addresses so many pain points for your everyday web developer that it will inexorably steal market shares from traditional RDBMS (read: MySQL). Personally I’m actually amazed at what the MongoDB team has achieved over the past year. Considering its production quality, state of documentation and sharding support - it’s impressing. That’s pragmatism in action! :) On the contrary, I wouldn’t be as quick appointing it as the winner in the “NoSQL battle” though. All NoSQL stores have different properties. MongoDB waive this others waive that. Put in other words, horses for courses.
That’s it. See you next year!