Web Development

Фреймворки для фронтенд-разработки

1. React.js

С помощью React.js разработчики могут создавать повторно используемые компоненты (reusable components), каждый из которых будет со своим собственным “state”, то есть “внутренним состоянием”. Если на странице необходимо обновить только один компонент (например, пользователь нажимает кнопку “Мне нравится”), React изменяет только этот компонент (к примеру, появляется большой палец вверх), не обновляя всю страницу целиком.

Для этого React использует Virtual DOM —  способ представления UI (интерфейс пользователя), который хранится в памяти и постоянно синхронизируется с “реальным” DOM. Неважно какой браузер вы используете, Virtual DOM всегда будет работать быстрее, так как он не включает в себя все тяжеловесные части реального DOM.

Такие крупные компании, как Airbnb, Instagram и Netflix уже несколько лет успешно используют React.js, и мы видим, как увеличивается число компаний, заинтересованных в данной технологии. Интерес к React, среди разработчиков, стремительно набирает темпы, именно поэтому в ближайшие годы данный фреймворк нисколько не потеряет в популярности.

Также хотелось бы упомянуть о React Native — это фреймворк, позволяющий создавать кроссплатформенные приложения для iOS и Android. Фреймворк имеет ту же техническую базу, что и React, поэтому веб-разработчики могут без труда разрабатывать мобильные приложения, помимо привычных веб-сайтов и веб-приложений.

2. Vue.js

Еще одним важным игроком на арене фронтенд-разработки является Vue.js — JavaScript-фреймворк с самым быстрорастущим и полным энтузиазма сообществом разработчиков на данный момент. Vue.js — подходящий выбор для тех, кто хочет поэкспериментировать с новым фреймворком, поскольку у него очень подробная документация и низкая кривая обучаемости.

К Vue.js быстро привыкаешь после других фреймворков, в виду его сходства с Angular и React, с точки зрения дизайна и архитектуры. Благодаря своему маленькому размеру (всего 20 КБ), скорости и гибкости, Vue.js показывает лучшую производительность, по сравнению с другими фронтенд фреймворками.

В настоящий момент Vue.js занимает довольно небольшую долю рынка, если сравнивать с Angular или React. По этой причине достаточно проблематично найти разработчиков, у которых есть опыт работы с Vue.js. Станет ли данный фреймворк таким же популярным как Angular и React? Нам придется подождать, чтобы узнать ответ на данный вопрос, но из-за крайне положительных отзывов разработчиков и увеличивающегося роста использования, существует мнение, что он продолжит позитивную тенденцию развития.

3. jQuery

А как же jQuery, спросите вы? Судя по всему, сообщество разработчиков постепенно отказывается от использования самой известной JavaScript-библиотеки. Одной из причин может быть то, что jQuery плохо уживается с более новыми библиотеками, такими как React. Также, в настоящее время, современные браузеры поддерживают множество jQuery-like функций, что во многих случаях делает jQuery ненужным. По этой причине мы видим, что сейчас гораздо чаще используется чистый JavaScript. Например, в GitHub недавно объявили, что они заменили весь jQuery на чистый JavaScript.

Да, jQuery теряет свою былую популярность, но 300.000 загрузок в день демонстрируют хороший рост на 300%, по сравнению с началом 2017 года. Еще один удивительный факт: 90% из 500000 самых популярных веб-сайтов, как и прежде используют jQuery! Это наглядно иллюстрирует тот случай, когда библиотека не обязательно должна быть новой и крутой, чтобы оставаться актуальной. Выбор какой-либо конкретной библиотеки полностью зависит от типа проекта, для которого вы хотите ее использовать.

Изменения во фронтенд веб-разработке происходят с невероятной скоростью. Кажется, что невозможно уследить за всем, но, если вы будете иметь четкое представление о наиболее важных фреймворках — вы сможете сделать правильный выбор для нового проекта.

У каждого фреймворка/библиотеки свою собственная философия и свои сильные стороны, но их объединяет то, что JavaScript лежит в их основе. Следовательно команда разработчиков, обладающая глубокими знаниями и опытом работы с JavaScript, играет важную роль при создании современных веб-сайтов и веб-приложений.

Фреймворки для бэкенд-разработки 

4. Kotlin

В последние годы огромную популярность приобрел язык программирования Kotlin. Он является современной и более простой альтернативой Java. Kotlin, преимущественно, начал набирать аудиторию в прошлом году, когда компания Google объявила, что Kotlin получил официальную поддержку для разработки Android-приложений. После этого такие компании, как Slack и Netflix начали разрабатывать свои приложения для Android с помощью Kotlin. Роб Флетчер, старший разработчик программного обеспечения в Netflix, сказал:

“Kotlin не привнес ничего революционного, он просто сочетает в себе некоторые из лучших особенностей других языков.”

Согласно исследованию на сайте Pusher, в первые годы существования (с 2011 года) Kotlin использовали, в основном, опытные разработчики, но с момента конференции Google в 2017 году, именно молодые разработчики, особенно студенты, стали причиной бурного роста.

5. Elixir и Phoenix

Phoenix, встроенный в функциональный язык программирования Elixir, является относительно новым фреймворком, о котором все чаще и чаще говорят в сообществе разработчиков. Одна из причин такой заинтересованности со стороны разработчиков — высокая производительность. Например, обработка большого JSON-запроса занимает в Rails 1.5 секунды, а в Phoenix всего 400 миллисекунд.

Но не спешите, для начала по-прежнему необходимо проверить, подходит ли данная технология для того типа проекта, в котором вы хотите ее применить. Например, Elixir и Phoenix сильны в real-time приложениях, где многие соединения должны обрабатываться одновременно (например, в мессенджерах). Но для приложений, которые требуют большой вычислительной мощности, Elixir не совсем подходит.

Количество Elixir-разработчиков в настоящее время довольно ограничено, потому что число компаний, которые открыто работают с этим фреймворком, можно пересчитать по пальцам. Эта ситуация, безусловно, может измениться в будущем, и именно поэтому вы должны внимательно следить за Elixir и Phoenix.

6. GraphQL

GraphQL — это язык запроса данных с открытым исходным кодом и один из самых современных способов создания API, разработанный Facebook. Популярность GraphQL стремительно растет, и такие крупные компании, как Twitter, Shopify и Amazon уже начали работать с этой технологией.

GraphQL помогает разработчикам справиться с часто встречающимися проблемами, поскольку значительно упрощает загрузку и обработку данных. Самым важным различием между REST API и GraphQL является то, что GraphQL предоставляет возможность точно указать, какие данные вы хотите получить обратно из API. Это гарантирует, что программное обеспечение, вызывающее API, получит все необходимые данные в одном запросе.

Это удобно в том случае, когда приложение содержит много вложенных моделей и ассоциаций. GraphQL помогает, например, при разработке мобильных приложений, загружать только соответствующие данные, и тем самым снижает нагрузку на мобильную сеть. GraphQL берет на себя большую часть накладных расходов (overhead), которые возникают в REST API, и таким образом обеспечивает преимущества как для фронтенда, так и для бэкенда.

Заключение

Вам, как разработчику, важно оставаться, насколько это возможно, в курсе текущих технологических разработок. Вы должны смотреть на те возможности, которые появляются вместе с новой технологией, но ни в коем случае не забывать про возможные риски. Регулярные эксперименты с различными фреймворками помогут ощутить не только потенциальную выгоду, но и недостатки.

Работа разработчика заключается, главным образом, в решении технических задач, поэтому очень важно работать с проверенной технологией, за которой стоит большое сообщество и которая увеличит вашу продуктивность.

Перевод статьи Jake PrinsInteresting Web Technologies to follow in 2019