Fullstack React/Rails: Знайомство

4 хв. читання
25 листопада 2020

Привіт, Codeguida.

Мене звати Тері. Ще коли я був малий, мій брат вчився у школі і вони там писали програми на Pascal. Вже тоді мене це сильно зацікавило. Проте все склалось так, що я був змушений йти вчитись на бухгалтера. Спочатку це було цікаво, звісно, я люблю вчитись, дізнаватись щось нове, але... У бухгалтерії все дуже має бути чітко, за стандартами та інструкціями. А мені, як творчій людині, ніяк не вжитись із правилами. Тоді я написав свої перші рядки коду на делфі. І з того часу не можу це покинути. Адже, код - це поезія...

Я довший час не міг вирішити, як це буває із початківцями, що вивчати, у якій сфері працювати, яка мова краща і т.д. Я пробував Delphi, C++, C#, Java. На кожній написав якийсь hello-world-проект. Але це все було не моїм. А тоді я зустрів її - Ruby. І моє життя змінилось. Я чітко зрозумів, що веб - те, чим я хочу займатись. Але мені швидко набридли статичні сторінки, прикрашені місцями jQuery. І я познайомився із js-фреймворками. Спробував Ember, але в dev-ua/emberjs чаті мені одна хороша людина дала багато порад, і я зрозумів що знати Ruby і синтаксис C-подібних не означає знати Javascript. Після знайомством із nodejs та всією його екосистемою, а пізніше з React, я втягнувся, зрозумів, що дороги назад уже немає, але кохану Рубі залишити я не міг. Тому ви зараз це і читаєте.

Про що це він?

Я вирішив займатись як серверною стороною, так і фронтендом. І весь свій тернистий шлях навчання буду описувати в статтях. Адже, на мою думку, щоб навчитись чогось, потрібно навчити цього когось іншого.

Мій вибір впав на такий стек технологій:

  • Ruby on Rails - фреймворк, який не потребує, щоб про нього багато говорили. Багато сучасних фреймворків запозичили чимало ідей, які народились в Rails. Все працює за принципом convention over configuration - переваги домовленності над конфігурацією, тобто вам не доводиться сидіти в xml файлах і налаштовувати все, за вас це зробить Рельса, а вам потрібно всього лиш плисти за течією - слідувати домовленностям.
  • React - фреймворк для розробки користувацьких інтерфейсів - V в абревіатурі MVC. Розробила компанія Facebook для себе, але поділилась із всім світом. Хоч він ще досить таки молодий, але вже досить таки перспективний. Реалізовує концепцію веб-компонентів.
  • Redux - передбачуваний контейнер для ваших React-застосунків. Одна із реалізацій flux, яка завоювала чи не більшу популярність, ніж сам flux. Redux має тільки один store, який складається з безлічі reducers.

Допоможіть нам!

Так як я не зовсім досвідчений розробник, я не можу гарантувати що все, що я пишу, є best practices. Тому пропоную усім, хто розуміється у даних технологіях, писати свої ідеї і зауваження, критику чи просто якийсь "фідбек" у коментарі сюди, мені за посиланнями нижче, або ж створюйте issue в репозиторії чи Pull Request'и. І я обов'язково напишу про цей best way у статті.

Чому нам, а не мені? Тому що, я надіюсь, комусь ці статті також будуть у нагоді, і вони чогось навчаться. То ж підтримуйте нашу дружню спільноту веб-розробників, навчайтесь самі, і когось навчайте.

Ближче до суті

Першим нашим проектому буде звичайний TodoApp. Він буде складатись із API сервера на Rails 5 із Rest архітектурою, а також клієнтською частиною на React/Redux, яка буде окремим застосунком, і працюватиме за допомогою Express сервера, а бандлити все діло буде webpack.

Чому я не використовувати rails-react gem чи щось у тому роді? Тому що, на мою думку, окремий api-сервер краще, так як крім фронтенд застосунку, із ним може спілкуватись ще застосунки для мобільних платформ, десктопу, а також багато чого іншого, та і проект тоді чистіше виглядає, коли менше всього у репозиторію знаходиться. Ну і ще профіт - серверний рендеринг, який можна буде реалізувати з допомогою express.

Продовження скоро...

То ж, любі друзі, зовсім скоро буде менше води, більше діла. Буду вдячний, якщо ви таки долучитесь до проекту і я почую якийсь "фідбек".

Отже, якщо ви наважились висловити своє захоплення чи "фе", прошу зв'яжіться зі мною:

Репозиторій постійно буде знаходитись за посиланням codeguida/fullstack-rr.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.7K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація