Самые популярные тренды в программировании в 2016 - 2017 годах

основные тренды в программировании на 2016 год

В январе 2016 года вышла статья TechCrunch, в которой автор (М. Пьюрер) попытался предсказать основные тенденции развития сферы программирования на 2016 год. Но в мире разработки программного обеспечения (и мобильных приложений) все меняется очень быстро. Иногда сложно разглядеть тренды высокого уровня за всеобщим ажиотажем вокруг новых языков разработки, инфраструктур и инструментов. Теперь, когда 2016 год подходит к концу, давайте разберемся, насколько точными вышли предсказания. От редакции добавим, что по нашему мнению, очень интересным трендом является кросс-платформенная разработка мобильных приложений, который усилился после покупки Microsoft компании Xamarin (позволяет разрабатывать мобильные приложения с помощью Visual Studio... все проекты компании notissimus.com сделаны именно на его основе). Итак...

Распространение последней версии JavaScript

6-я версия JavaScript/ECMAScript (более известная как ECMAScript 2015 или ES6), была запущена в июне 2015, и автор предсказывал, что в 2016 ее новые функции получат широкое распространение, т.к. разработчики успели освоиться с новинкой этого веб- стандарта. Он оказался почти прав. Все основные браузеры и Node.js (открытый ресурс рабочей среды JavaScript) более чем на 90% совместимы с ES6. На данный момент мы видим гораздо больше синтаксиса ES6 в разработке, причем это не только внутренние утилиты и мелкие несущественные системы, но и первостепенные клиентские системы. Компании, не зависящие от устаревших клиентов, такие, как Airbnb и Google, включают синтаксис ES6 во внутренние руководства по стилю оформления.

Однако ES6 по-прежнему не получила полномасштабного одобрения. Некоторые разработчики вынуждены поддерживать старые версии JavaScript из-за проблем совместимости. Те из них, кто все же хочет использовать ES6, но вынужден подстраиваться под нужды клиентов, использующих старые версии браузеров, могут выйти из положения благодаря таким инструментам, как компиляторы или полизаполнение, применив их для конвертации нового кода ES6 в старый синтаксис. Кроме того, некоторые особенности ES6, например, хвостовая рекурсия, еще не были полностью реализованы в среде JavaScript (счастливым исключением являются Safari 10 и iOS 10). По этой таблице можно определить, совместима ли ваша целевая платформа с ES6. Старая версия JavaScript тоже не исчезнет в один момент, но можно отметить значительное распространение  ES6 за 2016 год, и автор полагает, что многие обновляющиеся сайты также перейдут на ее использование. Думаю, это предсказание удалось!

Бэкенд в качестве сервиса

Применение сервиса бэкенд (или BaaS) стало более масштабным, как и было предсказано. BaaS – это практика использования сервисов третьей стороны для выполнения определенных повторяющихся задач в рамках проекта. Задания могут подразумевать облачное хранение, пуш- уведомления и т.д. Используя эти сервисы, разработчики могут сосредоточиться на своей специализации, предоставив последним делать то, что у них получится лучше. Сервисы бэкенд API наращивают обороты огромными темпами, т.к. фронтенд структуры подвергаются изменениям для упрощения взаимодействия с ними. Разработчики также все чаще прибегают к технике, называемой «композиция», когда целостная система складывается из нескольких небольших приложений. В таких системах малые приложения легко могут обеспечиваться третьими сторонами.

Простое внедрение электронных копий данных и управление ими

В 2016 году такие сервисы как Docker и Packer стали основными для многих команд разработчиков, как и было предсказано. Эти сервисы позволяют инженерам быстро создавать и дублировать электронные копии данных, называемые контейнерами, которые сочетают в себе компонент программного обеспечения со средой выполнения кода, системными инструментами, библиотеками и т.д., гарантируя таким образом нормальную работу в любой конфигурации. Разработчики могут быстро создать прототип проекта в упрощенной виртуальной среде с предварительно сконструированным автоматизированным управлением обновлениями, затем с легкостью перенести его на многочисленные серверы. Инициализация серверов вручную – это крайне непростой и длительный процесс, поэтому не удивительно, что его автоматизация так быстро прижилась. В число схожих инструментов, которые стали популярны в прошлом году, входят Vagrant (для легкой настройки проектной среды), а также PuppetChef и Ansible (для управления конфигурациями).  Средства работы с системами, основанными на контейнерах, стали неотъемлемой частью стандартного пакета разработчика. И не видно причин для замедления этой тенденции.

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

Популярность функциональных языков программирования, например, Haskell, Clojure и Scala, неуклонно росла в 2016. Повышение интереса к этим языкам для серверной стороны вызвано взрывным ростом количества смартфонов и прочих сетевых устройств, находящихся в употреблении, а также нашими возросшими ожиданиями, связанными с функционированием таких устройств. По мере того, как наши компьютеры, планшеты, смартфоны и прочие совместимые с ними гаджеты становятся мощнее, на серверах возникает проблема «бутылочного горлышка». Повышение способности серверов к выполнению параллельных задач увеличивает скорость их реагирования при взаимодействии с большим количеством подключенных устройств. Модель функционального программирования (по большей части) не фиксирует состояние, а это значит, что секции программного обеспечения легче и эффективнее могут быть запущены параллельно посредством различных ядер процессора или аппаратных платформ, причем сложная синхронизация не потребуется. Таким образом, у функциональной парадигмы имеется серьезное конкурентное преимущество над объектно-ориентированным подходом при выполнении параллельных задач, например, сетевых запросов.

Переход к материальному дизайну и общности графических шаблонов

В сфере графического дизайна за 2016 год тоже произошло много интересного. Не удивительно, что Google внедряет растущее количество элементов материального дизайна во все свои системы (ChromeOS, Android), приложения (Chrome, Drive, Google Play Music), сайты (YouTube, AdSense) и даже в сетевой поиск. Мы находим примеры материального дизайна в приложениях Android, таких, как Slack, Twitter, Spotify, Airbnb и Wikipedia, а также на сайтах, например, Asana, Geekbench и других. При этом адаптации для других платформ мы не увидели (iOS, Tizen, Windows, MacOS - совсем немного для Ubuntu). Прочие разработчики в различной степени продолжают использовать стили, характерные для этих платформ. По этому предсказанию автор лишь отчасти признает свою правоту. Если бы можно было перенести его на 2017 год,  сделали ставку бы на отказ от традиционных парадигм проектирования в пользу неграфических (Amazon Alexa, Siri, Cortana, Google Home) или экстра- визуальных интерфейсов (дополнительная реальность, виртуальная реальность).

Итог

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

ИСПОЛЬЗОВАНО ФОТО: БЕРНАРД ЛАНГ/БАНК ИЗОБРАЖЕНИЙ/ GETTY IMAGES
Источник статьи

Поделиться:
1119
Комментарии
Подписаться на канал
Наверх