Тренды разработки на js 2019

Завершился опрос State of JavaScript 2019, в котором приняло участие 21,717 респондентов из них: США(4509), Канада(757), Россия(642), Украина(402), Польша(575), Индия(548), Китай(247), Австралия(456) и др.

Исследование доступно по ссылке - https://2019.stateofjs.com/, а мы сделали краткий обзор самых интересных вещей в исследовании.

Javascript не стоит на месте, а постоянно развивается, и функции, которые появились в последнее время мы активно используем уже сейчас для написания кода. На диаграммах ниже видно самые используемые api.

Front-end Frameworks.

На сегодняшний день лидерство за React, но его поджимает новый компонентный фреймворк Svelte, который в отличии от React не использует diff virtual dom, а компилирует код в VanillaJS и через новый функции слежения и обновления dom действует напрямую. Svelte не нагружает браузер этими преобразованиями  и не засоряет garbage collector, и уже на этапе сборки создает код, который может обновлять DOM. По скорости VanillaJs, как мы показали в статье Оптимизация загрузки сайта. Jquery vs VanillaJS нет равных. И кстати, все виджеты Cackle написаны на VanillaJS именно для максимально быстрой отрисовки элементов.

Хорошо прослеживается снижение интереса к Angular, несмотря на все обновления и стремление использовать новое js api.

Data Layer & Back End Frameworks.

Nextjs, Nuxt, Gatsby неуспели появится и уже сразу завоевали удовлетворенность и признание разработчиков. По Gatsby у нас есть отличная обзорная статья - https://blog.cackle.me/gatsby-js/

С этими фреймворками для передачи и управления данными используются graphql и apollo.

Mobile & Desktop.

Electron, ReactNative, NativeApps, Expo, Ionic, Cordova

Самым популярным фреймворком для создания десктопных приложений стал Electron, для мобильных приложений ReactNative. По моему мнению они используются в прикладных приложениях с небольшими командами, а для серьезных приложений, игр нативная разработка выигрывает.

Вообще для того, чтобы понять, что происходит на рынке мобильной разработке и актуальных подходов и инструментов я советую подписаться на https://iosdevweekly.com - еженедельная рассылка в которой разработчики рассказывают о реальных кейсах в мобильной разработке.

Еще один тренд, который не попал в исследование это реактивное функциональное программирование и библиотека RxJS http://rxjs.dev/.