Осмелимся сказать, что веб-разработка сегодня является крупнейшей отраслью всей индустрии программирования. Сейчас активными считаются почти 200 миллионов сайтов (из более чем 1,5 миллиарда сайтов в сети!).
Рост веб-разработки привлек большое внимание к этой части отрасли, что привело к появлению множества различных решений для создания проекта веб-разработки. Это может стать проблемой не только для начинающих разработчиков, но и для всех, кто хочет создать веб-приложение и теперь сталкивается с проблемой выбора технологии, которая воплотит их гениальную идею в жизнь.
При выборе технологического стека нужно учесть многое. Для начала вы можете выбрать между настройкой готовых решений (CMS) и инвестированием в индивидуальное программное обеспечение. Но это только начало.
Мы считаем, что важно следить за тенденциями, и это не значит, что мы должны вскакивать на ажиотаж каждый раз, когда мы видим, что новые технологии становятся вирусными. Итак, с учетом всего сказанного, давайте попробуем ответить на вопрос: какие изменения ожидают веб-разработку в течение следующих пяти лет?
Frontend считается (или, возможно, раньше) проще, чем backend-разработка. Разработчики могут использовать в своей работе язык разметки, стили и клиентские скрипты. Мы сосредоточимся на третьей части этого трио, поскольку считаю, что HTML5 (и его следующие обновления) и Sass/Less останутся наиболее распространенными инструментами, которые не претерпят серьезных изменений.
Итак, будет ли JavaScript по-прежнему доминировать в качестве основного языка клиентского интерфейса?
Что ж, мы так полагаем. Hypescript Typescript может даже обогнать сам язык, на котором он основан, благодаря своей растущей популярности. Потребность в безошибочном и безопасном коде внешнего интерфейса является насущной потребностью во многих проектах. Никто не хочет, чтобы их сайт сломался из-за крайнего сценария, который команда QA не предсказала. Это также помогает сократить расходы на тестирование (но не делает тестирование ненужным!).
Это не значит, что Typescript не имеет дефектов. Вы только посмотрите на это маленькое чудовище:
ComponentClass<Pick<RouteComponentProps<any,StaticContext, any>, never>, any> & WithRouterStatics<(props: PropsWithChildren<RouteComponentProps<any, StaticContext. any>>) => Element>
Однако теперь у нас есть несколько новых, более безопасных и быстрых способов написания клиентских скриптов . Такие языки, как Dart или Elm, будут медленно развиваться и стареть, но мы думаем, что они останутся нишевыми и не станут такими популярными, как JavaScript. Тем не менее, если вы ненавидите красные чернила и хотите писать защищенный от ошибок код внешнего интерфейса — выберите любой из этих двух.
Веб-ассемблер WASM, который все еще разрабатывается и продолжает расти, также позволяет выполнять тяжелые вычисления с помощью таких языков, как Rust. Это может быть хорошим решением для веб-инструментов, таких как Figma, которая в прошлом была областью только программного обеспечения для настольных компьютеров.
Возвращаясь к JavaScript и его библиотекам, думаем, что будет два основных пути для создания внешнего интерфейса веб-приложений: на основе React и Angular. Vue уже отстает от них, и эта тенденция, вероятно, продолжится (но, может быть, мы ошибаюсь, и версия 3 принесет изменения?).
С нетерпением ждем будущих улучшений и роста популярности замечательной маленькой библиотеки Preact. Мы надеемся, что это решение привлечет больше внимания в ближайшие годы, поскольку оптимизация времени загрузки веб-сайтов останется важной проблемой.
Основываясь на отличной лекции Ричарда Фельдмана на ReactiveConf 2019, основная проблема, ожидающая Javascript, может быть связана с безопасностью. Самый популярный менеджер пакетов NPM в этом году сломал 1 миллион пакетов , и это число продолжает расти. Каждый из них может запускать js-файлы после установки с помощью Node. Это вопрос времени, когда кто-то запустит что-то вредоносное и использует его на огромной части машин разработчиков.
Есть ли способ защититься от этой угрозы, вообще не избегая использования NPM? Что ж, просто запустите эту команду конфигурации в своем терминале:
npm config set ignore-scripts true
Иногда это может усложнить вашу жизнь при установке пакетов, но в конечном итоге, стоит знать, какие скрипты запускает ваш терминал, когда вы выполняете простой npm i package_name.
В этой статье мы обобщили некоторые будущие тенденции в веб-разработке с упором на интерфейсные технологии. Когда дело доходит до бэкэнда, еще есть о чем поговорить — не только о языках, базах данных и протоколах (веб-сокеты!), Но и о его архитектуре (микросервисы!, бессерверность!), Процессе разработки (все в облаке!) и даже о популярности несколько нишевых алгоритмов (машинное/глубокое обучение, искусственный интеллект).
Выбор хорошего технологического стека приводит к более масштабируемому и легкому обновлению кода. В результате это помогает избежать дорогостоящих решений, таких как переписывание всего продукта в соответствии с новыми технологиями. Вот почему разумно обращать внимание на последние тенденции в веб-разработке, если вы планируете в ближайшее время создать веб-приложение.