Главная » Статьи » Лучшие перспективы развития JavaScript в 2018 году

Лучшие перспективы развития JavaScript в 2018 году

Лучшие перспективы развития JavaScript в 2018 году

От автора: если вы живете под скалой или похоронены в проектах на протяжении 2017 года, то статья про перспективы JavaScript для вас. Многое произошло в 2017 году, когда мы внимательно следили за X-Team , создавая к 2018 году множество действий и инноваций. Вы также можете использовать этот пост как руководство для планирования своего роста в качестве разработчика в 2018 году, который поможет получить более инновационные проекты.

React vs. Vue.js

Как создать блог React на основе Gatsby за 10 минут

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

Поскольку мы смотрим в будущее, то собираемся следующие 2 года интенсивно наполнять большим волнением за Vue.

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

Итак, что даёт Vue?

Vue делает то, что делает разработчиков по-настоящему счастливыми:

Он лёгкий в освоении, имеет невероятное оснащение, отличное управление и неотъемлемую маршрутизацию (!) И т. д.

Сообщество Vue, конечно же, не так велико, как React, но сообщества растут на основе того, есть ли у основной команды отличные послы и прислушиваются ли к ним сообщества (оба из которых существуют).

Когда дело доходит до компетентных разработчиков, давайте не будет забывать об эпичном провале Facebook в этом году с неразберихой в лицензиях BSD + Patents, которые были одобрены разработчиками.

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

Вот отличная рецензия на React vs. Vue vs. Angular с этого года.

Каков вероятный конец сценария? Facebook делает то, что он делает лучше всего: копирует новаторов, и мир продолжает использовать React.

Все же каждый JS разработчик должен попробовать изучить Vue.js. Этот фреймворк наделал шороха, и мы видим потребность рынка в разработчиках Vue.js. Как минимум, вы можете быстро подзаработать.

Next.js

Всегда есть Next.js, который мы будем называть «страховкой для React».

React связанный с Next.js, значительно приближает вас к Vue с точки зрения оснащения, разделения кода, маршрутизации и управления состоянием, что позволяет также сохранить массивную экосистему и поддержку React.

Также особенно полезны серверные рендеринговые приложения, созданные в React, как сама по себе растущая тенденция.

Кроме того, добавьте в Now.js (созданную той же командой), и у вас есть супер быстрый способ развертывания приложений React.

Поскольку обсуждение Vue и React продолжается среди команд разработчиков и менеджеров, ожидайте увидеть все больше и больше участия Next в тандеме с React.

Angular

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

Многие крупные компании приняли Angular 1.0 много лет назад, и, поскольку они стремятся перейти к чему-то лучшему в 2018-1919 годах, они будут рассматривать React или Vue.js в качестве потенциальных альтернатив Angular 2.

Остальные сторонники Angular заняли позицию, согласно которой Angular станет JS основой для предприятия, поскольку крупные компании, такие как проекты ОС, поддерживаются крупной компанией (Google). Но можно ли так же рассуждать о React и Facebook? Здесь всё, что вам нужно знать о том, что произошло с Angular в 2017 году.

Reason

Всегда стоит обратить внимание на всё, что использует Facebook на производстве.

Facebook теперь использует Reason (взят уже хорошо зарекомендовавший себя OCaml) для веб-версии Facebook Messenger , среди других проектов (WhatsApp, Instagram, Ads и т. д.).

В 2017 году они также выпустили reason-react, который создает привязки для React, так что вы действительно можете написать код reason, который компилируется в идиоматический ReactJS.

Представьте себе, что вам не нужно устанавливать Babel (+ много плагинов), Flow и т. д., И требуется только сила OCaml + Reason (которая теперь поддерживает привязки React). Это большая тенденция, ожидающая взрыва.

В этом году в области JS было гораздо больше внимания к js, чем в большинстве других языков компиляции (извините, Elm, мы все равно вас любим), поэтому в 2018 году можно продолжать наблюдать и наслаждаться.

GraphQL

GraphQL — это язык запросов для API (думаю: современный подход к REST).

GraphQL оправдал себя в 2017 году, и такие крупные компании, как Yelp, Spotify, Github, Walmart, NYTimes и т. д., теперь имеют API на основе GraphQL.

Некоторые из этих API-интерфейсов даже являются исключительно графическими, без возможности выбора REST. Проще говоря: инновационные компании ставят свои ставки на GraphQL.

API RESTful, безусловно, далек от мертвых, но, опять же, глядя на тенденции перемещения стартапов, GraphQL является популярным вариантом.

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

Сейчас, безусловно, самое время, чтобы начать изучение GraphQL, если хотите получить работу в инновационных компаниях.

Redux, Relay Modern и Apollo

Redux — это популярный проект Дэна Абрамова / Эндрю Кларка, который быстро стал решением для управления государством и сбора данных в React.

Но GraphQL действительно потрясающая вещь в Redux, прежде всего, когда дело доходит до сбора данных.

Теперь у нас есть Relay Modern (созданный Facebook) и Apollo , графические оболочки GraphQL, которые позволяют вам получать и передавать данные GraphQL в ваше приложение React более эффективны, чем Redux.

