Pytanie od osoby nie będącej informatykiem dot. wybory Symfony lub RoR

Witam.

Pewnie już setki podobnych pytań tu było, ale nie jestem z wykształcenia informatykiem (inż. metalurg), więc nie wiem gdzie szukać porady.
A więc do rzeczy.
Jakiś czas temu zacząłem przygodę z programowaniem (hobbystycznie).
Zajęcie pochłonęło mnie bez reszty.
Po iluś tam miesiącach zacząłem stawiać strony www+admin-panel (najczęściej znajomym co mają firmę).
Mój obecny poziom - znajomość PHP5(MVC), MYSQL, Framework Kohana 2.3.4.
Chcę iść do przodu.
Zastanawiam się nad wyborem do dalszej nauki: albo PHP/Symfony albo oczywiście RoR.
Nie spodziewam się, że ktoś z was będzie mi polecał Symfony :slight_smile:
Dlatego bardzo proszę o poważną argumentację dot. wyboru RoR.
Chciałem dodać, że ważnym argumentem dla mnie jest instalacja projektu na serwerze produkcyjnym.
Jestem użytkownikiem GNU/Linux (Debian), używam linuksa na co dzień jako desktop, jednak nigdy
nie stawiałem na nim żadnego serwera oprócz localhosta LAMP.
Z tego co wiem, to do instalacji RoR na produkcyjnym przydałaby się znajomość administracji serwerami
i dobra znajomość Shella.

Jeśli zacząć poznawać RoR to czy jest sens nauki starszej wersji.
Mam podr.“Rails Space” do wersji 1.8.5 i “Agile - programowanie w Rails” z 2008 roku.

Czy przy instalacji całego środowiska trzeba zwrócić jakąś szczególną uwagę na kompatybilność
między wersjami Rubiegi(jako języka) i Rails(jako frameworka) ?

Z góry dzięki za wszelkie odpowiedzi.

ad1.

Przede wszystkim społeczność - masa rozszerzeń (gemów) pozwala szybko (dzięki prostocie języka) tworzyć aplikacje, które działają według naszych potrzeb. Ruby jest językiem stworzonym przez programistę dla programistów, kładącym duży nacisk na przyjemność kodowania.

Namawiać bardzo nie będę - spróbuj, albo zostaniesz, albo nie. Prawdopodobnie to pierwsze :wink:

ad 2.

Przede wszystkim to książki sobie przekartkuj, żeby mieć ogólne pojęcie o idei. Od czasu wydania książek sporo się zmieniło. Najlepiej zajrzyj na http://guides.rubyonrails.org/ albo po polsku http://www.apohllo.pl/guides/index.html .

Sposób wdrażania aplikacji w środowisku produkcyjnym jest odmienny w stosunku do PHP. Tak jak w przypadku php masz mod_php, w przypadku Ruby masz passengera (z grubsza). Stosuje się też serwery aplikacyjne Thin, mongrel, unicorn, do których requesty przekierowuje proxy z apache albo nginix’a.

Dobrym punktem zaczepienia jest www.railscasts.com

ad 3.

początkującym polecałbym Ruby 1.8.7 + Rails 2.3.8 (generalnie z gałęzi 2.3.x). Najnowsze Railsy w wersji 3.0 są w fazie beta i tam się jeszcze może coś zmieniać. Po poznaniu 2.3.x spokojnie przeczytasz tylko changelogi i dasz radę się przerzucić w przyszłości.

Zainstaluj sobie RVM (http://rvm.beginrescueend.com/), który niezmiernie ułatwia instalację Ruby (paczki w debianie jak i innych dystrybucjach nie są przeważnie zbyt dobrze skompilowane - poza tym każdy system pakietów gdzie indziej może sobie zainstalowac takiego ruby) - w przypadku RVM, cała instalacja języka zamyka się w katalogu ~/.rvm/

  1. Spróbuj jednego i drugiego.*
  2. Nie warto, książki są niestety mocno do tyłu. Od czego warto zacząć – znajdziesz na forum kilka wątków na ten temat.
  3. Póki nie ruszasz Rails 3 i pozostajesz w wersjach 2.x, to Ruby 1.8.6 (a najlepiej 1.8.7) będzie idealnym wyborem.
    • Najlepszy kandydat do poznawania Ruby On Rails to taki, który poznał PHP i/lub Javę w stopniu pozwalającym te języki/technologie znielubić (albo przynajmniej czuć niewygodę podczas programowania). Czyli, paradoksalnie, polecę Ci Symfony. Jak już będziesz miał dość, spróbuj Ruby i Railsów :wink:

[quote=Tomash]1) Spróbuj jednego i drugiego.*
2) Nie warto, książki są niestety mocno do tyłu. Od czego warto zacząć – znajdziesz na forum kilka wątków na ten temat.[/quote]
Rozumiem, że przepaść między wersjami Rails jest bardzo duża.
Jednak na http://www.rubyonrails.pl/ nadal polecają książkę “Agile …” z 3/2008 roku.
Dotyczy ona Rails 1.2.

Dobre.

Dzięki za odpowiedzi.
Mam jeszcze małe pytanie - słyszałem, że w Gliwicach na Politechnice Śl. odbywały się kiedyś jakieś spotkania dla ludzi programujących w Rails.
Ma ktoś może jakieś info, na temat czy nadal się odbywają.

Pozdr

[quote=kdx]Mam jeszcze małe pytanie - słyszałem, że w Gliwicach na Politechnice Śl. odbywały się kiedyś jakieś spotkania dla ludzi programujących w Rails.
Ma ktoś może jakieś info, na temat czy nadal się odbywają.[/quote]
Najbliższe spotkanie w Gliwicach odbędzie się najprawdopodobniej 25 czerwca. Więcej informacji możesz znaleźć na stronie SRUG-u

[quote=kdx]Jednak na http://www.rubyonrails.pl/ nadal polecają książkę “Agile …” z 3/2008 roku.
Dotyczy ona Rails 1.2.[/quote]
Jest już mocno nieaktualna. W oryginale ukazała się w grudniu 2006. Od tamtego czasu wydano już trzecią edycję (niedostępna w Polsce, dotyczy Rails 2.x, ale nie wiem dokładnie których), W chwili obecnej dostępna jest (w języku angielskim) wersja beta wydania czwartego - będzie ono opisywało Rails 3.

2.1

Railsy będą miały dla Ciebie większą barierę do przebycia jeśli chodzi o naukę. Przede wszystkim będziesz musiał nauczyć się nowego języka, który jest bardziej rozbudowany niż nakładka na C nazywana przez niektórych PHP. Nie będziesz programować dobrze w Railsach nie znając Rubiego, więc naucz się go najpierw :).

Stanie się Rubystą ma również negatywne strony: nie będziesz chciał już programować w PHP… ale tak że nigdy nie będziesz chciał tego robić ;).

Bierzesz książki, http://guides.rubyonrails.org, blogi i trzepiesz kilka swoich projektów!

Dzięki za wszystkie odpowiedzi.
Próba użycia frameworka w php do testów jednostkowych skończyła się dla mnie fiaskiem po 4 dniach prób.
Po 14 godzinach przerabiania książki (starej, ale coś tam zawsze można podłapać) “Rails Space”
dochodzę do testów jednostkowych i jestem zachwycony.
Nie będę testował dalej.
Wałkuję dalej RoR i olewam całą resztę.
Kończę wypowiedź w tym poście i witam jako nowy zachwycony RoR’em użytkownik tego forum.

Witamy na pokładzie. :slight_smile:

…i czekamny na pierwsze frustracje z niecierpliwością :wink: