Задать вопрос
@overlord1781
Проектирование AutoCAD

Программирование RoR для создания сайтов, в каком порядке осваивать?

Добрый день, хочу попробовать сделать свой сайт с нуля, еще давным давно немного касался этой темы (по зову службы)
и так понимаю серверная часть сайта пишется:
-PHP
-Python
-RoR (на него пал мой выбор)
и вот вопрос для новичка (нет азы причем совсем азы в программировании имеются, на С# крестики нолики собирал)
как правильно подойти к этой горе?
1. Начать с фронтэнда в виде html,css и за тем прийти к RoR?
2. Или имеет смысл сразу начать с RoR?
3. RoR судя по литературе которую я видел и роликам, представляет из себя, на мой взгляд, магическую коробку в которой словно уже все есть, именно это меня отпугивает в нем, тоже хотелось бы узнать слишком ли он пребломотичен будет в изучении для новичка?
  • Вопрос задан
  • 275 просмотров
Подписаться 2 Простой 3 комментария
Решения вопроса 2
2ord
@2ord
Для разработки веб-сайтов типа визиток/блогов/магазинчиков чаще всего используются готовые CMS типа WordPress, Joomla!, Drupal и для них используются различные плагины для расширения базовой функциональности.

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

Для веб-разработки нужно осваивать все по порядку:
Основы frontend (веб-клиент)
  1. основы HTML
  2. основы CSS, лишь для того, чтобы научиться не писать стили внутри кода HTML
  3. основы языка JavaScript безо всяких библиотек и фреймворков, особенно DOM, events & callbacks
  4. основы www: протокол HTTP
  5. JavaScript: HTTP запросы при помощи AJAX и JSON
  6. JavaScript: чуток мега-популярной ранее библиотеки jQuery - для общего ознакомления что можно делать по сравнению с голым JavaScript
  7. основы архитектурного паттерна MVC, используемого в разных фреймворках, в RoR в том числе


Основы backend - там где и находится фреймворк Ruby on Rails
  1. Что такое веб-сервер
    https://zametkinapolyah.ru/servera-i-protokoly/htt...
  2. Самый простой вход в веб-разработку будет использование веб-фреймворка Sinatra. RoR стоит изучать после него, иначе будет трудно.
  3. В RoR проще всего будет начать с рендеринга вьюх (view) со статичными данными, без использования СУБД. Скажем, сверстать страничку (about.html.erb) для сайта-визитки с текстовыми данными прямо внутри шаблона. То есть используя лишь View-Controller, без Model.
  4. RoR: Asset Pipeline
  5. Для хранения данных в СУБД и подставления их в шаблон необходимо изучить основы SQL. Можно изучать сначала даже на SQLite (вся БД в одном файле), а потом MySQL/PostgreSQL - для промышленного использования. Можно обойтись хранением данных не в реляционных СУБД типа K/V (Redis, Memcached), или документо-ориентированных (MongoDB), но знание SQL важно иметь в дальнейшем по-любому.
  6. RoR: следующим этапом перейти к изучению доступа к данным в СУБД, а это именуется Модели (Model), при помощи RoR ActiveRecord.
  7. RoR: далее I18n, тестирование, rake task и другие фичи, по мере необходимости


Источники:
https://habr.com/post/303896/
htmlbook.ru
rusrails.ru
Ответ написан
Комментировать
Примерный гайдлайн если чисто для себя:
1) Пройти все доступные уроки на html academy
2) потыркаться на www.sql-ex.ru (опционально)
3) Порешать стандартные студенческие задачки чисто на руби
4) Освоить railstutorial.ru, не все будет идти гладко, там то ли недоработано, то ли специально так сделано, но возникают затыки-ошибки, которые надо решить самому с помощью гугла. Сейчас актуальны 5 рельсы, там 4, но для обучения подойдет.
5) Найти любое достаточно сложное тестовое задание у соискателей на должность Ror разраба и сделать его самостоятельно. Ну или уже на этом этапе пилить свой проект.

Если предполагается извлечение прибыли, то стоит пройти интенсив типа thinknetica, но это стоит денег.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
1. Выкиньте из списка RoR. Да, быстро, но только умирает технология. Этот фреймворк сделал много для развития других языков, но комьюнити не стало расти и вакансий/специалистов в итоге мало
2. Если вам нужна скорость и лёгкость в освоении - PHP: Yii, Laravel, Symfony (в порядке возрастания уровня вхождения)
3. Python и Node вам на закуску. Смотрите на них если хотите потом уехать в облачные технологии, serverless, или Big Data (python)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы