Friday, 25 May 2012

Web application development is transforming, but that doesn't mean everything has to change


The way we build web and mobile device applications is changing fundamentally. What this change is - in a nutshell - is application code moving from the server to the client. The server being big computers sitting in a data centre somewhere and the client being a modern day browser. To explain this further, let’s call the old way of building web sites as web 2.0 and the new way as web 3.0.

In the past, when web 2.0 was all the rage, web sites were built with a lot of server side code written languages such as c#, php or java. This code ran on various web server application platforms such as Microsoft ASP.Net. The code ran on the server and spat out HTML which was rendered on a browser and allowed the user to interact with the application. There was probably was a bit of JavaScript but none of which was essential to the application doing what it needed to do.


With Web 3.0 the application code is now predominantly written in JavaScript, runs inside the browser and it is responsible for spitting out the HTML and allowing the user to interact with the application. If there is server side communication required, the JavaScript will make a call to web friendly web services.

The catalyst of this change is threefold:

The first is the evolution of web technologies. The emergence of CSS3 and HTML 5 with new features such as a drawing canvas, drag and drop and media play back allows the creation of beautiful looking, feature rich user interfaces.

The second is the appearance of smart devices. Developing applications that can work on a lot of little computers sitting in pockets and handbags is very time consuming, expensive and difficult. This is why cross platform technologies like Phonegap, Monotouch and Adobe Air are great options if you want to economically build for the plethora of devices out there. Phonegap, for example, leverages HTML5, CSS and Javascript as the application and user interface technology stack. The tech industry are quickly realising the capabilities of these web technologies which is fuelling their growth and development.

The third is processing power. Desktops and Smart Devices all have powerful computing and processing capabilities. The latest Samsung Galaxy S3 has a quadcore processor which is unfathomably powerful for such a wee trinket. These tiny powerhouses have created fat (phat) clients which have an abundance of resources available with which we can build really cool stuff which works really fast.

Given all this change and evolution there is a lot of uncertainty in the development community. I’ve spoken to HTML and Javascript developers who look daunted at the prospect of building complex, single page applications in Javascript on a variety of development frameworks like Knockout, Backbone, Sencha and JQuery - which themselves take a while to understand and get to grips with. Some don’t want to go down this road and want to stick to building great, semantic markup and styling lovely user interfaces.

I’ve also spoken to server side developers (C#, Java, PHP) who feel that they are losing ground to this bolshy upstart that is Javascript.  They are unsure about their place in this new world and watching the amount of code they write dwindle rapidly.

I’ve thought about these concerns and here is my perspective on this paradigm shift.

Front end development will never go away 

There will always be a place for front end development without the need to get to grips with complex application development. In this brave new world, there will still be HTML and CSS developers who need to create the templates which are integrated into the application. They may be integrated using JavaScript as opposed to ASP.Net Web Forms or ASP.Net MVC, but that division of labour and skills will always be there.

Application Development will never go away

Whether you write an application in JavaScript or C#, you still need do the same things. You need to know about design patters, unit testing, object orientation, abstraction, logic, separation of concerns and ultimately enjoy writing code. All server side developers need to do is start writing  JavaScript  and applying what they know to this new framework. JavaScript developers who enjoy writing code are in a great place as this transformation has created an abundant need for their skills.

As a serverside developer myself, I’m excited about the emergence of these technologies and look forward to saying ‘Hello World’ in JavaScript.

19 comments:

  1. Web 3? Web 1 was the serverside serving up mostly static HTML and assets. Web 2 was the advent of "web apps" where javascript plays a much bigger role (thanks to ajax and the proliferation of decent libraries) - amongst other trends like user generated content. Web 3 hasn't happened yet but look at the semantic web for an idea of what it might be...

    ReplyDelete
  2. Nice post. I learn something more challenging on different blogs everyday. It will always be stimulating to read content from other writers and practice a little something from their store. I’d prefer to use some with the content on my blog whether you don’t mind. Naturally I’ll give you a link on your web blog. Thanks for sharing.

    ReplyDelete
  3. Well, this information is pretty good for all those who want to work any Web Application Development Company in the world. Once they Hire PHP Mysql Developer for their projects then they will learn lots of things from it.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. web application development is not only all regarding how a site looks. It is more on how it can be purposeful and have greater performance.

    ReplyDelete
  6. Build up your online persona with our proficient Custom Web application development with well oiled maintenance process for websites.

    ReplyDelete
  7. This comment has been removed by a blog administrator.

    ReplyDelete
  8. This comment has been removed by a blog administrator.

    ReplyDelete
  9. This comment has been removed by a blog administrator.

    ReplyDelete
  10. May it be creating an ecommerce store, a web application Web Application Development Company or a responsive design, web development experts of Capanicus satisfy every business requirement.

    ReplyDelete
  11. Website development is the main for a website which is to transform a web design to explore as live website to the business.

    Website Design Company Bangalore | Website Development Companies Bangalore

    ReplyDelete
  12. Simply wish to say that your article is as remarkable. The clarity to your put forward is just impressive
    and i can believe you’re a professional on this subject. All right, along with your acquiescence allow me to grab your RSS feed to stay up to date with forthcoming post. A lot of business entrepreneurs are in the hunt of facts about Web Application Development that we can find here…

    ReplyDelete
  13. This comment has been removed by the author.

    ReplyDelete
  14. If you have an website for your business, or if you have a plan to develop one in the near future, it is important to understand the basic characteristics that can make or break the effectiveness of your online investment.

    Web Designing Companies Bangalore | Website Designing Company Bangalore

    ReplyDelete
  15. Awesome this is great wonderful information.. I am impressing thanks..

    ReplyDelete
  16. For best and cheap manual Seo services, Web designings. Must check Visit My Web Site

    ReplyDelete
  17. Awesome article, it was exceptionally helpful! I simply began in this and I'm becoming more acquainted with it better! Cheers, keep doing awesome! New Tab To-do List

    ReplyDelete