Какой фреймворк для фронтенда выбрать
Программирование веб-сайтов и веб-приложений всегда должно начинаться с выбора правильной технологии. Фактически это станет основой вашего будущего проекта. Если вы новичок в программировании или уже открыли свой путь, возможно, вы работаете с JavaScript. В таком случае никогда не следует забывать о фронт-енд фреймворках JavaScript. Программисты используют их постоянно, поскольку они являются идеальным инструментом для разработки сложных веб-приложений.
В следующей статье сделаем акцент на самых популярных интерфейсных фреймворках за последние несколько лет. Более того, нам удалось проанализировать массу информации о трендах JS. Все это для того, чтобы выбрать те, которые сохранят или увеличат их популярность среди программистов. Здесь вы найдете только самые лучшие фронтенд-фреймворки JavaScript.
Angular, React, Vue - эти названия широко известны всем программистам. Но вопрос в том, хороши ли они вообще? А может просто переоценено? Узнаем же все плюсы и минусы упомянутых фреймворков, а также многое другое!
Популярность фреймворков за последние 5 лет
За последние 5 лет популярность интерфейсных фреймворков JS неуклонно росла. Интересно, что к концу каждого года спрос резко падает. Только чтобы прийти в норму в январе.
Эти повторяющиеся массивные падения хорошо видны в Google Trends. То же самое произошло и в декабре 2020 года. За последние несколько лет пользователи Google больше всего искали React.js. Angular всегда отставал лишь на небольшой шаг, а Vue.js шел третьим.
Чтобы подтвердить наши выводы, мы перешли на страницу NPM Trends для загрузки фронт-енд фреймворков JS. Было видно такое же падение популярности. На сайте показано, что React.js - это наиболее часто загружаемый фреймворк. Второе место принадлежит jQuery. Vue.js отстает.
Посмотрев на State of JS, мы увидим убедительный результат. Это обзор разработчиков, ориентированных только на JS, приводит нас к выводу, что React пользуется высокой репутацией среди программистов. Это был самый надежный интерфейсный фреймворк JavaScript каждый год. За исключением того случая в 2018 году, когда он разделил первое место с Vue.js. К нашему удивлению, популярность Angular среди пользователей в последнее время падает.
Примерно в начале 2020 года Statista провела онлайн-опрос разработчиков, чтобы изучить популярность веб-фреймворков. Среди наиболее часто используемых интерфейсных фреймворков JS можно увидеть jQuery, React.js и Angular. Честно говоря, ничего удивительного.
Чтобы подтвердить рейтинги, мы рассмотрели StackOverflow и их идеи для разработчиков в начале 2020 года. Результаты были очень похожи на результаты, полученные на Statista.
Это подводит нас к окончательному вердикту. Меняется популярность лучших интерфейсных JavaScript-фреймворков. Тем не менее, те, которые сохранили свою репутацию за последние пять лет, - это Angular, React и Vue.js.
Список фреймворков, которые будут популярны в 2021 году
Мы хотим поделиться с вами нашими прогнозами о главных тенденциях в интерфейсных фреймворках JavaScript на 2021 год. Есть несколько фреймворков, которые, несомненно, сохранят свои позиции. Вот наш шорт-лист на этот год, основанный на анализе прошлых лет и изменении популярности:
Глядя на текущие тенденции, мы понимаем, что среда интерфейсных фреймворков JS процветает. Мы также хотим рассказать о нескольких полезных фреймворках, которые будут использоваться в 2021 году. Даже несмотря на то, что их прайм-тайм ушел:
5 лучших Front-End JavaScript-фреймворков в 2021 году
Давайте внимательнее рассмотрим все основные особенности лучших Фронт JavaScript-фреймворков. После подробного изучения мы выбрали для вас 5 основных.
Более 162 тысяч звезд на GitHub делают React.js действительно заслуживающим доверия. Эта внешняя среда JavaScript с открытым исходным кодом увидела свет в 2013 году. Это произошло благодаря Facebook. Фреймворк был разработан, чтобы позволить дизайнерам и разработчикам создавать современные графические интерфейсы приложений. React.js использует компоненты, которые значительно улучшают весь процесс создания веб-проекта. Благодаря своей высокой эффективности этот JS-фреймворк идеально подходит для приложений с высокой посещаемостью. Как Netflix, Dropbox или Pinterest, которые все основаны на React.js.
React.js - самые важные функции:
- Этот интерфейсный фреймворк работает быстрее других. Благодаря этому программисты могут сэкономить много времени и стать более эффективными.
- По сравнению с Angular продуктивность React постоянно росла, превращаясь в инструмент для создания серьезного и сложного программного обеспечения.
React.js плюсы:
- Хорошая производительность, поскольку он основан на виртуальной модели DOM.
- Его компоненты можно повторно использовать в разных частях приложения.
- Большое сообщество постоянно развивается и делает фреймворк стабильным.
- Он универсален и может использоваться с любыми фреймворками.
- Односторонний поток данных.
Минусы React.js:
- Использование сложного JSX заставляет разработчиков и дизайнеров жаловаться на это.
- Его динамика иногда может влиять на поисковую оптимизацию Google (SEO).
- Поддерживает только результаты внешнего интерфейса.
Angular - фронт-енд JavaScript для веб-приложений, созданная инженерами Google. Они стремились полностью изменить дизайн интерфейсных веб-приложений. Им это удалось? Что ж, если мы посмотрим на его популярность и репутацию, мы можем сказать, что Angular превзошел своего старшего коллегу, jQuery. Приложения Xbox, Forbes и BMW основаны на этой технологии. Все программисты, использующие эту структуру, получают передовой опыт. Наряду с React.js новичкам широко рекомендуется Angular. Но действительно ли это так просто?
Angular - важнейшие особенности:
- Эта структура использует двустороннюю привязку данных. Он обеспечивает динамическую синхронизацию данных между уровнем представления и уровнем модели данных в архитектуре MVW.
- Angular построен исключительно на TypeScript, что обеспечивает плавную и эффективную работу. Другими словами, TypeScript - это основной язык Angular.
- Это кроссплатформенный фреймворк. Используя Angular, программисты могут создавать веб-сайты, веб-приложения, мобильные приложения и настольные приложения. Довольно аккуратно, да?
Angular плюсы:
- Он автоматически улавливает изменения на уровне модели, самостоятельно изменяя код HTML.
- Простые решения для тестирования на основе Angular поддерживают интеграцию модульных тестов.
- Внедрение зависимостей обеспечивает простой перенос и взаимодействие между всеми компонентами сложной системы.
- Angular отлично работает с внешними библиотеками, такими как jQuery, UnderscoreJS или Ionic framework.
Angular минусы:
- Трудно изучить сложные процессы. Это не самый простой фреймворк для новичков, не имеющих опыта работы с JavaScript и TypeScript.
- При открытии приложения все скрипты загружаются одновременно. Это влияет на эффективность и скорость работы программистов.
- Для полной индексации сайта вам нужно будет использовать внешние инструменты, которые возвращают правильный HTML-код.
Когда дело доходит до Vue.js, в представлении нет необходимости. Эта внешняя среда JavaScript с открытым исходным кодом модели MVV была впервые представлена в 2014 году Эваном Ю. Он раньше работал в Google, где использовал Angular. Сначала Вы создали облегченную версию того, что ему больше всего нравилось в среде Angular. Теперь, семь лет спустя, Vue.js является одним из наиболее часто используемых в мире интерфейсных фреймворков для JS. Но сможет ли он оправдать свою репутацию?
Vue.js - самые важные функции:
- Он работает как универсальный JavaScript-фреймворк, сочетая в себе самые удивительные инструменты из Angular, React и Ember. И он легче своих предшественников.
- Эта структура работает с виртуальной DOM и использует двустороннюю привязку. Все это делает Vue.js сложным и современным решением для разработки сложных веб-приложений.
- Vue.js основан на открытом исходном коде и, вероятно, станет более удобным для пользователя. Тем более, что для всех программистов подробная и обширная документация.
Плюсы Vue.js:
- Серверный рендеринг на основе того, что предоставляет Angular2 и React.
- Скорость и эффективность как для одностраничных, так и для многостраничных проектов.
- Интуитивно понятные функции и простой синтаксис делают этот фреймворк простым в освоении для новичков.
- Поддерживает эластичное и гибкое программирование на основе понятного и читаемого кода.
- Поддерживает использование машинописного текста.
Минусы Vue.js:
- Небольшая поддержка. За Vue.js. не стоит крупная корпорация. Это делает его менее предпочтительным для продвинутых программистов, которые привыкли к другим фреймворкам JavaScript.
- Гибкость. Не поймите неправильно. Это также преимущество Vue.js. Но в то же время выбор множества компонентов может вызвать проблемы. Особенно при реализации масштабного проекта, над которым работает много программистов.
- Языковой барьер. Многие из новых механизмов и плагинов, используемых в Vue.js, написаны на китайском языке.
Backbone.js - самые важные функции:
- Легкая в освоении эта интерфейсная среда позволяет программистам разрабатывать клиентские веб-приложения и мобильные приложения.
- Он принимает императивную парадигму программирования при работе с DOM. Другими словами, Backbone состоит из команд, которые должны выполнять приложения.
- Backbone.js совместим с REST API, что делает его безупречным для синхронизации между бэк и фронт фреймворками.
Backbone.js плюсы:
- Обеспечивает быструю и плавную работу.
- Новичкам очень легко изучить эту внешнюю среду JavaScript для веб-приложений.
- Основанный на библиотеке с открытым исходным кодом, он имеет более 100 пользовательских рабочих расширений.
- Его модели и коллекции совместимы с архитектурой RESTful. Вы можете удобно получить их данные с сервера.
- Очень отзывчивый. Все изменения кода можно сразу увидеть в приложении.
Backbone.js минусы:
- Чтобы писать более сложные приложения, программистам необходимо загрузить дополнительные плагины и расширения.
- Небольшой размер. В то же время это преимущество. Тем не менее, если вы хотите использовать Backbone.js в полной мере, вам необходимо добавить в свой проект фреймворки Underscore.js и jQuery.
- Backbone.js не имеет готовых структур. В нем есть только несколько очень простых инструментов для разработки макета приложения.
Другой широко используемый и известный фронт фреймворк JavaScript - это Ember.js. Созданный в 2011 году Иегудой Кац, он настоятельно рекомендуется профессиональными кодировщиками, работающими над передовыми решениями. За этой структурой стоит заинтересованное сообщество, так как она основана на механизмах с открытым исходным кодом. Ember.js фокусируется на предоставлении инструментов высочайшего качества для клиентских веб-приложений и мобильных приложений. Прямо сейчас некоторые из самых известных веб-сайтов, использующих эту структуру, включают Apple Music, Discourse, LinkedIn и Twitch.
Ember.js - самые важные функции:
- Двусторонняя привязка данных, как в Angular.js. Эта функция синхронизирует и модель, и вид.
- Наличие Fastboot.js позволяет ускорить рендеринг всех серверных DOM и повысить производительность сложных интерфейсов.
- Ember.js - лишь один из основных компонентов сложного стека внешнего интерфейса, подготовленного командой Ember. Эти решения также включают Ember CLI, Ember Data, Ember Inspector, Fastboot и Liquid Fire.
Плюсы Ember.js:
- Он использует простые для понимания шаблоны, позволяющие легко и гибко разрабатывать пользовательский интерфейс.
- Благодаря этой структуре вы можете добавлять маршруты вложения поверх представления шаблона.
- Простая отладка благодаря решениям Ember Inspector.
- Пользователи получают хорошую документацию по фреймворку JS.
- Все используемые шаблоны можно предварительно скомпилировать на сервере.
Минусы Ember.js:
- Изучение фреймворка считается трудным. Ember.js рекомендуется продвинутым пользователям, хорошо разбирающимся в интерфейсных фреймворках JS.
- Он не использует простые модели JavaScript, что делает веб-приложения более сложными, чем в случае с Angular.js.
- За Ember.js стоит относительно небольшое сообщество. Поэтому поиск решения ваших проблем может занять немного больше времени.
Обзор других фреймворков
Мы выбрали три других JS-интерфейсных фреймворка, о которых стоит упомянуть. Даже если они не так популярны, как упомянутые ранее. Давайте взглянем на них бегло.
Ext JS, фронт-енд JavaScript-фреймворк для веб-приложений, был представлен в 2007 году. Сначала он был построен как расширение библиотеки-надстройки YUI. Использование внешних фреймворков с Ext JS необязательно. Эта технология может работать совершенно независимо. Возможно, это не самый популярный интерфейсный фреймворк, но он работает довольно хорошо. Особенно при создании динамических сеток для статических веб-страниц или разработке одностраничных веб-приложений.
Плюсы Ext JS:
- Использует множество виджетов, упрощает работу и вносит изменения.
- Существует надежное сообщество, предоставляющее хорошую документацию и руководства.
Это делает этот фреймворк интересным вариантом для начинающих программистов.
- Пользователи могут воспользоваться стабильной базой предварительно протестированных компонентов пользовательского интерфейса.
Минусы Ext JS:
- Бесплатная версия Ext JS имеет ограниченную поддержку пользователей, и у пользователей могут возникнуть проблемы с отладкой.
- Полная версия стоит довольно дорого. Поэтому мы рекомендуем его только тем пользователям, которые уверены, что продолжат работать с этим фреймворком.
Svelte - относительно молодой фронт фреймворк JavaScript, основанный на его предшественнике Reactive.js. Первая версия этого бесплатного фреймворка с открытым исходным кодом была выпущена в 2016 году. Программисты могут использовать Svelte прямо в браузере, что является нововведением по сравнению с его конкурентами. Поскольку он является одним из последних фреймворков JS-интерфейса, он все еще не имеет интегрированного сообщества. Может быть, в ближайшие годы это изменится. Будем внимательно следить за этим.
Плюсы Svelte:
- Легкие и, следовательно, более быстрые, чем другие интерфейсы.
- Это помогает уменьшить масштаб веб-приложения за счет уменьшения его размера. Это отличная возможность для всех тяжелых приложений, которые некорректно работают при медленном подключении к Интернету.
- Компоненты легко понять, и их реакция на помеченные утверждения работает очень хорошо.
Минусы Svelte:
- За фреймворком стоит небольшое (но постоянно растущее!) Сообщество. Становится сложно решить некоторые проблемы, которые могут возникнуть у начинающих программистов при изучении этой библиотеки.
- Для небольших проектов рекомендуется использовать Svetle. Доступных дополнительных инструментов по-прежнему недостаточно, чтобы помочь кодерам работать в больших масштабах.
Сначала вы можете спутать Preact с React. Однако первый фреймворк намного легче и быстрее. Переход на Preact - хорошая идея для всех разработчиков, работающих с JavaScript. Использование этого фреймворка определенно сделает все веб-приложения более адаптивными и быстрее работают. У этого есть и обратная сторона. Вы можете потерять несколько функций React. Будет ли Preact когда-нибудь так популярен, как другие фреймворки? На данный момент трудно сказать.
Плюсы Preact:
- Легкий, портативный и совместимый с библиотеками React.
- Высокая эффективность позволяет кодировщикам работать без проблем и создавать более легкие версии веб-приложений.
- У него больше функций, чем у React-lite framework.
Минусы Preact:
- Небольшое сообщество затрудняет получение решений некоторых проблем.
- Preact предоставляет только функциональные компоненты без сохранения состояния и компонент, зависящий от ES6.
Какие фреймворки Frontend JS следует изучить в 2021 году?
Итак, вы собрались изучить новый фронт фреймворк JavaScript в 2021 году? Затем вы должны спросить себя, чего вы хотите достичь. Найдите свою цель, а затем ищите средства для ее достижения. Есть несколько замечательных фреймворков для начинающих, у которых нет опыта работы с JavaScript. Лучший фронт JS фреймворк для начала - React.js. Благодаря известному сообществу пользователей новичкам будет легко искать решения проблем.
Продвинутые программисты должны бросить вызов самим себе и продолжать поднимать планку выше. Поэтому рекомендуем всем новичкам. Мы имеем в виду все фреймворки, которые не имеют большого сообщества и не используются начинающими программистами.
Почему это? Потому что таким технологиям, как Preact, Svetle и Ext JS, нужны профессионалы, которые помогут будущим программистам решить существующие проблемы.
Какой JS Frontend Framework выбрать для разработки вашего проекта в 2021 году?
Когда вы считаете себя профессиональным пользователем JavaScript, нет никаких ограничений в отношении фреймворков, которым вы можете доверять. Если вы ищете лучший фреймворк JS для проектирования и разработки крупномасштабного проекта, выберите Angular. Это будет одна из хорошо поддерживаемых разработок JS в 2021 году. Ваша работа может быть намного проще и быстрее, чем когда-либо, благодаря использованию TypeScript.
Еще одна замечательная идея - попробовать Vue.js. Он известен своей популярностью среди пользователей. Неудивительно, почему - в нем собраны все лучшие функции от Angular и React. И он также работает с TypeScript для повышения производительности и эффективности. Эта структура поддерживается большим сообществом программистов, которые готовы помочь в случае необходимости. С таким мощным инструментом ваш следующий большой проект приложения в 2021 году будет иметь потрясающие результаты.
Хотим, чтобы вы запомнили еще одну вещь. Фреймворки JavaScript постоянно развиваются. И для веб-приложений, и для мобильных. Все они предоставляют различные библиотеки, функции и расширения. Некоторые подходят для одностраничных веб-приложений, другие лучше работают с более крупными проектами. Окончательное решение по-прежнему остается за вами, независимо от того, для чего вы планируете использовать фреймворки. Никогда не стоит просто плыть по течению. Не полагайтесь только на популярность веб-фреймворка. Выбирайте фреймворки, которые удовлетворят ваши потребности.
Сегодня поговорим от том, что выбрать для нового фронта, а также разберём, почему размер сборки, количество звёздочек на гитхабе и спрос на разработчиков не должны является основными критериями выбора фреймворка.
Стремительное развитие JavaScript привело к бурному развитию фронтенда. И за несколько лет появились несомненные лидеры в лице: React, Vue.js и Angular. Все это привело к огромному количеству статей, в которых идёт сравнение фреймворков и библиотек по следующему ряду критериев:
- Количество звёзд на гитхабе
- Количество открытых вопросов
- Размер сборки приложения
- Количество упоминаний в гугл*
- Количество вакансий на тот или иной фреймверк*
Количество звёзд и количество открытых issue, говорят лишь о том насколько удобна та или иная технология и какое у неё комьюнити. Если завтра один из разработчиков React или Angular представит новый проект Lui, то проект наберёт более тысячи звёзд меньше чем за месяц.
Субъективно, лучше смотреть на политику релизов и обновлений. А то и у jQuery так то, очень много звёзд. И в своё время, там можно было делать такие штуки, эх… А потом началось — react, angularjs, bower, webpack’и и никто не помнит про Dojo, Ext JS, Prototype, не говоря про Backbone.js, Meteor, Ember …
Размер сборки приложения важен в web, но он определяется разработчиком, а не платформой. Если собранный проект на React занимает меньше 100 кб, то дефолтное приложение аля Hello World на Angular весит
Если использовать “колдунство”, то размер angular application можно свести к
12 кб, но об этом тсс…
При этом не до конца ясна политика с расчётом polyfill’ов. И все это приводит к тому, что размер сборки будет определять качества и умения разработчиков.
Количество упоминаний и количество вакансий отображает лишь спрос рынка, на качество той или иной технологии. Если рынку необходимо множество быстрых и дешёвых, но одноразовых решений — рынок их получит.
Похожая ситуация была в начале становления интернета, когда потребность в PHP разработчиках была настолько огромной, что даже таксисты бросали свои насиженные места и шли программировать. И тут действительно не знаешь, что лучше индус или таксист программист.И шутки шутками, а к нам действительно на должность ведущего разработчика приходил каменщик, и видимо в его голове было, что сначала ты ложишь камень, а потом “кладёшь” код.
Иногда можно увидеть сравнение на производительность и скорость загрузки и отрисовки веб элементов. Но так как в современных реалиях это вряд ли нужно, а скорее всего нужна работа с асинхронными данными и реактивностью, а также управлением состоянием, то интересно посмотреть на нагрузку браузера и количество требуемых действий для фреймворков, но пока таких исследований не было, и в этой статье их тоже не будет :) Будем ждать вместе.
Основные критерии выбора
На данный момент не существует объективных критериев, которые однозначно показали применимость той или иной технологии, но составим список параметров исходя из основ разработки.
К основным критериям по выбору фреймворка, должны быть отнесены следующие параметры:
- Время разработки
- Процесс разработки
- Технологические возможности фреймворка
Время разработки — основной ресурс разработчика. Никому не нужен проект, который будет сделан более чем за “год/два/три”.
Даже не так, проект который вы разрабатываете должен приносить доход уже вчера. А как вы думали, зачем вас наняли?
Чем больше время разработки, тем выше стоимость, тем меньше привлекательность для инвесторов, тем меньше денег можно заработать. Это палка о двух концах. Но всегда нужно учитывать, если проект нужно делать в сжатые сроки (либо есть какие либо сроки), то скорость разработки очень важна, и нужно понимать, что скорость разработки обратно пропорционально качеству разработки.
Из баек компании, в которой я работал некоторое время назад, ребята писали аналог 1C, и было выбрано решение, которое за месяц позволило разработать 70% всего функционала, но начиная со второго месяца, скорость разработки почти остановилась, и за год было сделано не более 75%. И проект закрыли из-за отсутствия финансирования, хотя было потрачено более 12 млн. рублей, печалька.
Процесс разработки говорит о том, как зависит разработка от количества задач и разработчиков, на результат.
Есть ошибочное утверждение, что если разработчик может сделать задачу за 2 дня, то если добавить ещё одного такого же разработчика (который не является его братом близнецом), то задачу можно выполнить за 1 день, но это чаще всего не так, если разработчики не братья близнецы.
И логичный вопрос, как это относиться к фреймворку, причём для UI?
Есть множество компаний, которые переписали свои легаси проекты на React и получили легаси с React! Пам-пам.
Если в React у вас полная свобода, то Angular иногда бьёт по рукам и говорит — “Так нельзя”, “И так нельзя”, “Ты что совсем, иди читай доки”.
И тут проблема не в React, а в том, что не был выстроен процесс разработки — приняты стандарты разработки (style guide), настроено тестирование и т.д. И каждый фреймворк, обладает своими особенностями, и требованиями к разработке, что будет определять процесс разработки.
Например, если вы возьмёте в качестве фреймворка Angular и решите использовать mono repo, то вы должны понимать, что процесс разработки новых фич (абстрактно работы на 1 день) будет не меньше 1 недели (тестирование, тестирование в моно репо, и куча всего ещё) на 1 разработчика, и считать что разработчик за 1 день сможет делать недельный объем работы, то это станет фатальной ошибкой для проекта и приведёт к его закрытию.
Технологические возможности фреймворка стоят на 3 месте из-за того, что только после понимания сроков и процесса разработки, можно рассматривать преимущества фреймворка.
Нет смысла выбирать фреймворк с быстрой разработкой для качественной разработки, так как это одна из утопических идей, погубившей не один Uber.
Все это можно свести к следующему банальному выводу:
- Проект определяет потребности
- Исходя из потребностей проекта и навыков команды выбираем то, что максимально близко.
- Смотрим, что можно сделать из того, что выбрали.
На момент написания статьи, популярны 3 решения:
Есть и другие решения, но представленная тройка в основном отображает основные тенденции и развитие современного JavaScript.
И перенесём диаграмму Колин Хармана на front-end разработку:
Как можно видеть из диаграммы, основная цель для React и Vue — Создавать быстрые, легко разрабатываемые компоненты.
Angular же пошёл другим путём, поставив в приоритет качество разработки с упором на максимально возможную эффективность (скорость работы приложения, масштабируемость и т.д.).
Для проверки данного утверждения, надо всего лишь поиграться с данными фреймворками и библиотеками.
Даже на простых примерах, если для React и Vue достаточно 1–7 дней, то для Angular нужна как минимум одна неделя, а чтобы поднять весь стек c redux + ssr + graphql + nativescript не хватит и месяца, не говоря про оптимизацию, полное покрытие тестами, поддержке разных платформ и т.д.
Преимущества фреймверков
Если три года назад, существовали различия между технологиями, то в данный момент, каждая из технологий обзавелось своим cli, добавили поддержку TypeScript или Dart, предоставили решения для роутинга, SSR, graphql, различные имплементации Redux и т.д., с одним лишь замечанием,что у Angular и Vue, почти все идет из коробки, а в React приодеться немного покопаться.
Ярким показателем является реализация моно репозиториев (Lerna и Nx), в которых можно строить гибридные приложения с разными фреймворками, где считается нормальной практикой, часть интерфейсов реализовать на React, а часть на Angular.
Такими темпами и до виртуальных машин дойдём, где будет не докер — Noker, который позволяет создать приложение на Angular, внутри которого будет React. Хотя страшно подумать, что это уже есть и кто-то этим пользуется.
И конечно, нельзя не упомянуть, что React это не фреймворк, а библиотека, и как бы сравнивать его с другими, как бы не совсем корректно. С другой стороны на React пишут мобильные приложения. В данном случае мы рассматриваем React не как отдельно стоящую библиотеку, а полный стек всех инструментов современной разработки.
React как лучшее решение для UI
React из-за своей простоты и особым видением front-end делает его одним из лучших решений.
Возможно если Цукерберг, был бы на столько же эмоционален как Джобс, он бы непременно провёл конференцию, и рассказал, какой же великолепный React, и почему его любят миллионы разработчиков.
Опишем основные преимущества:
- Скорость разработки
- Размер приложения
- Обратная совместимость
- Нативная поддержка Redux
Когда стоит выбирать React:
- Небольшое приложение
- Нужно быстрое решение
- Нужно эффективное приложение
- Вы любите facebook
Когда не стоит выбирать React:
- Реализовывать enterprise решение
- Масштабируемое или часто меняющееся приложение
Из всего выше сказанного, можно сказать, что если вы пишите монстра аля — Facebook, то возможно выбор React будет не лучшим решением, но никто не мешает это попробовать.
Vue.js как лучшее решение для UI
Vue — решение появившееся в ходе соединения первых версий react и angular.js. Решение больше напоминает React, хотя и развивается в своём направлении.
Vue стоит выбирать тогда, когда вы не очень любите Facebook, а также не питаете любви к Google, и вообще за то, что один разработчик может все сделать сам, без всей этой корпоративной волокиты.
Но помните, что если Эвана собьёт автобус, это может немного осложнить поддержку Vue.
Опишем основные преимущества Vue — все те же, что и у React.
Когда стоит выбирать Vue — тогда же, когда и React.
Когда не стоит выбирать Vue — если не верите в Эвана или в Single person developer (SPD).
Единственный упрёк, который автор видит в Vue — это слишком мало требований к разработке и отсутствия явного style guide. За последние три года встречались 3 проекта на Vue, и каждый был на столько уникален, что трудно сказать, что их объединяет.
Angular как лучшее решение для создания UI через муки и боль
Хоть автор и является Angular евангелистом, но он все равно считает, что для выбора Angular нужны два требования (как собственно и у Google, которая его разрабатывает):
- Огромное количество времени на разработку
- Огромное количество денег на разработку
Можно сказать, что Angular подходит для — Огромных проектов, а маленькие проекты он может только разорить (либо разорить компанию, либо разработчика, который сказал что все сделает за несколько дней, а в итоге сделает за год).
Про Angular можно говорить много, но это все про качество, принципы, подходы, которые помогут сделать из JS разработчика — JS разработчика с angular’ом головного мозга.
Только в Angular можно увидеть нечто, где все запрятано в интерфейсы и завернуто в DI:
Типичный “веб-компонент” (не путать с компонентами ангуляра) содержит:
— feature
— — +state (redux state фичи)
— — components (общие angular component’ы)
— — containers (лейауты или страницы которые являются angular component’ами)
— — interfaces (папка с интрерфесами и типами)
— — services (папка с сервисами, хендлерами, и всем, что можно задиаить)
К этому, надо учесть, что фича может быть lazy. Также она может быть переиспользована, а также если используется SSR или пишется приложение c NativeScript, то есть разделение на серверную, мобильную реализации, которые начинает дублировать и переопределять файлы, которые вызывают: Страдание, боль и уважение.
Вероятно, фронтенд-разработчикам знакомо нечто подобное: вводишь в поисковике «лучшие JavaScript-фреймворки» и получаешь в ответ целую гору результатов, из которой очень непросто выбрать именно то, что нужно.
Что лучше всего подходит для разработки клиентских частей веб-проектов? Автор материала, первую часть перевода которого мы сегодня публикуем, говорит, что она, как человек, полный рабочий день занимающийся программированием, знает, что фронтендеры ищут то, что позволит им ускорить работу и облегчить создание интерфейсов.
В основу составления этого рейтинга фреймворков и библиотек легли результаты опроса более чем 450 разработчиков из ValueCoders. Сюда попали пять наиболее интересных инструментов.
Разработчики из ValueCoders выбирают React
Я, когда узнала о том, что мои коллеги голосуют за React, не удивилась. Большинство участников опроса сочло React одной из лучших JavaScript-библиотек. Наши разработчики использовали React во множестве проектов. Это позволило ясно увидеть сильные стороны этого инструмента. Тот, кто пользуется React, получает комбинацию из следующих возможностей:
- Компоненты, пригодные для многократного использования.
- Синхронизация состояния приложения и интерфейса.
- Системы маршрутизации и шаблонизации.
Обзор нашего приложения
Наше приложение устроено довольно просто. Это — программа для учителей музыки, которая помогает им управлять занятиями в онлайн-школе. Этот проект помогает учителям заниматься своим основным делом, облегчая решение организационных задач.
Главной сложностью в создании этого проекта стала разработка панели управления, предназначенной для учителей. Она позволяет им управлять занятиями учеников и отслеживать их достижения. Мы решили эту задачу, положив в основу приложения экосистему библиотеки Redux. А именно, мы создали раздел приложения, предназначенный для преподавателей, пользуясь которым они могли получать сведения о достижениях учеников, демонстрировать им новые музыкальные уроки, общаться с ними, сравнивать с чем-либо их игру, оставлять им отзывы.
Сведения об ученике и о его занятиях
Собственно говоря, я получила опыт работы с React в ходе создания этого приложения. Означает ли это то, что React — это признанный всеми лидер фронтенд-инструментов? Нет, не означает. Многие, например, могут особо отметить Vue, назвав этот фреймворк одним из лучших и вспомнив о богатом наборе имеющихся в нём стандартных вспомогательных средств.
В общем-то, решение о том, какой фреймворк подойдёт для решения конкретной задачи, принимают именно фронтенд-разработчики. Принимая подобные решения, они встают перед необходимостью ответить на массу непростых вопросов. При этом, учитывая то, что на выбор инструмента у разработчиков обычно почти нет времени, они, как правило, останавливаются на том, что знают. При этом они упускают потенциальные плюсы конкурирующих технологий. Например — речь может идти о том, что фреймворк, знакомый разработчику, если сравнить его с чем-то ещё, может оказаться далеко не самым быстрым.
А для начинающих разработчиков сложно даже сделать выбор, ограничив варианты тройкой ведущих фреймворков — Angular, React и Vue. Мы, для того, чтобы облегчить подобный выбор, отобрали 5 самых интересных фронтенд-фреймворков и библиотек, на которые стоит обратить внимание тем, кто собирается заниматься веб-разработкой в 2020 году.
Большая пятёрка фронтенд-инструментов
Если отталкиваться от популярности и распространённости инструментов фронтенд-разработки, то вот — пять наиболее заметных JavaScript-фреймворков и библиотек:
- React
- Vue
- Angular
- Ember
- Backbone.js
Объёмы загрузок пакетов angular, ember-source, react, vue и backbone
Сравнение пакетов angular, ember-source, react, vue и backbone
Теперь поговорим о каждом из этих проектов. Начнём с React.
1. React
В JavaScript-мире React — это, определённо, лидер. В этой библиотеке используются идеи реактивного программирования, она вводит во фронтенд-разработку и множество собственных концепций.
Для того чтобы гибко использовать React в разработке веб-проектов, нужно изучить множество дополнительных инструментов. Вот, например, далеко не исчерпывающий список подобных инструментов, представленный библиотеками, которые можно использовать совместно с React. Это — Redux, MobX, Fluxy, Fluxible, RefluxJS. В React-разработке, кроме того, можно использовать jQuery AJAX, Superagent, Axios и Fetch API.
▍Конкурентный режим
Вот твит от 24 октября сего года, в котором сообщается о введении в React экспериментальной возможности по поддержке конкурентного режима (Concurrent Mode). Разработчики React постоянно улучшают этот режим. Здесь можно найти ссылки на выступления с React Conf 2019, посвящённые конкурентному режиму и другим нововведениям React, таким, как рендеринг ленивых (создаваемых с помощью React.lazy ) компонентов внутри компонентов React.Suspense . Обе эти технологии позволяют сделать React-приложения более отзывчивыми за счёт выполнения рендеринга без блокировки главного потока. Это позволят React не задерживать обработку высокоприоритетных задач, таких, как формирование реакции приложения на воздействия пользователя.
▍Suspense и другие технологии
Технология React.Suspense позволяет улучшить обработку асинхронной загрузки данных в React-приложениях. Если описать эту технологию в двух словах, то можно сказать, она позволяет организовать ожидание компонентом выполнения неких условий и при этом не нарушать работу всего приложения.
Ещё одно новшество, появившееся в React 16.8, это хуки (Hook). Хуки React позволяют разработчику пользоваться важнейшими возможностями React и при этом обойтись без применения компонентов, основанных на классах. Среди таких возможностей — управление состоянием компонента и работа с методами его жизненного цикла. React содержит несколько встроенных хуков, но при этом позволяет программисту создавать собственные хуки.
React-приложения состоят из компонентов, которые содержат логику работы приложения и HTML-разметку для формирования интерфейса. Для того чтобы улучшить взаимодействие между компонентами, разработчик может воспользоваться Flux или похожей JavaScript-библиотекой.
В React-программировании используются такие понятия как состояние (state) и свойства (props) компонента. Они представлены соответствующими объектами. Их использование позволяет организовать хранение данных в компоненте и обмен данными между компонентами. Например — передачу данных из программной логики, реализуемой компонентом, в интерфейс приложения, или передачу данных от родительских компонентов дочерним компонентам.
▍Элементы экосистемы React
Вокруг библиотеки React сложилась целая экосистема, представленная различными вспомогательными инструментами и библиотеками. Вот некоторые составные части этой экосистемы:
- Сама библиотека React и React Router — средство для управления маршрутами в приложении.
- Пакет react-dom, предназначенный для работы с DOM.
- Инструменты разработчика React для браузеров Firefox и Chrome. — язык разметки, который позволяет описывать HTML-элементы в JavaScript-коде.
- Средство командной строки create-react-app, которое предназначено для создания шаблонных React-проектов.
- Различные вспомогательные библиотеки. Среди них, например, можно отметить библиотеку Redux, используемую для управления состоянием приложений, и библиотеку Axios, используемую для обмена данными с серверными API.
2. Angular
На конференции AngularConnect 2019 команда разработчиков Angular сделала заявления, которые позволяют считать выход Angular 9 поворотной точкой в развитии этого фреймворка. В частности, планируется сделать компилятор Angular Ivy стандартным средством, доступным для всех приложений. Основные преимущества этой технологии заключаются в том, что её применение позволяет ускорить процесс разработки, уменьшить размер приложений, повысить их производительность и надёжность.
Современный Angular — это продвинутый модульный фреймворк для фронтенд-разработки. Раньше для подключения Angular к странице достаточно было просто добавить в её HTML-код соответствующий тег, теперь же разработчик может импортировать в свой проект необходимые ему модули Angular.
Angular известен своей гибкостью. Именно поэтому всё ещё актуальны версии Angular 1.x. Однако многие разработчики в наши дни пользуются Angular 2+ из-за MVC-архитектуры фреймворка, которая значительно изменилась в сторону архитектуры, основанной на компонентах.
Тому, кто хочет пользоваться Angular, придётся, при освоении этого фреймворка, столкнуться с некоторыми трудностями. Так, для создания Angular-приложений практически обязательно использовать TypeScript. Хотя это и усложняет работу с Angular, у такого положения дел есть свои плюсы. В частности, это повышает надёжность приложений за счёт продвинутого контроля типов, это даёт программисту дополнительные средства разработки.
▍Элементы экосистемы Angular
Вот некоторые составные части экосистемы Angular:
Подпишись на наш канал с тестами по HTML/CSS/JS в Telegram!
Мир JavaScript это среда, богатая инструментами, библиотеками и фреймворками. Но большое количество вариантов приводит к замешательству. Это палка о двух концах. Имея большое пространство для творчества и экспериментов, иногда вы теряетесь при выборе библиотеки или фреймворка.
Фреймворк для фронтенда, который вы выберете, в долгосрочной перспективе может стать или преимуществом, или существенным недостатком вашего проекта.
В этой статье мы разберем некоторые из наиболее популярных фреймворков JavaScript и то, как они работают в сравнении с другими. Мы посмотрим на них с пяти разных сторон, что сильно облегчит вам процесс выбора вашего следующего фреймворка JavaScript.
Выберите ли вы один из этих пяти популярных фреймворков JavaScript или из каких-нибудь других, менее известных, вам стоит принять во внимание эти аспекты.
Доступность обучающих ресурсов
Это очевидно, но зачастую не принимается в расчет. Хотя вас может увлечь привлекательный вид домашней странички какого-нибудь фреймворка, вам все равно для начала вам нужны какие-то дополнительные курсы, книги, руководства и статьи помимо скучной и сухой документации.
Создание прекрасного фреймворка это одно дело, а обсуждение ключевых идей, стоящих за ним, – совершенно другое. Фактически есть много профессиональных разработчиков, специализирующихся на обучении. Качественные обучающие ресурсы очень сильно сократят для вас сам процесс обучения.
Поищите ресурсы у проверенных авторов, к которым вы обращались ранее, – это в конечном итоге сбережет ваше время. Если вы стремитесь найти что-то полезное, будьте осмотрительны: фреймворк, который вы хотите изучить, может быть новым или еще не опробованным сообществом.
Хотя, как уже упоминалось, документации самой по себе недостаточно, для этого правила есть исключения. У EmberJS, например, прекрасная документация. Основные функции и случаи для их применения прекрасно описаны с приведением подходящих примеров. К сожалению, помимо этой документации, мы остаемся с очень малым количеством книг, видео курсов и других материалов.
С другой стороны, есть масса ресурсов по Angular и React. Почти на каждом образовательном вебсайте, посвященном фронтенду, окажется одна или две статьи о них, а возможно, даже полный видеокурс или книга.
Vue занимает промежуточную позиции: у него хорошая документация и есть несколько хороших курсов, из которых можно выбирать.
Aurelia, например, практически не имеет ресурсов; вы можете надеяться лишь на документацию и удачу.
Даже если вы прочли хорошую книгу или курс, всегда остается шанс узнать что-нибудь новое обратившись к другим источникам. Если вы знакомы с предметом, часто вы можете быстро по ним пробежаться в поисках недостаточно (пока!) ясных областей.
К сожалению, эта стратегия не сработает если вы ограничены в выборе, что приводит нас к следующему пункту.
Популярность
Вы можете гордиться изучением чего-нибудь экзотического, но если вы посмотрите на это с деловой точки зрения, это не то же самое. Ваша компания или клиент могут предпочесть использование проверенного «в бою» набора инструментов.
Для этого есть несколько причин. Если фреймворк не особо популярен, это означает, что есть не так много разработчиков, специализирующихся на нем. Что случится, если вы бросите проект и найдете себе другую работу? Вашему работодателю придется искать разработчика, знающего фреймворк, который вы использовали.
Этот процесс может стать действительно обременительным для компании. Проблема остается даже если вы никуда не уходите, а проект растет. Работодателю требуется большее число программистов для ускорения разработки.
Есть и другие, личные причины предпочесть популярный, широко распространенный фреймворк. Что, если вы столкнетесь с какой-то проблемой, а сообщества, к которому вы могли бы обратиться за помощью, просто не существует? Оставшись один на один с документацией, вы с большой вероятностью потратите впустую много времени.
Помимо этого, вы хотите подумать о будущих, более привлекательных возможностях в вашей карьере. Если вы специализируетесь на чем-то популярном и действительно хороши в этом, для вас будет куда больше подходящих проектов.
Очевидные лидеры здесь Angular и React.
Большинство позиций, связанных с фронтендом, требуют знания одного из них. За ними стоят Google и Facebook, а потому работодатели чувствуют себя более безопасно в отношении своего выбора.
Иногда выбор фреймворка для вашей компании или клиента не зависит от вас. Возможно, выбор был сделан бывшим сотрудником или кем-то еще из команды. Велики шансы, что это будет Angular или React. Есть и другие варианты, например Ember и Vue. Но вам придется нарочно искать компании, использующие их.
Вы можете определить популярность фреймворка кинув взгляд на то, насколько этот проект популярен на GitHub или других подобных сайтах. Вот некоторая статистика, собранная при написании этой статьи:
Хотя эти библиотеки существуют достаточно долго чтобы иметь право считаться популярным вариантом, если вы хотите попробовать что-то действительно новое, сходная статистика поможет вам сделать выбор.
Знание только лишь Angular или React поможет вам в вашей карьере, откроет много возможностей. Но другие фреймворки тоже существуют не без причины. Постарайтесь изучить их в свободное время и при случае поэкспериментировать. Даже если вам никогда не случиться использовать их в настоящих проектах, вы получите ценную информацию, которая поможет вам в повседневной работе, связанной с разработкой.
Основные особенности
Давайте обратимся теперь к технической составляющей.
Чтобы, начав писать код, иметь адекватные ожидания, стоит заранее бегло ознакомиться с основными особенностями фреймворка. Для этого просмотрите документацию. Вам нужно получить общее понятие о фреймворке. Связан ли он только с интерфейсом пользователя или совершенно полноценный? Или что-то между?
Давайте бегло рассмотрим популярные варианты.
Как упоминалось ранее, это может быть палкой о двух концах. В конечном итоге вы придете к построению вашего собственного пользовательского фреймворка. У каждого из них есть своя экосистема библиотек, предоставляющих решения наиболее распространенных проблем, но вся структура в целом будет отличаться от проекта к проекту.
Реактовский JSX всегда меня отталкивал. Мне пришлось к нему привыкать. А у Vue шаблонизация действительно хорошая, особенно если вы переходите с Angular.
С другой стороны, в Ember есть практически все. Довольно удивительно, среди особенностей Ember нет расширенной обработки форм. Есть только некоторые помощники ввода и все. Он очень самоуверен и даже имеет собственный слой данных. Все должно делаться по «пути Ember».
Если у вас есть опыт работы с другими фреймворками или в целом с JavaScript, вы можете быть разочарованы, так как Ember использует собственную объектную модель. Классы стандарта ES2015 не так широко используются, таково же и состояние их документации. Вы можете оказаться в ситуации, когда вы сами прописываете значения свойствам, а Ember на это жалуется.
Еще одно значительное отличие от других фреймворков это Ember Data. Это слой данных для приложений Ember. Вы можете считать это чем-то вроде ORM для фронтенда. Вы создаете модели и карту взаимоотношений между ними.
Если ваш сервер использует JSON API (это спецификация для реализации JSON APIs), с Ember вы в хороших руках, но к сожалению, таких серверов мало. Так что вам придется писать пользовательские адаптеры и преобразователи. Тем не менее, если вы делаете все по методам Ember, это может быть действительно продуктивно. Просто кривая обучения у него ступенчатая.
Фреймворк Angular 2 богат особенностями. Он поставляется со многими моделями, подобно Ember, так что в вашем распоряжении окажутся тысячи инструментов из коробки. Но так как Angular предназначен для крупных приложений, он поддерживает TypeScript, что может вызвать некоторое сопротивление прежде чем вы это разрешите.
Другой заметной вещью является интенсивное использование observables из библиотеки Rx, что действительно хорошо. Вы можете представить почти что угодно в качестве observable и применить высокоуровневые операции, такие как карта, фильтр и т. д. Если вы пользовались Lodash или Underscore, Rx – это почти то же самое, только на стероидах.
Вот итоговое сравнение внутренних особенностей четырех фреймворков, обсуждаемых в этой статье:
Все эти особенности, которые мы бегло осмотрели, бесполезны, если вам нужно зажечь свечу с двух концов, чтобы эффективно их использовать. Об этом наша следующая тема.
Простота использования
Если к этому моменту вас все еще переполняет энтузиазм по поводу выбранного вами фреймворка, следующий шаг — запачкать руки.
Возможно, этот фреймворк хорошо вам подходит из-за вашего бэкграунда. Может, он немножко другой и в каком-то смысле бросает вам вызов. Вы этого еще не знаете, и сколько бы вы ни читали/смотрели туториалов, это не поможет, пока вы не опробуете его лично.
Лучший способ почувствовать фреймворк – использовать его в каком-нибудь маленьком проекте. Это даст вам возможность решать упомянутые выше ежедневные проблемы с помощью данного фреймворка.
Работая над проектом, дайте себе возможность подумать, насколько продуктивной получается работа. Легко ли достигается ожидаемый результат? Приходится ли вам обращаться ко внешним библиотекам? Возможно, вам нужны какие-то плагины из сообщества. Существует ли удобная структура руководств, касающихся этого фреймворка? Возможно, есть CLI для ускорения процесса разработки. На этой стадии вы собираете базовый опыт, так что можете себе представить, как это будет, если вы используете этот фреймворк для будущих проектов или даже переведете на него уже существующие.
Ember считается фреймворком с высокой производительностью, по крайней мере для пользователей его ядра. Он поставляется с CLI, что очень помогает. Вы можете генерировать маршруты, контроллеры, компоненты и модели с их собственными тестовыми наборами. Выполнение всей этой работы вручную – утомительное занятие. Также возможна генерация нового проекта. Он создаст базовую структуру папок, установит необходимые пакеты, инструменты, среду тестирования. Если вы никогда не пользовались CLI до такой степени, вы будете приятно удивлены. Но, как уже упоминалось, Ember очень самоуверен; несмотря на все эти добродетели, вы можете разочароваться, пытаясь выполнить обычные задачи.
Что касается React и Vue, у них есть что-то вроде CLI: create-react-app и vue-cli. Но кроме генерации начального проекта с некоторыми опциями они не так много предлагают по сравнению с Ember или Angular. Это и понятно, поскольку оба они представляют визуальный слой. Если вам нравятся настраиваемые рабочие процессы, эксперименты или различные структуры от проекта к проекту, то вы нашли то что нужно. Для некоторых разработчиков гибкость является ключевым моментом, а она приходит вместе с использованием React или Vue.
Angular 4, как и Ember, поставляется с CLI. Вы можете генерировать компоненты, директивы, сервисы. Он также генерирует первоначальную структуру для приложения, так что вам нужно волноваться лишь о продукте. Среда тестирования действительно хороша, так как рядом с каждым созданным фрагментом приложения поселяется тестовый набор. Кроме того, TypeScript может обеспечить реальное повышение производительности. Вот почему.
Как часто вам случалось встречать код со строчками, как в этом случае…
Мы не затрагивали IDE, но для большинства популярных фреймворков существуют плагины, которые действительно очень облегчают разработку. WebStorm, например, поставляется со встроенной поддержкой Angular, React и Vue.
Простота интеграции (с другими библиотеками)
Последний по порядку, а не по значению, этот аспект может рассматриваться как часть простоты использования, но он имеет такое значение, что стоит вынести его в отдельную тему.
Без разницы, насколько богат функционалом выбранный вами фреймворк, все равно есть шансы столкнуться с проблемой, для решения которой понадобятся дополнительные инструменты. Есть множество библиотек, фокусирующихся на решении определенных задач, будь то DOM-манипуляции, обработка данных, форматирования времени, редактирование текстов. Если вы при попытке подключить одну из них будете каждый раз тратить целые часы, то наверное это все же не оптимальный выбор.
Проверить это очень просто. Вы можете быстро придумать некий воображаемый сценарий, в котором вам нужна определенная библиотека. Посмотрите на ваши прошлые проекты. Какие инструменты вы там использовали в каком сценарии? Есть шансы, что вы вновь окажетесь в такой же ситуации, и к этому следует приготовиться или по крайней мере ожидать этого.
Не все библиотеки поддерживают TypeScript. Хотя Angular интенсивно его использует, некоторые из достоинств TypeScript могут исчезнуть при использовании такой библиотеки. Конечно, вы можете найти обходной путь, но это все равно заминка. В силу популярности Angular вы можете найти инструкции по интеграции на странице самой библиотеки.
В случае с Vue и React ответственность буквально за все лежит на вас, и использование сторонних библиотек не исключение. Если вы используете Webpack или похожий инструмент сборки, вы можете напрямую обращаться к библиотекам, установленным с помощью NPM. Есть определенные трудности в использовании плагинов сообщества для Vue, особенно когда они также содержат логику пользовательского интерфейса.
У Ember есть EmberObserver, вебсайт плагинов сообщества. Каждый из них имеет рейтинг по шкале от нуля до десяти. Это и впрямь отличное место чтобы поискать что-то нужное вам. Если вы напечатаете название ваших любимых библиотек, таких как Lodash, Rx или Ramda, вы найдете относящиеся к ним плагины от простых оболочек до полных переписываний. И, конечно, есть еще репозитории Awesome React и Awesome Vue, в которых собраны соответствующие ресурсы, включая библиотеки.
Выбор фреймворка JavaScript
Выбор правильного JavaScript фреймворка — один из важнейших шагов на пути к тому, чтобы сделать ваш веб-проект успешным. В определении, какой фреймворк лучше всего подходит для вашего проекта, большее значение имеют характеристики самого проекта (большой он или маленький, один человек над ним работает или целая команда), чем ваши личные предпочтения.
Что касается основных особенностей и удобства пользования, мы перечислили аспекты, которые сильнее всего будут влиять на производительность разработчиков. Простота использования — особенно скользкий момент, так как сильно зависит от вашего опыта и бэкграунда, а также от компании или организации, где вы работаете.
Со временем рассмотренные нами здесь фреймворки могут развиться, их популярность может измениться (то же касается и проектов, для которых они подходят), но эта статья должна дать вам общее понимание того, где каждый из этих фреймворков будет работать лучше всего.
Читайте также: