После универа 2 года учил PHP и подрабатывал фрилансером. Вовремя одумался и сейчас нахожусь на распутье.
Решил выбрать Ruby, т.к., говоря словами Кеннеди: "Мы хотим полететь на Луну не потому, что это легко, а потому, что это сложно". То есть, хочу работать там, где нет толпы специалистов, спокойно и хорошо делать свою работу, программировать.
База в виде алгоритмического мышления, regexp со словарем, HTML, CSS имеется, поэтому очень надеюсь, что смогу быстро, за 4-6 месяцев, изучить Ruby и все, что нужно, и начать работать как фрилансер Ruby.
Вопрос у меня такой - пожалуйста помогите составить "дорожную карту" для Ruby for Web?
Что мне еще нужно знать помимо самого Ruby?
То есть, пожалуйста дополните или поменяйте местами пункты списка:
1. Ruby.
2. Фреймворк Rails.
3. HTML, CSS, Bootstrap.
4. ...
5. ...
6. ...
7. ...
Или Ruby on Rails мне хватит?
Я просто не имею хороших навыков, опыта, чтобы спланировать развитие самостоятельно, пожалуйста помогите начинающему коллеге пойти по правильному пути!
codenamecrud.ru готовый роудмап, сразу с уроками и ссылками на материалы. можно заниматься по ним, можно просто взять за основу заголовки уроков и искать информацию самостоятельно.
Сегодня на хабре опубликовали статью. Ознакомьтесь с ней и ссылками на другие материалы, которые в ней есть. Там все довольно четко расписано. Просто выпишите себе список сущностей, которые перечисляет автор "миграции", "модели", "роуты", "вьюхи". Все это есть на официальном сайте с туториалом по Rails. Изучите. Попробуйте воспроизвести то, что делал автор. Уверен, если вы будете способны реализовать что-то похожее на написанный автором форум, то без труда найдете себе заказчиков. Ну и будете готовы глубже погружаться в "тему"
И да, без JS будет туго, так что его обязательно в список
Выскажу свое мнение - в 2016 году ставка на Ruby неоправдана.
Сейчас делается щедрая ставка на распределенные системы - Ruby для этого не предназначен.
Микросервисная архитектура тоже не про Ruby - легковесный процесс на нем это из области фантастики. Даже JIT-компиляции до сих пор нет.
Я сам вертелся с ним два года, с вещами типа EventMachine, тонких API - не доставляет удовольствия.
Чтобы нормальный TDD организовать приходится привлекать гемы, которые творят магию, форкая твой процесс, чтобы стартовать тесты быстро. А где магия - там шаг влево-вправо и ты за бортом. Барахтайся, разбираясь, почему у тебя все упало.
Комьюнити на 80% сконцентрировано вокруг Rails, если говорить о web-разработке. В последнее время появился еще hanami (бывший lotus). Не говорю там про всякие sinatra, padrino и.т.д.
Метапрограммирование прикольно. До тех пор, пока ты не лезешь разбираться в очередное кунг-фу стороннего метапрограммиста.
"Утиная" типизация прикольно, до тех пор, пока проект небольшой.
Если вы еще не зашорены парадигмами императивного программирования, то я бы посоветовал вам обратить внимание на Elixir. Лаконичный язык, построенный поверх виртуальной машины Erlang и его Open Telecom Platform. Производительность его на уровне Go, а синтаксис мне, как бывшему рубисту, гораздо ближе.
Александр, спасибо! Неожиданно!
Посмотрел на Elixir, но вряд ли смогу его выбрать, т.к. ориентируюсь на фриланс, а там пока появятся проекты для джуна, пройдет много времени, да и рисково, вдруг "не взлетит", тогда инвестиции времени впустую.
Я просто консервативен :) Но все равно, большое спасибо за такой интересный и полезный ответ!
Alexander2016: не советую слушать автора выше. Руби с рельсой это мерседес современного веба. Стабильней, надежней и продуктивней инструмента просто нет. За 10 летний стаж все уже отточено и обкатано. Для простых задач легко можно юзать синатру, падрино. Количество документации и туториалов, а также групп помощи в сообществе зашкаливает.
"У плохих танцоров всегда шары между ног причина. "