The State of the Modern Web App Landscape
With so many tools, techniques, and industry trends crossing over into the mainstream, 2012 is shaping up to be one of the most interesting years in software development in a long while. The landscape is literally changing underneath us developers at the moment.
Businesses are finally allowing their applications and data out of the door and onto external infrastructure such as Amazon and EC2.
Cloud, with its ability to scale up and down has definite implications in how we design and build our applications for horizontal scalability.
A more agile infrastructure where developers and operations staff can requisition environments and servers as needed is indeed a brave new world.
Platform As A Service
PAAS is a natural evolution of cloud.
Though we can simply buy a cloud server on which to host our applications, it may also make sense to buy higher level platforms off the shelf that incorporate infrastructure such as application servers, databases, and messaging.
By using off the shelf platforms like this, this further reduces the plumbing code that we have to write and manage, allowing developers to get started faster and work at a higher level of abstraction.
With cloud and PAAS, people are talking about the merger of Development and Operations into a new field.
DevOps really places a label on a set of tasks that developers and system adminstrators may have previously found themselves doing, and introduced the notion of using code and scripts to automate these tasks & treat operations as a more repeatable activity.
NoSQL is reaching widespread adoption now, giving us some realistic choices of production proven data stores for our applications that offer real benefits over RDBMS.
We can choose databases that are tailored to the particular requirements of the application and store a database.
NoSQL datbases are also often inherently horizontally scalable.
Any new web application has to consider the range of devices that are accessing the sytem and code to support them. Mobile and tablet based access to the web is growing at an enormous pace.
This presents challenges to developers and designers who need to may need to explicitly render mobile views, support a range of different devices, and provide a good user experience to boot.
APIs and access to data continues to grow unabated. Most people signing up
Again in relation to mobile and diverge in frontends, there’s a requirement to seperate business logic and expose APIs.
Any modern web application needs to explicitly consider exposing the data as an API and JSON and REST are the weapons of choice.
HTML 5 represents a huge toolkit in helping us to build modern web applications
Gelocation and Offline storage in the mobile setting
A few years ago, most people would have been accessing the web and web based software via their laptops or desktop PCs.
Nowadays, they’ll be accessing via.