January 21, 2016
Another year passes and I'm left wondering what has changed in the world of web programming. In such a fast paced profession its easy to ignore new developments and stick to what you know. To avoid becoming an antiquated dinosaur, I try to keep on top of the cutting edge of code as much as possible.
APIs (Application Programming Interfaces)
The biggest paradigm shift in my opinion is the focus on API development. Modern apps and services are being ported to multiple platforms (mobile, web, etc.) from inception. This means that apps start their development phase with the need for a generic communication system that works on all platforms.
APIs meet the requirements of this use case perfectly. They allow communication with servers through structured data requests and responses (usually JSON or XML). APIs are also often built using a predefined specification for the sake of simplicity and familiarity.
API driven apps also positively influence development practices. This makes a complex app less difficult to build upon and maintain. Service providers on the web (Stripe, Twitter, Mailgun, etc.) often provide APIs with programming language wrappers to make interaction even more straightforward based on the idioms of the language.
MVW (Model View Whatever)
With the web as we know it in flux, it is clear that client side code has to become smarter. In API driven apps, it is no longer the server's responsibility to organize and serve everything to the client. The client has to know what to do with raw data received from a server.
MVW frameworks help solve this problem by automating and streamlining tedious aspects of client side development. MVW frameworks implement several patters (MVC, MVVM, and MVP) in one convenient package so your view logic can stay DRY. Many different MVW solutions are available that offer any number of these patterns (Angular, React, Knockout).
The Static Web
When first learning about web frameworks (Rails, Laravel, Spring, etc.), I thought that all encompassing solutions were the future. I have since learned that going back to the basics with static content has its uses. API driven apps have caused front ends and back ends to become decoupled, giving your front end the ability to become purely static.
Developers have since reminisced about how easy it was to build applications with full stack solutions. Through this newfound pain of static web development came the concept of a static website generator. Static web generators are essentially micro web frameworks that provide templating and asset management to static webpages.
As you can see, APIs are changing the way we develop our apps. They have undoubtedly caused a rippling effect on the present and future of the web.