New technologies are always emerging in the scripting game. If you’re not up to date on Vue, React Hooks or Webpack, you will feel cut off from the mainstream. However, only new technologies are not enough. Programming always gravitates towards standardization. Every day, new ideas and features come into the code pool, and the ecosystem changes with every new addition. Some of which can be bright enough to shake the whole foundation of understanding.
There is indeed someone responsible for tracking and standardizing all these changes – the TC39 committee. They have the authority to alter the specification of the ECMAScript and they operate by consensus. A new proposal is made for a new addendum. It is then drafted into precise syntax, then the candidate is processed via further feedback and trial inputs. Only thereafter it is released officially.
Observing the present market, it is marginally secure to say that the future of scripting lies in UI standardization and component-based modularity of web apps. The up-and-coming compositional ideals will affect styling, testing, and stage management, and will ensure the project is further modularized. This will include various styling and state management technologies like ES modules and web components. Many more are added to the list every day.
The major API provided by these components is called Custom Element, which lets you create a personalized HTML tag or template and component-specific shadow DOM. The tools around this cool and crazy scripter are Lit-HTML/Lit-Element, SvelteJS, Bit, and StencilJS. They can let you create reusable components that you can share, develop and consume anywhere.
Who is to which framework will rule the JS ecosystem in the following years? No one is sure, but if the NPM downloads data is to be believed, you might want to bet on React. Hold your horses, though, because Vue is breathing on React’s neck, and in turn is closely chased by Angular. Who will win in 2020? Maybe you should go ask the framework-agnostic spaces who don’t give two rabbit tails’ worth about what framework they should run on. That’s going to leave a mark!
With frameworks like Bit, you can instantly pack up and reuse one or some of your components in one project to another project. Not only that, you can make changes in both projects on the same components, and they can be synchronized! If you’re a team working on multiple similar projects using Bit, their component hub called bit.dev can enhance your team’s code organization.
Using ES modules, which is the standard for working with modules in browsers, you can easily encapsulate functionalities into modules that can be consumed via CDN. After the release of Firefox 60, all major browsers will support ES modules and work is going on to add support for this to Node.js. You can attach this tech to your Bit resources and can create encapsulated standardized components for your projects, in the plural.
Projects like MobX are gifting something interesting from this perspective in terms of encapsulated components if you don’t go much for a global component store. Which might get obsolete in the coming years anyway. React is offering the new Context API and Hooks, which means you can bye-bye your third-party component libraries and manage the states at the component level.
In the coming five years, our component development system should include both logical and theming components which can be composed together in a Bit-like fashion. This forgoes the need for a cumbersome 3rd party library and your design system will be like a live, evolving creature. Combines with Bit, design tools like Figma will make the ultimate arsenal for styled-components.