[Перевод] Лучшие фреймворки JavaScript и темы, которые стоит изучить в 2019 году

внешний интерфейс Программа перевода самородков внешний фреймворк

Фото: Джон Глиттенберг Happy New Year 2019 (CC BY 2.0)

Снова это время года: ежегодный технический обзор JavaScript. Наша цель — определить темы и технологии, которые имеют наибольшую рентабельность инвестиций в карьере. Что вы используете в реальном производстве? Какова текущая тенденция? Мы не будем пытаться найти лучшее, но будем использовать подход, основанный на данных, чтобы помочь сосредоточиться на темах и методах, которые помогут вам ответить на вопрос «Знаете ли вы ____?» на собеседовании.

Мы не будем анализировать, какой из них самый быстрый и у которого лучшее качество кода. Мы предполагаем, что все они демоны скорости, и все они достаточно хороши, чтобы выполнять вашу работу. Основная проблема заключается в следующем: что используется в масштабе?

каркас компонентов

Большой вопрос, на котором мы хотим сосредоточиться, — это текущее состояние фреймворка компонентов. Мы сосредоточимся на большой тройке: React, Angular и Vue.js, главным образом потому, что они используются гораздо чаще, чем другие действующие фреймворки.

В прошлом году я заметил рост Vue.js и упомянул, что в 2018 году он может догнать Angular. На самом деле этого не произошло, но Vue.js по-прежнему очень быстро растет. Я также предсказываю, что будет сложнее перевести пользователей React на другие фреймворки, поскольку React обеспечивает более высокое удовлетворение пользователей, чем Angular — у пользователей React нет веских причин для переключения фреймворков. В соответствии с моими ожиданиями на 2018 год. React прочно удерживал первое место в 2018 году.

Но что интересно, три фреймворка продолжают экспоненциально расти каждый год.

Прогноз: React продолжит лидировать в 2019 году

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

Когда дело доходит до React, он все время становится лучше. НовейшиеReact hooks APIЗаменяет то, что я еле выношу с версии 0.14classAPI. (classAPI все еще можно использовать, но API хуков действительнолучше). Улучшения React API, такие как лучшее разделение кода и одновременный рендеринг (Подробности) будет сложнее превзойти в 2019 году. Нет сомнений в том, что React теперь является самой удобной для разработчиков интерфейсной средой. У меня нет причин не рекомендовать его.

Источники данных

Мы сосредоточимся на нескольких ключевых моментах, чтобы оценить интерес и использование в реальном производстве (этих фреймворков):

  1. Тенденции в поиске Google. Это не мой любимый индикатор, но это хороший вид макросов.
  2. Загрузка пакетов. Цель здесь — получить реальных пользователей (данные), которые используют фреймворк.
  3. Indeed.comобъявление о вакансии на. Используйте ту же методологию, что и в прошлом году, чтобы результаты были постоянными.

Тенденции поиска Google

Тенденции поиска кадров: январь 2014 г. – декабрь 2018 г.

В тенденциях поиска React обогнал Angular в январе 2018 года и сохранял лидерство до конца года. Vue.js сохраняет заметную позицию на графике, но по-прежнему мало влияет на тенденции поиска. Сравнение: прошлогодняя диаграмма тенденций:

Тенденции поиска кадров: январь 2014 г. – декабрь 2017 г.

Загрузка пакетов

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

Проницательные читатели обнаружат, что иногда они загружают пакеты из внутренних источников своей компании, на что мой ответ таков: «Это случается — для этих трех сред». этих масштабных данных.

Ежемесячные загрузки React: 2014–2018 гг.

Ежемесячные загрузки Angular: 2014–2018 гг.

Ежемесячные загрузки Vue: 2014–2018 гг.

Давайте взглянем на быстрое визуальное сравнение доли загрузок:

«Но вы забыли Angular 1.0! Он по-прежнему важен для предприятия».

Нет, у меня нет. Angular 1.0 по-прежнему широко используется на предприятии, подобно тому, как Windows XP по-прежнему широко используется на предприятии. Этого количества определенно достаточно, чтобы его заметили, но новая версия Angular уже давно затмила Angular 1.0, который уже не так важен, как другие фреймворки.

Почему? Поскольку вся индустрия программного обеспечения иВсе отделы (включая корпоративные)Использование JavaScript быстро растет, а новые рамки могут создавать старые каркасы карлики, даже если этоникогда не обновлятьустаревшие приложения.

Доказательство тому, посмотрите на эти графики загрузки. В 2018 году было больше загрузок за один год, чем в предыдущие годы.суммаболее.

Количество размещенных объявлений о вакансиях

Indeed.com集合了许多招聘部门的招聘广告。 В годМы все сообщаем о том, чтобы упомянуть рекламу на вербовке каждой рамки.Чтобы дать вам лучшее представление о том, каких людей нанимают компании. Вот ситуация в этом году:

Декабрь 2018 г. Статистика объявлений о вакансиях для каждой платформы

  • Реагировать: 24 640
  • Угловой: 19 032
  • jQuery: 14 272
  • Vue: 2,816
  • Эмбер (не на рисунке): 2,397

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

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

Средняя заработная плата также выросла в 2018 году со 110 тысяч долларов в год до 111 тысяч долларов в год. Ходят слухи, что списки зарплат отстают от ожиданий новых сотрудников, и что если менеджеры по найму не адаптируются к рынку разработчиков и не предложат больше прибавок, им будет сложнее нанимать и удерживать разработчиков. Удержание и поиск талантов останется огромной проблемой в 2018 году, поскольку сотрудники переходят на более высокооплачиваемые должности в других местах.

  1. Методология: поиск работыIndeed.comПродолжил. Для того, чтобы убрать ложные срабатывания, я помещаю их в поисковое слово «программное обеспечение», объединяя для усиления релевантности, затем умножая на 1,5 (грубо говоря, это использовать ключевое слово поиска «программное обеспечение» и не иметь этого списка ключевых слов для программирования разница в работе). Все SERPS сортируются по дате и проверяются на зависимости. Результаты не являются точными на 100%, но их относительное приближение, используемое в этой статье, достаточно хорошее.

Основы JavaScript

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

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

Я всегда думал, что это серьезная проблема, которую необходимо решить, поэтому я написал эту тему:«Составление программного обеспечения».

Если вам нечему учиться в 2019 году, изучайте комбинаторное программирование.

TypeScript

TypeScript продолжает расти в 2018 году, и он будет по-прежнему переоценен, потому чтоТиповая безопасность не имеет большого значения(не очень хорошо снижает плотность ошибок в продукте), а в JavaScriptвывод типаЭто можно сделать и без помощи TypeScript. Вы даже можете делать вывод типов в простом JavaScript, используя движок TypeScript при использовании Visual Studio Code. Или установите плагин Tern.js для вашего любимого редактора.

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

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

Мой текущий рейтинг: очень классный вариант, ограниченные варианты использования, но переоцененный, неуклюжий и имеет низкую рентабельность инвестиций в больших производственных приложениях. Это иронично, потому что TypeScript называет себя «надмножеством JavaScript». Может быть, они добавят слово: «неуклюжий надмножество JavaScript».

Что нам нужно в JavaScript, так это система типов, которая ближе к Haskell, чем к Java.

Другие методы JavaScript, которые стоит изучить

  • для запроса сервераGraphQL
  • для управления состоянием приложенияRedux
  • для независимого управления побочными эффектамиredux-saga
  • react-feature-togglesдля упрощения непрерывной доставки и тестирования
  • RITEwayписать красивые, читаемые юнит-тесты

Расцвет криптоиндустрии

В прошлом году я предсказал, что блокчейн и финансовый учет станут важными технологиями, за которыми стоит следить в 2018 году. Это предсказание верно. Главной темой 2017-2018 годов стал рост и развитие криптоиндустрии.сеть создания стоимостиОсновы. Запомните этот этап. Скоро вы услышите это много раз.

Если вы похожи на меня, и вы следите за этими Dapps с момента взрыва P2P, это было долгое время. Этот взрывчатый рост неудерживается, поскольку Биткойн зажигал предохранитель и продемонстрировал, как децентрализованные приложения могут поддерживать себя благодаря криптоглазам.

