Hobo - opinie

Wiem że niektórzy z szanownych forumowiczów używają/używali Hobo. Jakie są Wasze opinie i doświadczenia z tym “frameworkiem dla Rails”?

Ja bawiłem się Hobo kilka ostatnich dni i moje pierwsze wrażenia są takie że jest tam sporo fajnych konceptów, z systemem uprawnień na czele i DRYML, ale jakość wykonania troszkę leży. Do samego frameworka nie ma napisanych za dużo testów, automatycznie wygenerowane formularze nie zawsze działają, pojawiają się czasem losowe błędy…

Co Wy myślicie o Hobo?

Na prawdę nikt nic nie wie? Ktoś chyba miał na WRUGu mówić o Hobo?

Pracowałem w jednym projekcie, w którym był używany Hobo. Pierwsza rzecz, z którą mi się kojarzy to megabajzel :wink: - odniosłem wrażenie, że HTML+CSS+Ruby+JavaScript w jednym pliku to za mało, więc jako dodatek pojawiły się jeszcze jakieś dziwne znaczniki Dryml (pięć języków w jedym pliku to już konkret :wink: ). Było to dość dawno, od tamtej pory nie miałem z tym styczności. Nie przepadam za rozwiązaniami, które starają się być mądrzejsze od programisty. Problemy pojawiają się zwykle wtedy, gdy próbujesz zrobić coś, czego nie przewidział twórca (chyba za często mi się to zdarza). Formularze: używaliśmy przez jakiś czas Formtastica, ale trzeba go było olać żeby zrobić coś na prawdę skomplikowanego (wtedy tylko utrudniał sprawę). Póki co zostajemy przy Hamlu, Sassie itp. Być może Hobo sprawdza się przy jakichś standardowych projektach ,bez udziwnień’’, ale mam wrażenie, że już dawno w takich nie uczestniczyłem ;-).

Przyglądałem się Hobo dawno temu, jakieś 2 lata temu, pomysł wydawał się ciekawy ale wtedy wolne to było z powodu dodatkowych warstw abstrakcji i zapewne nieciekawej implementacji. Nie wiem, być może ktoś tego używa i działa to ok, ale dla mnie sam Rails jest wystarczająco abstrakcyjny i miodny, nie potrzebuję dodatkowego miodu bo mogłoby być już “za słodko”.

Mógłbyś podać jakieś przykłady? Użyłem ostatnio do małej aplikacyjki, którą musiałem zbootstrapować w jeden wieczór. Może mi się przydać taka wiedza zanim użyję tego do poważniejszej aplikacji.

Ok, dobra. Rzeczywiście kod Hobo to niezły bajzel, jeszcze bardziej potwierdza to że brak testów --> nie dotykać. A szkoda. Bo podoba mi się system uprawnień i właśnie ten dziwaczny język do szablonów, całkiem niegłupi jak się mu bliżej przyjrzeć :). Niestety dałem sobie spokój z Hobo, za dużo nieoczekiwanych problemów.

Z tego co pamiętam, to problem był z grupami w selectach (mielismy jakieś opcje zgrupowane po krajach). Było to już dobrych parę miesięcy temu, może się zmieniło do tej pory. Mam też wrażenie, że nikt nie ma jeszcze koncepcji jak to stylować.

A… to luz - przecież można do jakiegoś specyficznego przypadku zrobić własną klasę, która dziedziczy po tej z formtastic i pozmieniać to co jest nie tak. Względnie dopisać do tej nowej klasy nowe metody, albo użyć w jednym miejscu klasycznego selecta, albo zmonkeypatchować.

Co do stylowania, dla mnie markup jest bardzo fajny. Z tego co widzę, to całkiem podobny do http://wufoo.com.

Czyli na razie dalej mi się podoba :wink:

[quote=drogus]A… to luz - przecież można do jakiegoś specyficznego przypadku zrobić własną klasę, która dziedziczy po tej z formtastic i pozmieniać to co jest nie tak. Względnie dopisać do tej nowej klasy nowe metody, albo użyć w jednym miejscu klasycznego selecta, albo zmonkeypatchować.

Co do stylowania, dla mnie markup jest bardzo fajny. Z tego co widzę, to całkiem podobny do http://wufoo.com.

Czyli na razie dalej mi się podoba ;-)[/quote]
Dokładnie tak to zostało rozwiązane - mieliśmy jakieś monkey patche. Stylowanie przerosło trochę nasze możliwości i oczekiwania klienta, więc postanowiliśmy wywalić formtastica z głównego layoutu. Używamy go ciągle w interfejsie admina.

