LINUX.ORG.RU

Хочу изучать Ruby on Rails. Прошу советов.

 ,


8

4

Добрый вечер!

Хочу изучать Ruby on Rails. Мне кажется, что это перспективное направление в веб-разработке.

Хочу спросить некоторые вещи:

Что в основном делают Rails программисты и что им нужно знать помимо самого фреймворка?

Нужно ли знать сам язык Ruby? Сложен ли он? У меня познания в программировании - переменные-условия-циклы, немного jquery, еще знаю верстку html/css. Сложно ли будет, и за сколько можно его освоить? Нужно ли знать и часто ли приходится работать с другими языками для веб, вроде php?

Приходится ли rails-разработчикам верстать, и много ли?

Посоветуйте книги и курсы. Нашла книгу «Rails 4. Гибкая разработка веб-приложений 2014», исчерпывающая ли в ней информация, или эта книга не все охватывает?

Я в этом варюсь давно, а PHP как был впереди всех так и остаётся. Сейчас меня закидают, но мне собственно чхать :).

ychuperka ()

Таки да, рельсы уже не в моде, нынешние эстеты продвигают ноду.

ychuperka ()
Ответ на: комментарий от blan4

Нашла книгу «Ruby on Rails Tutorial», перевод на русский язык, но она похоже устарела уже.

Вообще, оригинальная книга, которая сейчас есть, самодостаточна ли для изучения Ruby on Rails? Или она дает только азы и после ее прочтения к нормальным проектам не приступишь?

В новом издании Майкл Хартл (изучила только первую главу) предлагает вместо Sublime Text и GitHub использовать Cloud9 и Bitbucket. Насколько это оправдано?

За книгу Objects on Rails отдельное спасибо! :)

D_Silina ()
Ответ на: комментарий от menangen

Пока помогают :)

Винегрет тот еще, но нужно разбираться.

Про node.js видела сообщения, что он не очень надежен. Вообще, какое ему применение?

Он полностью заменяет собой скриптовые языки на стороне сервера, такие как ruby, php и python?

D_Silina ()
Ответ на: комментарий от ychuperka

Пробовала понять код в редакторе WordPress, там такая совершенно не читаемая каша. код в примерах rails куда более понятен и более стройный, если можно так сказать.

D_Silina ()
Ответ на: комментарий от D_Silina

Да, плюс это самый быстро растущий рынок и количество пакетов (библиотек=80.000) для него. Есть язык coffescript на котором можно писать под nodejs, это тот же ruby/python.
http://learn.javascript.ru/nodejs-screencast
https://www.codeschool.com/screencasts/soup-to-bits-real-time-web-with-node-js
Плюс в том, что ты изучаешь один язык - javascript или cofeescript, и его знание даёт возможность писать программы в браузере и на противоположной стороне: сервере.

Под nodejs сейчас создают самые крутые новинки, которые позволяют писать html/css проще и быстрее: jade шаблонизатор, less/sass css препроцессоры, и т.д.

menangen ★★★★★ ()
Ответ на: комментарий от D_Silina

Nodejs надёжен, при установке Rails последней версии (4-ки) в линукс дистрибутивах автоматом ставится Node.js потому, что нет компилятора coffescript->javascript написанного на чистом руби, зато есть под nodejs, который необходим рубям. В принципе, это можно отключить в gemax, но по дефолту gem coffescript всегда ставится в новый/чистый проект rails.

menangen ★★★★★ ()
Ответ на: комментарий от D_Silina

Код Wordpress яркий пример как не надо писать на php :) Вообще да, на php говна намного больше чем на других языках. Он легкий в изучении, поэтому и «программистов» на php больше чем на всех других языках. Отсюда можно легко догадаться, что раз предложение такое большое, то это существенно сбивает стоимость оплаты труда пхп программиста.

Ко мне однажды стучались в чат такие вот разработчики, с предложением сделать сайт. Внимание, сайт за 50 рублей!!! Еще раз повторяю, сайт за 50 рублей!!! :)

На языках Python или Ruby культура разработки заметно лучше. Код понятнее и лаконичнее. Единственное, Ruby жрет памяти как не в себя в отличие от Python.

Учить Ruby / Ruby on Rails лучше по статьям на официальном сайте. Т.к. фреймворк развивается очень быстро, и книжки за ним никогда не успевают.

Python / Django лучше тоже учить по статьям на офф.сайтах. Например djbook.ru и djangoproject.com вполне достаточно, чтобы создать свой первый сайт на Django.

Конечно PHP программисты сейчас будут стонать, что PHP стал крутым, в нем есть ООП, что-то похожее на лямбды и прочее. А так же они очень гордятся своим composer :) Теперь же им не надо вручную качать все это php говно с разных сайтов, теперь оно качается само ) Прогресс, в 2014 то году)

К слову в итоге можно сказать что PHP как язык всегда будет в роли догоняющего. По нему сейчас видно как он неаккуратно берет фишки из других языков, и реализует их у себя так коряво, по принципу «чтобы было». Стоит посмотреть хотя бы на реализацию ООП и неймспейсов.

Да и PHP программисты кстати в большинстве своем все еще пишут все функциями, игнорируя ООП. Мотивируя тем что это тормозит ) Забавно видеть резюме таких вот «программистов», которые пишут знания: PHP (без ООП). И это в 2014 году человек не знает что такое ООП ?

