В удивительные времена живем: новые языки, технологии, инструменты и фреймворки появляются каждый день. Еще никогда технарям так весело не жилось. Однако в этом шуме легко потеряться. Постоянный колумнист TechCrunch, программист и ментор Мартин Пурьер выбрал пять глобальных трендов в программировании, которые, по его мнению, задают вектор развития всей индустрии.

Последняя версия JavaScript

Последняя версия ECMAScript (ES6), более широко известного как JavaScript, может сделать один из самых значимых прорывов в веб-девелопменте со времен предыдущей версии ES5, которая увидела свет в 2009 году.

JavaScript – самый распространенный язык программирования в мире. Почти каждый компьютер или мобильное устройство с веб-браузером совместимы с JavaScript. Но с появлением ES6 и новых функций, которые он несет в себе, веб-разработка может сильно измениться. Среди них: блок-контекстные переменные, а также новые константы, стрелки, которые упрощают синтаксис, интерполяции строк, классы, модули и многое другое.

Новая версия JavaScript быстро набирает популярность в топовых браузерах. В 13-й версии Microsoft Edge уже поддерживаются почти 80% ее функций. В этом году ES6 точно будет поддерживаться в Edge, Chrome, Firefox и пойдет дальше шагать по планете.

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

Преобладание подхода “бэкэнд как сервис” (BaaS)

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

Backend as a Service (BaaS) – общая номенклатура таких утилит, а их популярность гарантировано возрастет, в частности, в корпоративном сегменте, где масштабируемость – огромное бремя для больших приложений. С BaaS, такими как Parse, инженерные и операционные команды могут сфокусироваться на конкурентоспособности компании, в то время как базовые функции и связанные с ними накладные расходы полностью обрабатываются на стороне.

Простое управление и развертывание образов

Хотя BaaS стал ответом на потребность девелоперов легко подключать облака к проектам или API социальных сетей, множество приложений до сих пор полагаются на локализированные стеки и хорошо подготовленные сервера. К сожалению, резервирование сервера по своей сути – сложный и времязатратный процесс.

Такие сервисы, как Packer и Docker, позволяют инженерам быстро создавать машинные образы на существующих версиях операционных систем, библиотек, языков и фреймворков. Эти образы называются контейнерами. Они легко воспроизводятся и позволяют быстро расширить существующие сервисы или быстро создавать новые.

Если ваша операционная команда еще не обсуждает эту тему, то самое время начать. Если обсуждает, а вы не прислушиваетесь, то зря.

Усиление акцента на функциональные языки программирования

Поскольку современным приложениям необходимы все большие пропускная способность, объемы хранилища данных и процессинг, становится понятно, что модель single-machine морально устаревает. Чтобы реально масштабировать систему, нужно параллелизировать ее настолько, насколько это возможно. А это приводит нас к функциональным языкам программирования вроде HaskellClojure, Scala и Erlang. Соответственно, растет спрос на программистов в данных средах.

Императивное программирование в основном полагается на изменяемое состояние (изменение значения объекта в процессе выполнения), а функциональное программирование ФОКУСируется на неизменном состоянии, в котором задекларированный объект сохраняет свое значение на протяжении всего процесса. Следовательно у функциональных языков есть важное преимущество перед императивными и объектно-ориентированными языками: они по своей сути предназначены для поддержки параллелизации и тяжелой конкурентности.

Если вы четко знаете, что ваши данные не будут меняться в процессе выполнения программы, и что ваши функции транзитивны (неизменны), приложение может выиграть от облегченных функциональными языками масштабирования и распределенных вычислений.

Объектно-ориентированное программирование в ближайшем будущем никуда не денется. Но в условиях, когда пользователи хотят более быстрых результатов поиска, а исследователи – более точных, функциональное программирование получит больше внимания, будучи самым очевидным решением.

Движение в сторону Material Design и общности моделей

Несмотря на то, что в последние годы балл правил плоский дизайн и минималистический подход к UI, в 2016 году фокус может сместиться в сторону material design.

Apple – самые стойкие приверженцы плоского дизайна, которые вывели из моды объемные элементы интерфейса. Microsoft подхватил эстафету со своим Metro-дизайном в 2010 году. Но Google сделал по-своему и ушел в сторону “естественного дизайна”. Градиент, тени и блики отсылают в эру функциональности старого-доброго объемного дизайна. Более светлый или темный тон элемента может свидетельствовать о том, кликабельный он или нет.

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

Выводы

Это будет волнительный год для веб-программирования, начиная с фундаментальных технологий и заканчивая пользовательским опытом. С выходом ECMAScript6 в июле 2015 года обновляется самый вездесущий язык. С BaaS нивелируется большой массив головной боли для девелоперов. Функциональные языки становятся мейнстримом, а material design постепенно унифицирует UI на всех типах устройств.

Независимо от того, на какой позиции и в какой сфере вы работаете, подумайте, какие преимущества эти новинки могут дать именно вам.