Светлана Шаповалова, редактор «Нетологии» перевела статью Гоутама Агравала о том, какие тренды индустрии разработки веб-приложений надо знать каждому веб-разработчику, чтобы оставаться успешным и востребованным.
Лет десять назад веб рассматривался лишь как инструмент для обмена информацией о предприятиях, продуктах и услугах. Никто не и думал, что первоначальные элементы сети станут базисом для приложений, которые теперь повсюду, на всех устройствах и экранах.
Сегодня веб — это важнейшее средство предоставления простых и понятных интерфейсов для потребительских и корпоративных приложений. Он настолько распространен, что подавляющее большинство приложений, изначально создававшихся на мобильных и настольных платформах, сейчас разрабатываются с помощью веб-технологий.
Современный интернет требует от разработчиков постоянного наблюдения за развитием веб-технологий, иначе сделать свои проекты успешными просто не получится.
В этой статье я расскажу о том, что должен знать современный веб-разработчик, чтобы оставаться конкурентоспособным в этом новом мире.
Фреймворки JavaScript
Современный JavaScript превращает практически все веб-сайты в интерактивные и функциональные веб-приложения. Потребительские веб-приложения, такие как Facebook, Pinterest, Netflix и почти все современные приложения, используют JavaScript — это делает пользовательский интерфейс проще и удобнее. Даже крупные предприятия вроде банков и медицинских компаний обратились к веб-приложениям, чтобы вести работу с клиентами.
Сам по себе JavaScript мало чем полезен разработчикам. Если использовать чистый JavaScript, приложение окажется невероятно громоздким. Благодаря фреймворкам можно получать абстракции для архитектурных шаблонов, а компоненты пользовательского интерфейса, управления данными и многое другое делает разработку приложений проще.
Сегодня существует множество фреймворков JavaScript, и выбор чаще всего сводится к тому, какие функции требуются разработчикам для конкретного приложения. Подробное сравнение фреймворков JavaScript есть в Википедии.
ECMAScript (ES2015, ES6, ES7, ES2016)
То, что часто называют JavaScript, на самом деле является надмножеством ECMAScript. Из-за абстракций JavaScript более функционален, но ядро языка определено ECMAScript, которые находится под управлением ECMA International. Несмотря на то что JavaScript стал действительно популярным в последние пять лет, сам язык не обновлялся с 1999 года, со времен ECMAScript 3. Несколько обновлений, начиная с версии 3, были отвергнуты — в них было много излишеств.
Последний стандарт, который используется сегодня всеми браузерами, — это ECMAScript 5 (или ES5), опубликованный в 2009 году. ES2015 (часто называемый ES6) — это новейшая версия стандарта ECMAScript, реализованная в большинстве браузеров. Новые функции ES2015 позволяют использовать модули для улучшения организации кода, классы для чистого объявления многократно используемых единиц функциональности и многое другое. С полным списком функций ES2015 можно ознакомиться на сайте ECMA International.
Поскольку не все браузеры полностью поддерживают ES2015, иногда разработчикам требуется трансляторы вроде Babel для компиляции кода обратно в ES5 и обеспечения совместимости с целевыми браузерами.
Progressive Web Apps
Веб-приложения легко найти в интернете, и каждому пользователю гарантирован доступ к последней версии. Тем не менее они все еще не поднялись на планку, заданную нативными приложениями. Функции вроде push-уведомлений и офлайн-доступа по-прежнему заставляют мобильных пользователей тяготеть к нативным приложениям. Однако появилось новшество, которое может это изменить.
Прогрессивные веб-приложения (Progressive Web Apps, PWAs) приближают мобильный веб к нативному опыту.
Термин PWA ввела компания Google в 2015 году для веб-приложений, которые обеспечивают расширенный веб-опыт с использованием служб для автономных возможностей и доступа в сетях низкого качества. Благодаря процессу обновления рабочих служб, PWA всегда актуальны. Манифест PWA и область регистрации служб делают их доступными для обнаружения, поэтому поисковые системы легко их находят.
PWA используют функции вроде push-уведомлений, а пользователи могут устанавливать их, не тратя времени на поиск в магазинах приложений. Все эти функции реализованы в популярных браузерах, включая Chrome, Firefox и Edge, только Safari отстает в реализации функций PWA.
Бекэнд Node.js
Растущая популярность JavaScript принесла множество изменений в бекэнд-технологиях для веб-приложений. Сегодня с помощью Node.js разработчики превращаются в фулстак-специалистов, используя JavaScript, работающий на серверной стороне, для бекэнда. Node.js, серверная платформа, построенная на движке JavaScript V8 от Chrome, использует управляемую событиями модель, что делает ее очень эффективной для бекэнда с интенсивным обменом данных в режиме реального времени.
Основное преимущество Node.js в том, что разработчики могут создавать приложения, в которых как клиент, так и сервер могут инициировать обмен данными — такой подход сильно отличается от модели «запрос-ответ», которую привыкли использовать в интернете.
Контейнеры
Исторически так сложилось, что одна из самых больших проблем в любом проекте по разработке программного обеспечения (не говоря уже о веб-разработке) — это отсутствие согласованности в средах разработки. Коду приходится проходить через различные инфраструктуры: разработку, тестирование и производство.
Контейнеры — это новый способ управления и репликации сред со всеми зависимостями приложений и требованиями к ресурсам.
Они обладают высокой последовательностью и масштабируемостью. Контейнеры помогают легко упаковать весь код приложения, конфигурации, зависимости и прочее — это обеспечивает быстрое и простое развертывание независимо от среды.
Пока Docker, Kubernetes и Mesos лидируют в контейнерных технологиях, Microsoft, Google, Amazon и все остальные предлагают сервисные предложения, поскольку это минимизирует затраты на настройку среды и инфраструктуры.
Git — контроль версий
Использование контроля версий не ново для разработки программного обеспечения. Системы управления версиями отслеживают изменения кода, поэтому, если что-то пошло не так, разработчик может легко вернуться к рабочей копии.
Сегодня Git стала самой популярной системой управления версиями. Умение использовать Git обязательно для разработки любого приложения, и особенно для веб-разработки.
Отзывчивый и адаптивный дизайн
Сегодня с мобильных устройств в интернет выходит больше пользователей, чем со стационарных компьютеров. Мобильный и настольный форм-факторы по сути своей отличаются не только размерами, но и ориентацией (пейзаж или портрет).
До появления мобайла разработчики строили интерфейсы, которые масштабировались в зависимости от размера экрана монитора пользователя, будь то настольный компьютер или ноутбук. Но сейчас разработчикам требуются радикально иные конструкции приложений, потому что UX для настольных компьютеров и мобильных устройств не взаимозаменяемы.
Хотя на самом деле это не совсем навык разработки, знание гибких и адаптивных парадигм проектирования обязательно для разработчиков, ведь именно они на основе различных форм-факторов разрабатывают шаблоны для оптимального пользовательского опыта.
Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации.