Jak szybko i skutecznie zacząć z RoR?

Witam,

W ramach zajęć uczelnianych musze przygotować jakąś aplikację internetową… Jakoś tak wyszło, że nigdy nie miałem tej przyjemności zając się tymi rzeczami… (ani php, ani ruby, troche asp.net) (programista ze mnie średni :P), no ale teraz przyszedł na to czas… Postanowiłem, że zbuduję web-aplikacje, która niejako będzie kontynuacją mojego wcześniejszego projektu (aplikacja (desktpowa) wspomagająca zarządzanie klubem sportowym; oparta o bazę mysql).

Chciałbym łączyć się tej samej bazy tylko z poziomu przeglądarki. Co musiała by zawierać taka web-aplikacja:
-możliwość logowania na konto
-operacje na bazie danych (czyli dodawanie/edycja/usuwanie/wyświetlanie…)

Pomyślałem, że może Ruby on Rails będzie dobre do wykorzystania… :slight_smile:
I teraz esencja całego tego tematu - czym musiałbym się zainteresować / jaką wiedze przyswoić, aby móc coś takiego przygotować…?
Jestem świadomy tego, że o ROR powstało wiele książek i innych treści, dlatego chciałbym prosić o takie KNOW-HOW od Was, aby w możliwie jak najmniejszym nakładzie czasu (na szukanie/uczenie) mógłbym przygotować takową aplikacje…

Pozdrawiam i czekam na wszelkie sugestie :wink:
Marcin

ps. Jakie IDE w ogóle polecacie ?
ps2. Czy aplikacje pisane w RoR wymagają jakieś specjalnego serwera (innego niż apache? i “zwykle” hostingi tego nie odpalą?)?
ps3. Ogólnie to zastanawiałem się też nad PHP, z tym że nie wiem co będzie tutaj “łatwiej” zasotoswac ? (stworzyć jeśli odnośnie obu tych technologii nie posiadam stosownej wiedzy ;P)

Co do pytania z tematu to myślę że bywalcy udzielą bardziej konkretnej odpowiedzi niż ja.

Co do końcówki to:

  1. z czystym sumieniem mogę polecić RubyMine
  2. Hm… wymagają samego ruby i railsów, więc serwer musi mieć doinstalowane odpowiednie moduły np. passenger… na zwykłym phpowcy nie pójdzie niestety.
  3. Jeżeli mam być szczery, to wydaje mi się że więcej pomocy, poradników oraz samych programistów (jeżeli napotkasz na problem) znajdziesz dużo więcej dla PHP.
    Jeżeli chodzi o sam język to rails jest bardziej “ludzki”, ale moim zdaniem nie będzie to miało większego wpływu w takim projekcie.
  1. RubyMine nie jest za darmo. Do napisania jednego projektu, jeśli nawet nie wiesz, czy będziesz chciał kontynuować przygodę z Ruby i Rails, wystarczy odpowiednio funkcjonalny edytor tekstu z funkcją podświetlania kodu.
  2. Rails to NIE jest język. :wink:

A co do meritum, zacząłbym od przeczytania tego wątku, jestem pewien, że znajdziesz coś dla siebie. :slight_smile:
Ze swojej strony mogę polecić udany moim zdaniem tutorial Michaela Hartla - jeśli masz już jakieś pojęcie o programowaniu, nie powinieneś czuć się zagubiony, a tutorial pozwala na szybkie załapanie podstaw i “railsowej filozofii”.

Jeśli chcesz się uczyć to polecam Sublime Text 2, jest płatny, ale można pobrać i go używać - jeśli chcesz posmakować railsów, to możesz go używać.

[quote=Lypa]1. RubyMine nie jest za darmo. Do napisania jednego projektu, jeśli nawet nie wiesz, czy będziesz chciał kontynuować przygodę z Ruby i Rails, wystarczy odpowiednio funkcjonalny edytor tekstu z funkcją podświetlania kodu.
3. Rails to NIE jest język. ;)[/quote]

  1. Można skorzystać z licencji klasowych jeżeli masz taką możliwość. Aczkolwiek zgadzam się że wystarczy najprostszy edytor z kolorowaniem.
  2. Oczywiście chodziło mi o Ruby :slight_smile:

Ok. 2 miesiące uczę się railsów.

Jeżeli chodzi o IDE, to co kto lubi, ja pomęczyłem się trochę z vimem(ale używałem go dużo wcześniej) i coraz ciężej byłoby mi zmienić go na inny edytor :wq :slight_smile:

Hosting: Na początek możesz spróbować darmowego heroku, ogólnie wrzucanie na serwer produkcyjny to jak dla mnie była i jest spora trudność (ale ja stawiałem serwer od zera, tutaj trochę pomogło capistrano, jeszcze do końca nie ogarnąłem, ale już 90% rzeczy robi się automatycznie jednym poleceniem). Przy PHP wrzucałem kod i śmigało, tutaj nie dość, że coś trzeba poinstalować, to jeszcze są opcje do wyboru :).

Co do nauki. Tak jak Lypa napisał tutorial Micheala Hartla, a później railscast + stackoverflow + google

@Lypa - co do IDE, to chodziło mi raczej przynajmiej o coś takiego rzeczy pokazywało mi np. błędy w składni… tak jak to jest jest w kompilatorach np. C++/Java…
Co do samej nazwy to Rails z tego co dotąd wiedziałem (myślałem) to framework, no ale tak “dla ogólnienia” pisałem język… (no chyba, że to jeszcze coś innego :P)

Natomiast odnosnie samej “idei” przygotowywanej aplikacji, chodziło mi raczej o podpowiedzi - z jakiś funkcji i “mechanizmów” należy korzystać przy łączeniu się z bazą, tworzeniu obsługi kont użytkowników, etc… (abym mógł sobie to wygooglowac) :wink:

No ale dzięki za dotychczasowe rady … widać, że wsparcie jest :slight_smile:

Ja bym zwrócił uwagę na jeden aspekt: jeśli zamierzasz łączyć się już istniejącą fizycznie bazą danych, to pewnie została ona stworzona poza wszelkimi konwencjami railsowymi. Zatem będziesz w wielu miejscach swojej aplikacji musiał łamać te domyślne konwencje, aby dostosować ją do bazy. Jednak mam nadzieję, że Cię to nie zniechęci. Szczerze polecam naukę railsów i trzymam kciuki :slight_smile:

PS. co do tworzenia kont użytkowników, to tutaj jak to można zaimplementować samemu od podstaw: http://railscasts.com/episodes/250-authentication-from-scratch
a tutaj jak wykorzystać gotową bibliotekę: http://railscasts.com/episodes/209-introducing-devise

@tiwi - byc może (bardzo) słuszna uwaga… odnośnie tej bazy i odniesienia jej do konwencji railsowych których nie znam :stuck_out_tongue: ;/ Musze zbadać temat… poza tym dzięki za link…

W Twoim przypadku polecam Aptana RadRails. Jest free, ma podświetlanie/podpowiadanie i pełno innych bajerów.

[quote=@mikajlo]-możliwość logowania na konto
-operacje na bazie danych (czyli dodawanie/edycja/usuwanie/wyświetlanie…)[/quote]
Polecam Ci przeczytać Agile Web Development with Rails. Rozdziały Getting Started oraz Building an Application dadzą Ci wystarczający pogląd, aby stworzyć proste logowanie oraz podstawowe operacje na bazie.

Tak jak pisał tiwi, może być problem integracji z istniejącą bazą, ponieważ Railsy robią wiele rzeczy po swojemu.

Wystarczy Apache z zainstalowanym Passenger’em. Konfiguracja nie jest trudna, o ile jesteś odrobinę obeznany z Apachem. Jeśli nie lub nie masz dostępu do odpowiedniego środowiska to pozostaje Heroku. Tutaj będziesz musiał wiedzieć co nieco o Git. Info szukaj we wspomnianym już tutorialu M.Hartl’a: tutaj i tutaj.

Książki to jest dobry pomysł, ale ja bym polecił na początku jakiś interaktywny kurs, czyli: http://railsforzombies.org/

To jest fajna zajawka, samo w sobie nie wystarczy, ale na pewno ułatwi decyzję co do wyboru narzędzia.