Но, как о Relay / Apollo / Redux говорит один разработчик: Эти рамки и их преимущества не обязательно должны быть взаимоисключающими. Фактически, их совместное использование может обеспечить отличное разделение проблем, которое так важно для веб-разработки.

Это означает, что вы все еще можете использовать Redux в тандеме с Relay, используя Redux для локального состояния и некоторого сложного состояния без сервера, а затем Relay для извлечения.

Но сообщество стремится к тому, чтобы упростить это (и пока единственный ответ — Vuex / Vue.js / Apollo или Cashay).

Storybook

Storybook — это среда для определения, разработки и тестирования компонентов пользовательского интерфейса.

Как создать блог React на основе Gatsby за 10 минут

В начале года он практически не работал, а в середине 2017 года он стал массово популярен благодаря огромным усилиям сообщества. Это такая вдохновляющая история о том, как работа с открытым исходным кодом должна развиваться и заслуживать внимания.

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

Вероятно, вы уже сталкивались с проектом с открытым исходным кодом, используя Storybook, но для того, чтобы увидеть его в действии, ознакомьтесь со Storybook для Airbnb.

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

Бонус: Также попробуйте React-bluekit, альтернативу Storybook, которую использует команда разработчиков Netflix для своей библиотеки компонентов.

Prettier

Как следует из названия, Prettier — это форматирование кода, которое делает ваш код более читабельным, ну и красивым. Было:

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

Стало:

foo( reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne()
);

Разработчики любят этот простой и ценный проект, с более чем 18 000 звезд в Github. Он также используется в куче других проектов, которые вы, вероятно, уже знаете и любите, например, Webpack, React, Next.js, Babel и других. Опять же, вы можете просто стать разработчиком Go и даже не устанавливать его.

Jest and Enzyme

Когда дело доходит до тестирования JavaScript, Jest, безусловно, берёт на себя инициативу, а Enzyme становится отличным дополнением, когда специально создаются приложения React.

Как вы здесь видите, Jest теперь доминирует над Jasmine в загрузках. Функция Snapshots Jest появилсь в 2017 году, что делает ее гораздо менее болезненной для тестирования. Посмотрите беседу на React Conf 2017, чтобы узнать побольше.

Enzyme, созданный инженерной командой Airbnb, представляет собой библиотеку JavaScript для тестирования компонентов React. Он поднялся до 12 000 звезд в Github с 2016 года.

Snapshots Jest’s + супер простой API-интерфейс для тестирования. React компоненты делают отличные комбо-тесты, которые будут продолжать расти в 2018 году.

Webpack

Webpack стал самым популярным поставщиком активов. У Webpack также был НЕВЕРОЯТНЫЙ год. На этот раз в прошлом году Webpack даже имел документацию, и большинство разработчиков понятия не имели, что с ней делать.

Затем, к началу года, я написал о том, насколько невероятным было то, что Webpack собрал $ 15 000 за 3 месяца ( и как мы счастливы быть одним из первых спонсоров ) для поддержки проекта. Теперь у них есть сотни тысяч долларов на финансирование.

Webpack не только прокладывает будущее, чтобы проекты с открытым исходным кодом могли процветать, но и сохраняет свой огромный импульс в развитии проекта в течение года.

И с Шоном Ларкином, который, к счастью, все еще возглавляет движение Webpack, на самом деле нет конца тому, чего Webpack способен ещё достичь.

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

Parcel

Но с каждой массивной тенденцией растет усилие недовольных разработчиков.

Parcel, конкурирующий поставщик, набирает обороты довольно быстро, когда в 2017 году он собирает 12 000 звезд Github и идёт сразу после Webpack.

Суть Parcel заключается в том, что все другие связки стали слишком раздутыми, а Parcel работает в два раза быстрее при наборе в виде Webpack (в 10 раз быстрее при использовании своего кэша).

Это также связано с несколько запутанной настройкой конфигурации- у Webpack, как и у Parcel, нет необходимости в настройке.

«Просто укажите его в точке входа вашего приложения, и он всё сделает правильно».

Хотя упрощение конфигурации и улучшение скорости — отличные улучшения, я не удивлюсь, если Webpack не скопирует эти улучшения к первой половине 2018 года.

Подобно Vue vs. React, маленький парень всегда будет обновляться быстрее, но это зависит от того, чтобы большой парень был вдохновлен этим нововведением и улучшил свои проекты.

Обновление: теперь Webpack v4 поставляется с нулевой конфигурацией.

Gatsby

Gatsby является статическим генератором сайтов для React, созданным Кайлом Мэтьюсом. С тех пор, как Кайл начал работать в Gatsby с прошлого года, генератор действительно стал набирать обороты. Этому нет лучшего доказательства, чем факт, что сам сайт React построен с использованием Gatsby. Gatsby обеспечивает быстрый доступ к Интернету в React. Эта диаграмма с их сайта даст вам представление о том, как это работает:

Как создать блог React на основе Gatsby за 10 минут

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

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