A próbowaliście subclassować SemanticFormBuilder? Tzn. czy jest to jakoś sensownie napisane i można łatwo to rozszerzyć bez monkey patchów?

A mógłbyś podać link do tego projektu żebym mógł zobaczyć jak te formy wyglądają? Bo nie mogę sobie wyobrazić czegoś czego nie dałoby się w tym ostylować. Chyba, że to tajemnica, to może chociaż na maila?

Męczysz, męczysz ;-). Jeśli chodzi o to rozwiązanie z grupami to musiałbym szukać gdzieś w starych commitach w repozytorium - było to conajmniej 2 miesiące temu. Projektu nie ma na sieci jeszcze, nie został i tak do końca postylowany. Problem był z tego co pamiętam z:

  • mapami Google - mamy jakieś formularze, które geokodują i wyświetlają rezultaty, musiałem ręcznie pisać markup do tego (pewnie mogłem coś podziedziczyć i dodać metody, nie wgłebiałem się w to aż tak mocno)
  • asocjacjami - Formtastic używa(ł?) refleksji do stwierdzenia, czy są jakieś asocjacje czy ich nie ma. Jeśli była to tylko metoda “emulująca” asocjację, to nie chciał wyświetlić np. listy checkboksów. Przez chwilę powstało nawet kilka niepotrzebnych tabel po to, żeby go zmusić do działania.
  • kompatybilnością z Ruby 1.9 (a jakże) - poprawiłem chyba wszystko co udało się nam znaleźć
  • marną dokumentacją (przynajmniej wtedy) - większość informacji zdobywaliśmy na podstawie formtastic.rb :slight_smile: (w sumie jesteśmy do tego przyzwyczajeni)

Stylowanie tego jest dość żmudne, za pomocą dość skomplikowanej hierarchii CSS. Mam wrażenie, że takie CSS-y są dość wrażliwe na zmiany i łatwo je rozsypać. Przynajmniej wtedy nie było również żadnego oficjalnego arkusza stylów do Formtastica, który stylowałby wszystkie elementy.

P.S. Nie mamy zbyt dużego doświadczenia w stylowaniu jakichś większych serwisów, to tylko moje subiektywne spostrzeżenia - być może wynikają z niewiedzy :-).

Tak już mam :wink:

A tak na serio, to nie mam ochoty później wymieniać w jakimś projekcie wszystkich form, więc wolę Ciebie pomęczyć :stuck_out_tongue:

[quote]Jeśli chodzi o to rozwiązanie z grupami to musiałbym szukać gdzieś w starych commitach w repozytorium - było to conajmniej 2 miesiące temu. Projektu nie ma na sieci jeszcze, nie został i tak do końca postylowany. Problem był z tego co pamiętam z:

  • mapami Google - mamy jakieś formularze, które geokodują i wyświetlają rezultaty, musiałem ręcznie pisać markup do tego (pewnie mogłem coś podziedziczyć i dodać metody, nie wgłebiałem się w to aż tak mocno)
  • asocjacjami - Formtastic używa(ł?) refleksji do stwierdzenia, czy są jakieś asocjacje czy ich nie ma. Jeśli była to tylko metoda “emulująca” asocjację, to nie chciał wyświetlić np. listy checkboksów. Przez chwilę powstało nawet kilka niepotrzebnych tabel po to, żeby go zmusić do działania.
  • kompatybilnością z Ruby 1.9 (a jakże) - poprawiłem chyba wszystko co udało się nam znaleźć
  • marną dokumentacją (przynajmniej wtedy) - większość informacji zdobywaliśmy na podstawie formtastic.rb :slight_smile: (w sumie jesteśmy do tego przyzwyczajeni)[/quote]
    Do przeglądania kodu gemów też jestem przyzwyczajony :wink:

Co do reszty - dzięki za info, obadam te kwestie przy następnym projekcie.

[quote]Stylowanie tego jest dość żmudne, za pomocą dość skomplikowanej hierarchii CSS. Mam wrażenie, że takie CSS-y są dość wrażliwe na zmiany i łatwo je rozsypać. Przynajmniej wtedy nie było również żadnego oficjalnego arkusza stylów do Formtastica, który stylowałby wszystkie elementy.

P.S. Nie mamy zbyt dużego doświadczenia w stylowaniu jakichś większych serwisów, to tylko moje subiektywne spostrzeżenia - być może wynikają z niewiedzy :-).[/quote]
Ok, rozumiem, dzięki wielkie za info, na pewno się przyda.