Добро пожаловать на TLisBlog! Сегодня 21 февраля 2019 года.
В статье:
- Что бы вы ни делали, не переусердствуйте
- Решая, что использовать, подумайте о своей ситуации и требованиях
- Подведём итоги
После того , как вы освоили основы JavaScript, выбор front end фреймворка JavaScript может быть сложным, запутанным процессом. Вы, наверное, слышали о React и Angular, а не так давно появился Vue.
Но у вас нет времени, чтобы выучить всех троих, так что же выбрать?
Что бы вы ни делали, не переусердствуйте.
Вы можете добиться успеха с любым из этих фреймворков, и изучение одного из них облегчает изучение другого. Выбор фреймворка имеет важное значение, но гораздо более важно сосредоточиться на изучении общих концепций. Это подготовит вас ко всему, с чем вы столкнетесь в процессе изучения.
По мере того, как вы узнаете один из фреймворков, вы также узнаете о концепциях, актуальных для всех трёх фреймворков:
- Архитектура одностраничных приложений (SPAs)
- Проектирование и разработка компонентов
- Поток данных через приложение
- Управление состояниями
- Шаблоны
- Привязка данных
- Работа с Backend API
- Маршрутизация на стороне клиента
- Языковые абстракции, такие как Sass и TypeScript
- Тестирование
- Front End билды
Решая, что использовать, подумайте о своей ситуации и требованиях.
Если вы хотите получить работу в качестве разработчика, то посмотрите, что ищут работодатели в вашем районе? Вы хотите работать в стартапе или на более взрослом предприятии? Проведите анализ местных вакансий или поговорите с рекрутером.
Какой фреймворк имеет самое активное местное сообщество? По возможности посетите местный митап, посвященный React, Angular или Vue, и познакомьтесь с другими разработчиками, которые увлечены этими фреймворками.
Если вы выбираете основу для следующего проекта вашей команды, каковы коллективные навыки для вашей команды? У вас есть много общих знаний JavaScript? Ваша команда выиграет от выбора фреймворка с более мягкой кривой обучения? Какие функции наиболее важны для приложения, которое вы создаете?
Легкость обучения
По своей сути, React и Vue сосредоточены на создании пользовательских интерфейсов, в то время как Angular сосредоточен на создании приложений. Из-за этого Angular больше, сложнее и имеет более крутую кривую обучения. И хотя React и Vue изначально меньше и менее сложны, но чем больше вы их расширяете, тем больше их размер, а сложность работы с ними растет.
Поддержка инструментов
Все три платформы предоставляют CLI или интерфейсы командной строки. Это позволяет легко создавать новые проекты, поддерживать локальную разработку и готовить приложения к развертыванию. Все три также имеют большую поддержку в редакторах кода, таких как Visual Studio Code и Atom. Чтобы получить максимальную отдачу и добиться максимальных результатов, вам нужно установить соответствующие расширения редактора.
Производительность
Не смотря на то, что показатели производительности (т. е. скорость выполнения конкретных задач, таких как отображение списка элементов) различаются для некоторых вариантов использования, каждая из этих платформ обеспечивает одинаковую производительность, поэтому это не является существенным фактором для большинства разработчиков или команд.
Подведём итоги
React
Плюсы
- Простое и легкое создание компонентов
- Элегантный API, который поддерживает композицию
- Большое сообщество поддержки
- Популярен у стартапов
- Множество расширений с открытым исходным кодом
React предлагает простое, легкое создание компонентов — функциональные компоненты без сохранения состояния так же просты, как и раньше. Кроме того, элегантный API React предлагает вам использовать композицию с использованием компонентов.
React очень популярен, о чем свидетельствует его большое сообщество. Популярность React помогла привлечь стартапы. Наличие широкого спектра открытых, разработанных сообществом расширений для React дает вам множество вариантов для построения полных решений.
Минусы
- Настройка JSX
- Полные решения требуют сторонних библиотек
- Наличие опций может перегружать или сбивать с толку
Шаблоны компонентов написаны с использованием JSX, а не нативного HTML, поэтому следует ожидать некоторого периода корректировки. Поскольку он сосредоточен на создании пользовательских интерфейсов, вам, вероятно, потребуется расширить React сторонними библиотеками. Например, если вам нужно поддерживать клиентскую маршрутизацию в вашем приложении, вы, вероятно, будете использовать популярную стороннюю библиотеку React Router . К счастью, есть много отличных вариантов для выполнения практически любых требований. Но наличие большего выбора может быть ошеломляющим или сбивающим с толку - особенно для начинающих.
Angular
Плюсы
- Всё включено во фреймворк
- Руководство по созданию комплексных решений
- Популярен у предприятий
- Многофункциональный CLI
- TypeScript
- Поддержка нативного HTML и CSS
Angular — это комплексная среда, которая предоставляет больше «из коробки», чем React или Vue. В результате он предоставляет больше рекомендаций о том, как создавать полные решения. Он ориентирован на разработку приложений, о чем свидетельствует включение таких функций, как маршрутизация и проверка формы. Это делает его популярным на предприятиях .
Angular имеет наиболее функциональную CLI из трех платформ. Он используется во время разработки приложения для создания новых компонентов, установки пакетов и выполнения сценариев миграции и установки. TypeScript, с его статической типизацией и удивительными улучшениями редактора, предлагает опытным разработчикам, у которых нет большого количества JavaScript, более дружественный переход к разработке на стороне клиента . И хотя для привыкания к его синтаксису привязки может потребоваться некоторое время, возможность использовать собственный HTML и CSS для шаблонов и стилей компонентов является плюсом.
Минусы
- Большой API
- Крутая кривая обучения
- Код может быть многословным и сложным
Большой API и общий подход Angular к разработке приложений приводит к самой крутой кривой обучения среди этих трех фреймворков. Angular код, с его использованием статических типов, декораторов и конфигурационного подхода, может показаться многословным и в разы более сложным по сравнению с React и Vue.
Vue
Плюсы
- Легкий старт для разработчиков
- Растет вместе с вами
- Больше включений, чем в React
- Поддержка нативного HTML и CSS
- Хорошо написанная документация
Vue предлагает легкий старт для разработчиков, являющихся новичками в разработке на стороне клиента, а так же обладает достаточной способностью расти вместе с вами по мере развития ваших навыков. И хотя он не так распространён, как Angular, Vue предлагает больше «из коробки», чем React. Это делает его популярным выбором для начинающих.
Как и Angular, Vue также позволяет вам использовать свои собственные навыки работы с HTML и CSS вместо того, чтобы изучать новый язык шаблонов, как в случае с React. А так же он известен своей хорошо написанной документацией.
Минусы
- Слишком молод в сравнении с чем React и Angular
- Небольшое сообщество (пока)
Появившийся в 2014 году, Vue несколько новее, чем React (2013) и Angular (v.1 2010, v.2 2014). Так что, пока его сообщество несколько мало, оно в настоящее время не так сильно развито и не настолько велико, как другие. Однако же, это временная проблема.
Чтобы не упустить из жизни что-то интересное, важное и полезное, подписывайся на канал Telegram. Читать прошлую статью — Алгоритмы шифрования приближаются к дате истечения срока действия?
Источник: React, Angular, Vue: What they can do and which one is for you.