Future of Web Development

Future of the web development industry

The other day I was having a chat with James one of the other instructors and we were discussing the differences between desktop and web application programming. James is predominately a c# desktop/server developer so I was surprised when he agreed with me on something which seems fairly obvious now that I think about it. Let’s flip the title of this Article around…

‘Web development is the future’

Desktop can do things that web can’t yet but mostly those limitations are down to ‘centralisation’ of resources and performance, both of them will become less of an issue as the performance of internet connections and computers and browsers grow. So let’s have a look at some of the future aspects of web development…

1) Some data access will move to the browser with HTML5 Storage

One of the key drawbacks with web development is always the lack of ability to store and persist data across multiple browser sessions. Okay you can use ‘cookies’ but they are relatively insecure, they don’t persist well across multiple sessions and they get cleared easily. Enter ‘HTML5 Storage’ an isolated storage mechanism which allows much larger storage amounts (up to 5MB), won’t disappear when the user clears their cache.

2) Long polling and MVVM will become common place with frameworks such as node.js and knockout.js

The web is becoming fast! People are fickle and in the modern age they will wander if it doesn’t perform. So writing Ajax enabled web applications where the user doesn’t have to wait for a long time for response as they interact is good. In situations where you have controls that need to perform fast Ajax is always a good solution. This means a control that does not need to refresh the entire browser it will use JavaScript to just reload certain sections.

In situations where even faster response is needed frameworks like node.js will be used. Essentially these frameworks allow you to connect to JavaScript on the server side, the benefit is that the server side code does not block the main thread of execution this allows connections to be held open until something important happens. This would be applicable to something like a mail or chat application, where you need to know immediately if something has changed but you don’t want to keep having to send and receive data.

3) Design will become a first class citizen

There is only one place that materialism matters and that’s web development! For many years web development has been stuck on the idea that it’s acceptable to create apps that don’t look great. This approach might have worked and may still work now but we have definitely witnessed an emerging trend. Flat design (as opposed to skeuomorphism) and nice fonts is a design trend focused around getting away from embossed and gradient led design to a more simplistic nature with clean lines. The windows metro design was a good example of this. I haven’t seen many examples of this design trend where it isn’t coupled with responsive design (a word used to describe the behaviour of an application that runs across all browsers and scales to any size).

4) Cross browser issues will become less of a problem for web development

Over time browsers move toward the same standards. For example Chrome and Firefox supported their own implementation of Gradients. IE didn’t but then as Gradient became a part of the HTML 5 specification they all now implement it. Along with Jquery (which hides browser inconsistencies) it is becoming easier for web developers to ‘write once’ and deploy confidently to many browsers.

5) High level abstractions for CSS and Javascript will become commonplace

Having a fundamental grasp on CSS and Javascript is a must for any web developer. But high level languages for them are becoming more common. SASS and Coffescript are both tools that render CSS and Javascript respectively but it allows the developer to create cleaner and more meaningful expressive code. The two other common alternatives are Typescript and Less.

6) Code inspection and editor/browser integration will become more advanced meaning greater understanding of code base

Visual Studio is now becoming very powerful. Not only does it support very tight integration with debugging javasctript on a browser it also allows you to do neat things to inspect server side C# code such as ‘peek’ and ‘codelens’.

Author: Peter Heard