Биткойн вырос на несколько порядков за несколько лет. Возможно, вы слышали, что 2018 год был «крипто-зимой», и вам казалось, что «криптоиндустрия борется». Это полная ерунда. На самом деле произошло то, что в конце 2017 года биткойн вырос до 10x на эпической экспоненциальной кривой роста, но рынок отступил, и этот откат происходил каждый раз, когда биткойн рос до 10x.

Биткойн 10x точка перегиба

На этом графике каждая стрелка начинается с точки 10x и указывает на самую низкую точку после коррекции цены.

Пик сбора средств для ICO криптовалюты (первичное размещение монет) пришелся на начало 2018 года. Финансовый пузырь 2017–2018 годов принес поток новых вакансий в экосистему, достигнув пика в январе 2018 года, когда было открыто более 10 000 вакансий. Эта тенденция сократилась примерно до 2400 вакансий (фундаментальноIndeed.comданные), но мы все еще находимся на заре (отрасли), и вечеринка только начинается.

О растущей криптоиндустрии можно многое обсудить, но это заслуживает отдельного поста в блоге. Если вам интересно, вы можете прочитать:«Блокчейн-платформы и технологии, за которыми стоит следить в 2019 году».

Другие технологии, на которые стоит обратить внимание

Как и предсказывалось в прошлом году, в 2018 году эти технологии продолжали стремительно развиваться:

ИИ/машинное обучениеВ самом разгаре, на конец 2018 года было открыто 30 тысяч вакансий. Глубокие подделки, невероятное генеративное искусство, потрясающие возможности редактирования видео, разработанные исследовательскими группами таких компаний, как Adobe  —  Никогда еще не было более захватывающего времени для изучения ИИ.

Прогрессивные веб-приложения (PWA)Это быстро стало способом создания современных приложений — с новыми функциями и поддержкой от Google, Apple, Microsoft, Amazon и других компаний. Невероятно, но я воспринимаю PWA на своем телефоне как должное. Например, мне больше не нужно устанавливать на свой телефон родное приложение Twitter. я просто используюPWA для Twitterзаменить его.

AR (дополненная реальность), VR (виртуальная реальность), MR (смешанная реальность), объединенные в XR (расширенная реальность), такие как Voltron. Грядет полное погружение в XR будущего. Я предсказываю массовый выпуск потребительских очков XR через 5-10 лет. Контактные линзы будут доступны через 20 лет. В 2018 году в отрасли открылись тысячи новых вакансий, и в 2019 году она продолжает расти.

Роботы, дроны и автотранспортные машины: В конце 2018 года был разработан автоматический полет БПЛА и продолжается оптимизация автоматического робота, и на дорогах появилось больше автономных транспортных средств. В 2019 году и в следующие 20 лет эти технологии будут продолжать развиваться и изменять мир вокруг нас.

квантовые вычисления2018 год был отличным, как и ожидалось, и, как и ожидалось, он все еще не стал мейнстримом. На самом деле, мой прогноз о том, что «он станет массовым в 2019 году или до того, как он действительно сломается», вероятно, слишком оптимистичен.

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

«Квантовые вычисления были в списке обмана ГАРТНЕР в 11 раз в период с 2000 по 2017 годы, каждый раз на самых ранних этапах сыпучих цикла, и каждый раз, когда он говорит, что мы десять лет».

Это напоминает мне о первых попытках искусственного интеллекта, которые начали накаляться в 1950-х годах, с ограниченными, но интересными результатами в 1980-х и 1990-х годах, но результаты стали захватывающими только в 2010 году.


Мы создаем цифровую коллекцию знаменитостей будущего:cryptobling.


Eric Elliottда«Написание приложений JavaScript»(О'Рейли) и«Изучайте Javascript с Эриком Эллиоттом»Автор двух книг. Он внес свой вклад во многие компании и организации, такие какAdobe Systems,Zumba Fitness,The Wall Street Journal,ESPNа такжеBBCи т. д., также являются ведущими художниками во многих учреждениях, включая, помимо прочего,Usher,Frank Oceanтак же какMetallica.

Большую часть времени он проводил в районе залива Сан-Франциско с самой красивой женщиной в мире.

благодарныйJS_Cheerleader.

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


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из ИнтернетаНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,товар,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.