Frontend Engineering in 2017: A Year of Stabilization
As we reflect on the past year in frontend engineering, it’s clear that the landscape has undergone significant changes. While the pace of innovation remains rapid, we’re seeing a trend towards stabilization, with popular libraries and frameworks solidifying their positions.
Frameworks: React Dominates, Vue Surges
In the battle of the frameworks, React continues to lead the pack, with a significant gap between it and its closest competitor, Angular. Meanwhile, Vue.js has experienced explosive growth, becoming a premier frontend view framework alongside React and Angular.
ECMAScript: Shared Memory and Async Functions
The 2017 edition of the ECMAScript specification introduced groundbreaking features like asynchronous functions and shared memory and atomic operations. These innovations will have a profound impact on JavaScript development, enabling near-native performance for JavaScript applications and games.
WebAssembly: A New Era of Performance
WebAssembly (WASM) provides a way to compile code written in other languages to a form that can be executed in the browser, offering near-native performance. With all major browsers now supporting WASM, we can expect to see significant growth in its adoption and development.
Package Managers: NPM and Yarn Lead the Way
2017 was a great year for JavaScript package management, with NPM and Yarn emerging as the dominant players. Yarn’s introduction of lock files and offline mode has set a new standard for package management, while NPM’s v5 release has significantly improved performance.
Stylesheets: PostCSS and CSS-in-JS Solutions
PostCSS has become the most popular CSS preprocessor, offering a modular plugin approach that has made it a favorite among developers. Meanwhile, CSS-in-JS solutions like styled-components and Aphrodite have gained popularity, allowing for componentized styles and easier development.
Module Bundlers: Webpack Remains King
Webpack remains the most popular module bundler, with its v2 and v3 releases introducing important features like ES6 modules and tree shaking. However, Parcel and Rollup are gaining traction, offering alternative approaches to module bundling.
TypeScript: The Rise of Type Safety
TypeScript has solidified its position as the preferred type system for JavaScript, with its rapid release schedule and fine-tuned type system making it an attractive choice for developers.
State Management: Redux and MobX Lead the Way
Redux continues to dominate the state management landscape, with its explicit state management and transactional architecture making it a popular choice for complex applications. MobX, however, is gaining ground, offering an automatic state management solution that is easy to use and integrate.
GraphQL: A New Era of API Development
GraphQL has emerged as a powerful query language and runtime for APIs, offering a more descriptive and easy-to-use syntax for reasoning about data sources. Its popularity is growing rapidly, with many client and server implementations available.
The Future of Frontend Engineering
As we look to the future, it’s clear that frontend engineering will continue to evolve at a rapid pace. With innovations like WebAssembly, GraphQL, and TypeScript, we can expect to see significant growth and adoption in the coming years.