В итоге на PHP работы много, но она по большей части вся низкооплачиваемая. Есть и хорошие программисты на PHP. Но они в этом языке остаются недолго, если не дураки конечно. Уходят на Ruby, Python, Java.

Как хорошо сказал однажды Бобук: «Стоит ли рыться в этом говне, чтобы найти там что-то нормальное». Это к тому что уровень 90% программистов на PHP очень низкий.

Мои рецепт такой, PHP можно использовать в том случае, если его трогать не придется. Например нужен блог, берем Wordpress настраиваем и все. Но если что-то нужно поправить и это выходит за рамки CMS, то не стоит копаться в этом говне, засучив рукава. Лучше взять нормальный язык, и сделать все как надо. Самому через год или два будет приятнее открыть такой проект, чем поделку на PHP с мешаниной из верстки и кода.

abc ()
Ответ на: комментарий от abc

А как же yii? Разок пощупал, мне показалось, что это лучшее что было со мной, есть в php.

neversleep ★★ ()
Ответ на: комментарий от neversleep

Второй Yii может быть, но не первый.

Но опять же, часто от PHP программистов слышу: «Фреймворки это говно, они только все тормозят. Я пишу все на чистом PHP!». Это меня конечно веселит )

И вот еще от пхп «программистов»: «Я не использую шаблонизаторы, PHP ведь сам шаблонизатор!». Это кончено вообще ржака )

Ребят, PHP - хреновый шаблонизатор. Более того, это худший шаблонизатор который я видел. Нормальный шаблонизатор как Jinja2, Django Templates, Twig и прочее никогда не позволит дебилу программисту переместить логику в шаблон. Что же PHP за такой шаблонизатор, если он без определенных танцев с бубном не экранирует вывод данных в шаблон ну вообще никак!

И потом, на засыпку, понравилась фраза: «Когда пишешь на PHP тебя не покидает ощущение, что ты находишся в шаблонизаторе!» :)

abc ()
Ответ на: комментарий от abc

Стоит посмотреть хотя бы на реализацию ООП и неймспейсов

А что с ними не так?

no-such-file ★★★★★ ()
Ответ на: комментарий от menangen

Nodejs ставится только в том случае, если не используется библиотека therubyracer для ruby(встроенный js интерпретатор). По дефолту она отключена.

blan4 ()
Ответ на: комментарий от D_Silina

Этой книги будет вполне достаточно, чтобы понять основную идею rails, привыкнуть к языку ruby. В ней раскрывают достаточное кол-во типовых задач, которые могут возникнуть в обычных проектах. Дальше уже можно углубляться в изучение архитектуры, и как делать проект понятнее для людей, чтобы его можно было долго развивать. Или изучать шаблоны проектирования - книга банды четырёх(GoF), так и называется. По поводу sublime github vs cloud8 bitbucket - это просто личное мнение автора. Ему так удобнее. Я бы советовал оставаться на sublime + ruby mine и github(для Open source проектов) или bitbucket(для закрытых, так как там есть приватные репозитории беслатно).

blan4 ()

Нужно ли знать сам язык Ruby?

Достали, конечно же да!

Сложен ли он?

Нет в принципе. Вот тебе, для самых маленьких, быстренько почитай: http://www.opennet.ru/docs/RUS/ruby_learn/

amazpyel ★★★ ()
Ответ на: комментарий от blan4

Я, как и большинство Rails программистов, начинал с изучения именно фреймворка, думая, что сам язык Ruby не так важен

Ремня на вас нет.

amazpyel ★★★ ()
Ответ на: комментарий от blan4

Правильно, зачем в руби ставить встроенный движок V8, когда проще сразу писать на Node.js, это тот же V8 + сетевой стек. Я ставил этот therubyracer как gem, и у меня всё-равно не заработал ror, писал что не найден js engine :) я забил и поставил nodejs, тогда всё заработало.

menangen ★★★★★ ()
Ответ на: комментарий от D_Silina

Не стал я бы сравнивать какую то лапшу, которую ты видела в кишках WP с примерами отформатированного исходного кода. Может быть ты видела код темы для WP? Я просто не совсем понял, что ты точно видела и в каком редакторе. Прежде чем замахиваться на разработку чего либо, стоит освоится хотя бы в азах, а ты сейчас привела весьма глупый аргумент.

ychuperka ()

Хм, прочитала тут про Node.js, очень интересно. И главное, я уже немного знаю jquery, значит и его мне будет несложно освоить, уж если ему предрекают такую судьбу, заменить собой скриптовые языки, работающие на стороне сервера. Может и правда ну всякие эти руби, и осваивать его? :D

Какие в нем есть не самые лучшие стороны? В основном пишут про no-sql базы, с которыми он работает, а с мощными СУБД, такими как postgres, у него как?

D_Silina ()
Ответ на: комментарий от ychuperka

Да, конечно, это был код стандартного шаблона.

Просто я к тому, что код ruby если просто посмотреть любой проект по нему на гитхабе, случайно выбрав, и код php тоже там, то руби-код будет более читаем и более организован.

А я пока только учусь :)

D_Silina ()
Ответ на: комментарий от D_Silina

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

лiл

postman_ ★☆ ()
Ответ на: комментарий от amazpyel

Два чая вам. Но кто бы в самом начале всё рассказал. Благо, что теперь я так не думаю.

blan4 ()

Если ты подобные вопросы задаешь, тебе надо научиться программировать вообще, а RoR тебе слишком рано трогать.

nikolnik ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.