Прежде всего, разберитесь с основами 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. , и другие интересные навыки с бэкэнд-разработкой.
Оглавление
- "Зачем беспокоиться?"
- Изучение основ эликсира
- Знакомство с Phoenix
- Реализация интерфейса React
- Работа с PostgreSQL
- Создание службы API для PostgreSQL
- CRUD Операции
- Аутентификация пользователя
- "Каналы"
- "Движение вперед"
Глава 2
Подпишитесь на уведомления
Получайте уведомления о выходе каждой главы.
С уважением,
Майк Манджаларди
Основатель Coding Artist