Фреймворки
Введение в клиентские фреймворки (client-side frameworks)
Какие существуют фреймворки?
Существует множество фреймворков, но в настоящее время большой четверкой считаются следующие.
Ember
Ember был выпущен в декабре 2011 года как продолжение работы, начатой в проекте SproutCore. Это более старый фреймворк, у которого меньше пользователей, чем у более современных альтернатив, таких как React и Vue, но он по-прежнему пользуется достаточной популярностью благодаря своей стабильности, поддержке сообщества и некоторым разумным принципам кодирования.
Angular
Angular - это фреймворк веб-приложений с открытым исходным кодом, созданный командой Angular Team в Google и сообществом частных лиц и корпораций. Это полностью переработанный фреймворк от той же команды, которая создала AngularJS. Официальный релиз Angular состоялся 14 сентября 2016 года.
Angular - это компонентный фреймворк, использующий декларативные HTML-шаблоны. Во время сборки, прозрачно для разработчиков, компилятор фреймворка преобразует шаблоны в оптимизированные инструкции JavaScript. Angular использует TypeScript - надмножество JavaScript, которое мы рассмотрим более подробно в следующей главе.
Vue
После работы над оригинальным проектом AngularJS и изучения его опыта Эван Ты в 2014 году выпустил Vue. Vue - самый молодой из большой четверки, но в последнее время он переживает подъем популярности.
Vue, как и AngularJS, расширяет HTML с помощью некоторого собственного кода. В остальном он опирается в основном на современный стандартный JavaScript.
React
Компания Facebook выпустила React в 2013 году. К этому моменту компания уже использовала React для решения многих своих внутренних задач. Технически React сам по себе не является фреймворком, это библиотека для рендеринга компонентов пользовательского интерфейса. React используется в сочетании с другими библиотеками для создания приложений - React и React Native позволяют разработчикам создавать мобильные приложения, React и ReactDOM - веб-приложения и т.д.
Поскольку React и ReactDOM так часто используются вместе, в просторечии React понимается как JavaScript-фреймворк. React расширяет JavaScript с помощью HTML-подобного синтаксиса, известного как JSX.