Frameworks in Javasripts make your life easy.
A Javascript frontend framework encapsulates libraries, code structure, tools and utilities. What a framework contains is left to the philosophy of that framework and the community built around the framework.
Javascript world today has numerous frameworks that are company or community maintained. We will delve further in that topic, but first..
A bit of History
Web developers did not have an exciting life until mid 2000s. That is when Google showed the world what Javascript could do with Gmail and other Google applications.
Javascript revolutionized the way we thought about web. The interactivity in web pages, dynamic behaviour that can be used to personalise user content, and the ease of managing data-driven websites made Javascript invaluable.
At the same time, what Javascript did was simple enough. It manipulated the Document Object Model (DOM) so that the browser can now respond to user and not be in stasis at all times. (yes, stasis that is static).
The oldest library that I fondly remember of is jQuery. The library came with a million utilities that were exposed through APIs that the developers could use to change web page behaviour. jQuery provided methods to traverse through DOM with quick commands, manipulate them, respond to user actions and events, and iron out differences between different browsers at a time when poor standards were the norm.
Then came frameworks like Angular, Backbone, Ember, etc., which are now known as first batch of ‘modern’ frameworks. These frameworks competed to make the developers life much much easier, and build larger scale applications that could be maintained.
Many such libraries developed in the past like jQuery, Ember and Angular continue to be supported, have a huge fan base, and continue to improve. However, as in life, people do tend to switch to alternate options sooner than later - especially when the alternatives offer much more by avoiding baggage from the less exciting period in history.
The State of Frameworks Today
The web and Javascript have evolved fast in the last decade, and continue to make huge leaps in what is possible in web applications.
Javascript today is chock full of frameworks, facilitating everything from frontend interactivity, backend functionality using NodeJS, and native-like desktop & mobile applications.
Frontend applications continue the tradition of providing excellent user experience for users on internet. While we can talk eloquent on their magic, they ‘still’ manipulate DOM more or less like in the yore. There has been rapid progress, no doubt -
- Web standards and Javascript standards evolved. It became easier to write standard code that runs in all browsers
- Enable writing code at scale
- Improved async behaviour that greatly enhances user experience
- New, improved ways of interacting with DOM that make applications faster - including brilliant ideas like virtual / shadow DOM updates popularized by libraries like ReactJS
At the heart of all that, we need to understand that the frameworks abstract the complexity thereby enabling faster development of performant applications.
Is it possible to build cool projects without frameworks?
You can have a life in Javascript without frameworks but using one is like having a fast car. You can walk to the pyramids, sure, but why do that when you can drive?
Frameworks give you building blocks to create a modern web application. They literally build on top of giants - web standards, learnings from other projects, best practices et. al.
You will still do the work (= drive the car), and will be capable of crash & burn - but it is more likely that you will succeed reaching the destination . The safety, speed and comfort can make you wonder on just how could you live so far without those ‘essentials’.
I am super excited. Where do I start?
Learn Vue.