"Zobaczyć" Ruby w przeglądarce

Witam. Od jakiegoś roku programuje w php. Jednak całkiem nie dawno zacząłem interesować się ruby. Spodobała mi się jego niesamowita objektowość i postanowiłem poznać go bliżej. I teraz mały problem. Zapisywane z rozszerzeniem .rb pliki wywoływane w konsoli działają, ale jak zrobić, aby zobaczyć outputa w przeglądarce? Dodam, że chodzi mi o czysty kod Ruby (bez Railsów). Czy wogóle jest sens pisać jakieś drobne skrypty w czystym rubi, czy odrazu wziąć się za Railsy? Próbowałem zgodnie z tym tutorialem: http://wiki.rubyonrails.org/rails/pages/Fast+CGI+and+Apache2+for+Windows+XP , ale nie zadziałało. Z góry dzięki za odpowiedź.

PS Mam win XP

Warto nauczyć się samego Ruby’ego jeśli o to pytasz.
Nie warto natomiast uczyć się pisania aplikacji webowych w czystym rubym, tylko lepiej zacząć od jakiegoś frameworka (Rails, Merb, Camping, etc.), jesli takie było Twoje pytanie.

Dzięki za odpowiedź. Dokładnie o to mi chodziło. Czyli podstawy Ruby się naucze, a później właśnie Railsy albo Merb.

Odpowiadając na Twoje pytanie: nie jest to w tym momencie łatwe :slight_smile:

Jeżeli chodzi o to co lepiej, a co nie lepiej to zależy od potrzeb konkretnego człowaka. Czasami chciałem wrzucić jakiś bardzo prosty skrypcik i po prostu pisałem w pehapie, bo stawiać do tego aplikację railsów, to lekki bezsens.

W tym momencie najlepszym wyjściem są chyba mikroframeworki w stylu Ramaze albo Camping (i pewnie 20 tysięcy innych naśladowców :wink: ). Jeżeli chodzi o pisanie większej aplikacji to rzeczywiście lepiej użyć Railsów (albo Merba, może Waves - też jest fajny).

Na horyzoncie pojawia się alternatywa w postaci mod_rubinius, który w zamyśle ma ułatwić w jakiś sposób współpracę rubiego z serwerem, ale na razie jeszcze do końca nie wiadomo w jaki, bo podejścia i zdania na ten temat są różne.

Nie podoba mi się trochę jedna rzecz. :wink:
Gdy tylko ktoś na forum zapyta jak podpiąć rubiego pod serwer, to zaraz ktoś pisze, że lepiej użyć Railsów :slight_smile: Rozumiem, że najczęściej pisanie własnego frameworka to wymyślanie koła od nowa i sam nigdy nie miałem takich aspiracji i wolałem korzystać z gotowych narzędzi, ale jeżeli ktoś ma czas, chce, zdaje sobie sprawę na co się porywa i ma jakieś dobre pomysły na to jak poprawić web development, to czemu nie? :slight_smile:

Jakby wszyscy stwierdzili, że są Railsy i nie warto nic nowego pisać, to nie byłoby Merba, Waves i innych nowych (lepszych?) frameworków :slight_smile:

Pozdrawiam

Czyli narazie raczej nie ma prszytępnej drogi do odpalenia Ruby na localhoscie i lepiej korzystać z fremeworków, a z malutkimi aplikacjami z tego brzydkiego, zabałaganionego PHP?

Dzięki za radę o tych mikro-frameworkach. Ściągnałem Ramaze i mam to co chciałem.

Spróbuj “czystego” CGI lub jakiegoś leciutkiego frameworka - np. Sinatra.
Aczkolwiek Railsy naprawdę są krieg i najfajniejszym z istniejących zastosowań Ruby’ego :slight_smile:

Nie chcę tu żadnego flame’a rozpoczynać, ale słowo najfajniejsze zaczyna się chyba przedawniać w wypadku Railsów :slight_smile:

Mam nadzieję, że przy następnej aplikacji będę już używał Merba. I będę musiał się przyjrzeć Waves - podobno next generation :wink:

[quote=drogus]Nie chcę tu żadnego flame’a rozpoczynać, ale słowo najfajniejsze zaczyna się chyba przedawniać w wypadku Railsów :slight_smile:

Mam nadzieję, że przy następnej aplikacji będę już używał Merba. I będę musiał się przyjrzeć Waves - podobno next generation ;-)[/quote]
Wiesz, świat “na zewnątrz” nie wygląda tak różowo, jeśli przyjrzysz się większości firm od środka to zastosowanie chociaż części zasad wg. których zbudowano Rails to ogromny krok naprzód (chociaż to wymaga zrozumienia i dobrej kadry - ale to temat na osobny wątek). Pomijam korporacje czy nawet większe firmy - dla nich słowo “fajne” nawet nie pojawia się na krótką chwilę :wink: Po prostu świat wygląda inaczej jeśli spojrzysz na niego z punktu gdzie technologia łączy się z biznesem a inaczej z punktu widzenia “Ruby geek’a”.

Dzięki za info o Waves, pewnie Hipertracker zaraz o nich na swoim blogu napisze :slight_smile:

Dzięki wszystkim za porady, tymczasowo korzystam z Ramaze, batdzo lekkiego frameworka. Ma tylko najpotrzebniejsze funkcje jak mapowanie urli, obsługa POSTa, automatyczne ładowanie widoków. Brakuje tylko czegoś do obsługi bazy danych, ale poradze sobie jakimś zewnętrznym modułem, dopóki nie przejde na Railsy czy Merba

Skorzystaj z Sequela, albo DataMappera. Można ich używać razem z dowolną aplikacją rubiego.

hosiawak:
No tak :slight_smile: Zapomniałem zaznaczyć, że piszę to z pozycji programisty, który nie ma z góry narzuconej technologii. :slight_smile:

Żeby nie zakładać nowego tematu, to jak skorzystać z mod_rewrite w Ramaze postawionym na Mongrelu?

Myślę, że pomimo rosnącej popularności Merba (i jego przewagi technologicznej na niektórych polach) czy niedawnej fascynacji środowiska Wavesami, pogłoski o śmierci RoR są mocno przesadzone, że tak strawestuję Twaina :wink:

Nikt nie mówi o śmierci. Niedawno zacząłem 2 projekty robić w railsach i raczej nie będę ich przepisywał.

Tylko za jakiś czas pewnie część osób przejdzie na inne frameworki. Co właściwie railsom wyjdzie pewnie na dobre - nie ma to jak zdrowa konkurencja :slight_smile:

I jak, Tubis, pierwsze kroki w świecie Rubiego? :slight_smile:
Wziąłeś się już za Railsy? Skoro używasz WinXP - próbowałeś InstantRails albo Bitnami RubyStack?

@Drogomir: Merb wydaje się trochę “kanciasty” dokładnie tam, gdzie krągłości Railsów przyciągają programistów. Znaczy jeśli się nadaje, to do niewielkich projektów. Waves - parę fajnych pomysłów (chociaż w większośc są to zerżnięte railsy z małymi zmianami w nazewnictwie) i ZŁYYYYY system szablonów. Nie widzę na razie konkurencji dla RoR na polu średniej wielkości (funkcjonalności) serwisów. Albo inaczej - bardziej bym się bał frameworków pythonowych, które teraz rozkwitają załapując się na falę Railsów, a mając za sobą solidniejszy (od strony niezawodności) język i nierzadko mniejszą dziurawość.

Wycinamy dyskusję do osobnego tematu? :slight_smile:

Tomash pierwsze kroki całkiem całkiem. Jeszcze nie Railsy, narazie poznaje podstawy Ruby korzystając z kilku kursów i blogów. Jego niesamowita objektowość to jest to. Korzystam z Ramaze, żeby efekty oglądac w przeglądarce, bo po roku programowania w PHP się do tego przyzwyczaiłem i destkop raczej mnie nie ciągnie. Dzięki wszytkim za porady. Jeszcze jakby ktoś mi tylko wyjaśnił jak skorzystać z mod_rewrite na Mongrelu, czy jest to wogóle możliwe, to byłbym wdzięczny.

PS Mam jeszcze jedno pytanie natury techniczno-serwerowej. W winXP jak mi brakuje jakiegoś elemenu (np. ORM jakiegoś) to włączam Gems i instaluje. Jak wygląda sprawa z instalowaniem komponentów na serverze normalnie wykupionym w jakiejś firmie hostingowej?

Tubis:
To zależy od firmy hostingowej. Jak masz wirtualny/dedykowany serwer z dostępem do roota to tak samo jak na każdym linuxie (czyli gem install costam). Jeżeli nie masz roota, ale masz dostęp do ssh, to jest możliwość zainstalowania gemów w dowolnym katalogu (na przykład w katalogu domowym u siebie), obczaj stronę gemów. A jeżeli jest to jeszcze jakaś inna opcja to musisz uderzać do supportu hostingu.

Thomash:
Co do Waves, to przejrzałem tylko tutorial i trochę info na stronie. I rzeczywiście - po takim zapoznaniu się nie zachwycają, ale mnie najbardziej zainteresowało to, co autor mówił o łączeniu aplikacji. Każdy kto chciał kiedykolwiek połączyć ze sobą jakieś 2 aplikacje (na przykład podpiąć forum do swojego serwisu) wie, że w Railsach to ból. Mi marzyłby się system podobny do tego w Django. W waves najbardziej mnie intryguje właśnie taka enkapsulacja aplikacji (każda aplikacja jest oddzielnym modułem). Jeżeli w praktyce będzie można łatwo z tego korzystać, to będzie to bardzo ciekawa alternatywa dla railsów.

Dlaczego zły system szablonów? Nie podoba mi się markaby, ale waves obsługują jeszcze Erubis i podejrzewam, że podpięcie pod ten framework Hamla to tylko kwestia czasu.

Trzeba też pamiętać, że zarówno Merb jak i Waves są stosunkowo młode - trzeba jeszcze jakiś czas poczekać, ale bardzo dobrze się zapowiadają.

Co do kańciastości Merba, to nie wiem, o które dokładnie elementy Ci chodzi. Mógłbyś rozwinąć myśl? Dla mnie największą barierą przejścia na Merba jest w tym momencie brak większość pluginów, których używam w aplikacjach railsowych. Ale sam system pluginów w merbie jest moim zdaniem dużo lepszy.

Rzecz, która jest dyskusyjna to “modularność” Merba. Z jednej strony można podpiąć dowolny ORM, dowolny system szablonów, można używać tylko samego merb-core. Z drugiej strony rozmawiałem na Bootstrapie z Adamem Hościło o Pylons i z tego co mówił, to tam takie wyjście może być pułapką. Wszystko można dołączyć jako moduł, przez co kilka pisanych w Pylons aplikacji może wykorzystywać zupełnie inne narzędzia. W railsach jest tylko jedna słuszna ścieżka wytyczana przez DHH, więc ten problem odpada. Za to istnieje inny - jak myślisz inaczej niż rails core team, to radź sobie sam.

Jak Merb wyjdzie w wersji 1.0 będę musiał się mu bliżej przyjrzeć, napisać jakąś aplikację średniej wielkości i wtedy będę mógł więcej powiedzieć :slight_smile:

Kolejny problem. Tym razem z CGI.
Gdy w kontrolerze próbuje utworzyć obiekt CGI, to po odpaleniu Ramaze na Mongrelu i wybraniu przez przeglądarkę odpowiedniego kontrolera, w konsoli wyświetla coś takiego:
“offline mode: enter name=value pairs on standard input”, a strona się nie ładuje

O co może chodzić? czy wogóle jest możliwość utworzenia obiektu CGI w Ramaze?

A po cóż Ci obiekt CGI? :slight_smile:

Hmm… Chciałbym się dobrać do zmiennych środowiskowych. Jest to możliwe? Czy wogóle dobrze robie że chce się do nich dostać?

puts ENV.inspect ?