5 трендов программирования в 2016 году, которые изменят индустрию

55249
19

В удивительные времена живем: новые языки, технологии, инструменты и фреймворки появляются каждый день. Еще никогда технарям так весело не жилось. Однако в этом шуме легко потеряться. Постоянный колумнист 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 на всех типах устройств.

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

Оставить комментарий

Комментарии | 19

  • Мая — молодец. Хорошая статья, спасибо

  • Material — не тренд. Их парадигма большой красной кнопки позволяет дизайнерам отключить мозг от проектирования удобного интерфейса и лепить ее в самые неожиданные места, наивно поверив заявлениям Гугла, что человек ее найдет сам, потому что она красная. Также как недообъем. Это профанация. Человек воспринимает либо качественно сделанный объем, либо плоскую абстракцию. Материал предлагает вернуться лет на 20 назад к графике окон линуксовых дистрибутивов. Опять же дизайнер наивно полагает, что псевдо объемом заменит продуманный лейаут.
    Не тратьте время на Material.
    Что касается функциональных языков, то, не смотря на разумность доводов, они все-равно не станут мэйнстримом ни в этом, ни через пару лет. Слишком сильна уверенность в том, что «настоящий ООП» — инструмент универсальный, а, значит, может и так и этак. Ни заказчик, ни девелопер не поставят все на функциональный язык.
    А вот стек MEAN тот вполне себе уверенно пробивает дорогу. Зря Вы его не упомянули

  • Все будет ЖабоСкрипт. Все остальное булшит 😉

  • Чтобы реально масштабировать систему, нужно параллелизировать ее настолько, насколько это возможно.

    Вот тут нужно было Go упомянуть, который набирает обороты в популярности с каждым годом. Упомянутые Docker и Packer, к слову, на Go написаны.

  • Apple — самые стойкие приверженцы плоского дизайна, которые вывели из моды объемные элементы интерфейса. Microsoft подхватил эстафету со своим Metro-дизайном в 2010 году.

    Не перекручивайте 😉 Apple выпустил плоскую iOS 7 только в 2013… так что еще вопрос кто у кого «подхватил эстафету».

    А в целом статья познавательная, спасибо!

  • Чтобы узнать больше о функциональном программирования на Scala, приходите на конференцию ScalaUA, см. подробнее на http://www.scalaua.com

  • Релиз интерфейса Metro вышел в 2010 году, с использование плоского дизайна. В 2012, Apple выпустил iOS6, ещё со скевоморфизм дизайном. Именно компания Microsoft активный инициатор плоского дизайна, а не компания Apple. Уже молчу о глобальном редизайне всей линейки программной продукции Microsoft в 2015 году

  • Статья какой-то сплошной хайп. По поводу js меня уже тошнит от этих свидетелей светлого ES’а. ES6 пока что не принес ничего кардинально нового, все это пока сахар и ничего более, к сожалению. Да, язык развивают, но кричат об этом еще больше и это уже раздражает. Все это уже было лет 15 назад, в других нормальных языках программирования, взять туже Java или ActionScript. Неужели нельзя взять и сделать чтото действительно стоящее из всей этой JS каши?

  • И хотя BaaS в списке и в Интернете полно шума вокруг этого, тем не менее на прошлой неделе Facebook объявил о закрытии Parse через год. Сервис будет полностью приостановлен 28 января 2017го, о чем гласит уведомление на официальном сайте (http://parse.com/). Так что все спорно на счет трендов. С другой стороны закрытие Parse можем послужить поводом для появления нового игрока на рынке.

  • Однако казус с Parse вышел 🙂
    An Important Announcement.

    Parse’s hosted services will be fully retired on January 28, 2017. We’re proud that we’ve been able to help so many of you build great mobile apps. Read more on this announcement and what this means for your app here. Thank you for using Parse.

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

  • Броуновское движение, вокруг, да около….
    Вырастают новые программисты, которые не хотят изучать старые термины и ЧСВ вынуждает их выдумывать новую терминологию для старых вещей. Это все равно, как если бы сапожник называл свои сапоги каждый год по другому. Суть не меняется, но название новое, и можно потенциальным инвесторам впарить очередную «новинку».

Поиск