×
Тенденции в программировании, ожидаемые в этом году

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

 

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

 

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

 

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

 

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

 

JavaScript

 

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

 

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

 

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

 

Преобладание бекенда как сервиса

 

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

 

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

 

Легкое управление и размещение образов

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

Плоский дизайн был в моде последние годы, как минималистичный подход к современному созданию пользовательского интерфейса, но в 2016 году может наступить эра материального дизайна. Apple являлась одним из главных сторонников плоского дизайна, который кардинально отличается от выполнения элементов интерфейса в 3D. Microsoft первой перешла к плоскому дизайну, представив 10 лет назад «Metro», затем она использовала его в Windows Phone 7 и сейчас в Windows 10.

 

Плоский дизайн Metro

 

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

 

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

 

Материальный дизайн

 

Заключение

 

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

 

Перевод: Вячеслав Гладков

 

Оригинал фото: codecondo, techcrunch, combatz, css-live