Прежде всего, разберитесь с основами React, ES6 и базовой сборкой приложения React (NPM, Webpack, Babel).

Если вы еще не изучили React, вот книга, которую я написал, под названием React.js для Visual Learner.

Хотя технически это не является обязательной предпосылкой для прочтения этой книги, настоятельно рекомендуется понимать основы разработки на React с полным стеком с использованием Node.js и базы данных. Я рекомендую проверить Главу 7 из моей книги Redux From Scratch, если вам нужно быстро разобраться.

Что ожидать

Как следует из названия, Phoenix - это веб-фреймворк для написания внутреннего (серверного) кода, который предоставляет альтернативу серверным фреймворкам Node.js. Phoenix построен на языке под названием Elixir, а Node.js построен на JavaScript.

Я расскажу подробнее о различиях чуть позже, однако я хочу с самого начала прояснить, что эта книга будет написана для людей, уже знакомых с полнофункциональной разработкой JavaScript, для перехода к разработке с помощью Elixir / Феникс (а не наоборот).

Еще одна важная вещь, на которую следует обратить внимание, это то, что эта книга написана, когда я изучаю Эликсир / Феникс без предварительного опыта. Поэтому эта книга будет суперпрактичной. Причина в том, что когда у меня бывают моменты «а-ха», когда что-то щелкает, я могу объяснить вам, что именно заставило меня щелкнуть. Я также буду использовать рассказы, аналогии и наглядные примеры, чтобы повторить то, что я изучаю.

Зачем изучать Феникс?

Скорее всего, вы не слышали о Фениксе. В отличие от React, Redux, Vue.js и других тем, которые я затронул, вокруг Phoenix гораздо меньше «шума».

Когда вы выполняете поиск на Medium, проверяете свой Twitter и посещаете встречи по JavaScript, вы вряд ли встретите кого-то, кто поощрял бы вас перейти с Node.js и изучить Phoenix. Итак, зачем изучать Феникс?

Я отвечу на этот вопрос двумя способами. Во-первых, я позволю вам быть мухой на стене моего пути разработчика, чтобы вы могли понять, почему я считаю это полезным. Затем я дам более занудное объяснение и рассмотрю все технические преимущества по сравнению с Node.js.

Почему я склоняюсь к Фениксу

Я терпеть не могу «притворяться, пока не получится» и «сформировать очень резкое мнение о том, почему x - это здорово, а y - отстой, или вы не разработчик »Мировоззрение, которое витает в пространстве веб-разработки. Итак, позвольте мне быть очень прозрачным, чтобы отдохнуть от всего этого.

В настоящее время я безработный и пытаюсь повысить свои навыки. Лучший способ овладеть навыками - создавать контент, который учит других тому, что я изучаю. Я уже писал о React, React VR, Redux, MongoDB, Firebase и Node.js, поэтому я рассмотрел все основы разработки полнофункционального React. Теперь я могу написать о чем-то более дополнительном к этим основам.

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

  • GraphQL
  • Реагировать на SVG-анимацию
  • React Native
  • 3D моделирование
  • Preact
  • Машинопись
  • Immutable.js

Все вышеперечисленные варианты - это то, чему я хотел бы со временем научиться, однако я начал спрашивать себя: «Какой навык принесет мне наибольшую отдачу от вложенных средств?»

Вдобавок к этому я также заметил, что многие компании, нанимающие разработчиков на React, не имеют серверной части Node.js. Вдобавок разработчик, с которым я обедал, посоветовал мне выучить дополнительный язык.

Итак, я вспомнил разговор с другом-разработчиком, который сказал мне, что Phoenix супер классный. Phoenix построен на Elixir (функциональном языке программирования), очень хорошо работает с PostgreSQL (база данных SQL в отличие от MongoDB) и содержит встроенную технологию потоковой передачи под названием Каналы.

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

Почему Phoenix официально признан законным

Как упоминалось ранее, Phoenix построен на Elixir и Erlang VM. Несколько замечаний по этому поводу.

  • Elixir предоставляет более надежную систему типов, чем JavaScript (Node.js), без предварительной обработки, как в TypeScript.
  • Эликсир - это функциональный язык программирования по своей сути, а не просто язык, который дает вам возможность выполнять такие функциональные вещи, как JavaScript. Подробнее о функциональном программировании мы поговорим в следующей главе. Однако знайте, что мы можем писать меньше кода и лучше понимать, что делает наш код, поскольку он также декларативен:

  • Elixir показал себя невероятно хорошо по сравнению с Express (фреймворк Node.js) и фреймворками для других языков:

  • Erlang VM (BEAM) разрабатывалась более 25 лет, и в результате была улучшена стабильность и параллелизм.

Кроме того, я рекомендую посетить официальный сайт и примерную главу Programming Phoenix.

Интересный факт: Discord использует Elixir для масштабирования своих приложений.

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

Оглавление

  1. "Зачем беспокоиться?"
  2. Изучение основ эликсира
  3. Знакомство с Phoenix
  4. Реализация интерфейса React
  5. Работа с PostgreSQL
  6. Создание службы API для PostgreSQL
  7. CRUD Операции
  8. Аутентификация пользователя
  9. "Каналы"
  10. "Движение вперед"

Глава 2

Глава 2 теперь доступна.

Подпишитесь на уведомления

Получайте уведомления о выходе каждой главы.

С уважением,
Майк Манджаларди
Основатель Coding Artist