Для получения дополнительной информации о Gatsby, прочитайте этот пост. Мы были также рады спонсировать развитие Gatsby в этом году.

Babel

На данный момент Babel не нуждается в представлении и по-прежнему остается тенденцией по умолчанию.

В целом, это был хороший год для Babel, в основном сосредоточенный на строительстве Babel 7 (мы надеемся, начнем в начале 2018 года). Самое главное, они написали песню :)

Единственное беспокойство Babel в настоящее время (помимо его экстраординарного сопровождающего, которое принимает неопределенный / неопределенный разрыв с проектом ), похоже на то, что Reason становится основным.

Но на данный момент Babel должен оставаться сильным в течение 2018 года. Мы также были рады спонсировать Babel в этом году.

Flow & Typescript

Typcript и Flow являются отличными статическими типами для JavaScript-разработчиков, которые используются для улучшения качества кода.

Вероятно, мы не увидим, как один из них обгонит другого в 2018 году с точки зрения популярности, поскольку оба выживали вместе, выступая в разных случаях использования.

Flow, созданный Facebook, является предпочтительным выбором для разработчиков React, поскольку он легко интегрируется с Babel, также широко используется в проектах React.

TypeScript, созданный Microsoft, популярен среди разработчиков Angular 2+, поскольку это основной язык.

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

Immutable.js

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

Проще говоря: Immutable.js , еще один проект Facebook, гарантирующий, что состояние не мутирует с помощью неизменяемых (неизменяемых) объектов.

Как отметил наш друг-redditor, это может быть невероятно полезно для большой команды разработчиков, которая может непреднамеренно испортить состояние.

Данные, инкапсулированные в объект Immutable.JS, никогда не мутируют. Новая копия всегда возвращается. Это контрастирует с JavaScript, в котором некоторые операции не мутируют ваши данные (например, некоторые методы Array, включая карту, фильтр, concat, forEach и т. д.), Но некоторые делают (Pop, push, splice и т. д.).

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

В настоящее время с 20 000 звездами на Github, Immutable.js вырос в популярности с 2017 года и, как можно ожидать, продолжит расти в 2018 году, так как разработчики начинают тратить время на понимание концепции и компромиссов.

Popmotion

Popmotion — это быстро набирающая звезды в Github библиотека движения JavaScript.

Как создать блог React на основе Gatsby за 10 минут

Это как, если бы Flash скрестили с jQuery

Теперь я понимаю, что использование этих двух слов в одном и том же предложении не помогает продавать эту все более популярную библиотеку.

Но чем больше вы погружаетесь в этот проект, тем больше вы обнаруживаете людей, у которых были серьезные проблемы с jQuery и Flash, и просто нужно было улучшить ситуацию.

И Popmotion — это действительно лучший опыт с множеством инноваций вокруг веб-анимации, только начинающей кипеть. Это то, за чем точно нужно следить в 2018 году.

Проверьте их сайт.

React Native и Electron

React Native позволяет создавать приложения React для мобильных устройств, а Electron позволяет создавать приложения для JavaScript для настольных компьютеров.

Оба стали хорошо зарекомендовавшими себя структурами в 2017 году, и оба являются отличными решениями для перехода от JavaScript к приложению Native. Некоторые известные приложения, созданные на Electron, включают в себя: Slack, Atom, Github Desktop и Discord. А популярные приложения, созданные с помощью React Native, включают в себя: Facebook, Instagram, Airbnb и UberEATS.

Как создать блог React на основе Gatsby за 10 минут

Теперь вы можете создавать приложения React Native для Windows.

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

Бонус: Web Assembly

Теперь все 4 браузера поддерживают Web Assembly, и у нас почти всё работает. Пока еще слишком рано называть это тенденцией к 2018 году, поэтому мы поговорим об этом через 12 месяцев.

Но держите это на своем радаре, так как все сейчас очень внимательно за этим следят.

Учебные материалы на 2018 год

Посмотрев на все тенденции вперед, вот что мы рекомендуем вам изучить в 2018 году, чтобы оставаться конкурентоспособным как удаленный разработчик и раскрыть свой потенциал:

Будьте смелы , изучите Vue.js

Каждый разработчик React должен изучить Next.js

Начните изучение Reason (и ReasonReact ) и попробуйте его в стороннем проекте.

GraphQL является обязательным для вашего списка дел 2018.

Вслед за этим изучается Relay Modern , альтернативный вариант для извлечения данных в приложениях React + GraphQL.

Storybook! Storybook! Storybook!

Установите Prettier в проект и сделайте код более читаемым.

Ознакомьтесь и используйте снимки Jest в тандеме с проектом Enzyme on React.

Изучите Flow (React developers) или TypeScript (все остальные).

Рассмотрим Gatsby для создания чего-то из Markdown -> Static pages.

Создайте мобильное приложение, используя React Native.

Создайте настольное приложение с помощью Electron.

Играйте с Popmotion, чтобы создать плавную анимацию.

Автор: Ryan Chartrand

Источник: https://hackernoon.com/

Редакция: Команда webformyself.