Jaka jest najlepsza / najłatwiejsza biblioteka GUI dla Rubiego?
Wolałbym wieloplatformową bibliotekę GUI, ale obecnie martwię się tylko o Windows (Win32). Trudno mi znaleźć takie, które wydają się łatwe w użyciu. Czy są jakieś?
ruby
user-interface
Chris Pietschmann
źródło
źródło
Odpowiedzi:
Ruby Shoes (dlaczego) ma być naprawdę prostym frameworkiem GUI. Nie wiem jednak, jak w pełni funkcjonalny jest.
Kilka dobrych przykładów kodu można znaleźć w samouczkach .
Myślę też, że buty wspomagają hackety hack , atrakcyjne środowisko do nauki programowania dla dzieci.
źródło
Oto dobre źródło informacji dla Ciebie:
http://en.wikibooks.org/wiki/Ruby_Programming/GUI_Toolkit_Modules
zawiera linki porównujące w zasadzie wszystkie z nich.
źródło
Zacząłem od FXRuby, ponieważ miał książkę .
źródło
Niedawno zacząłem używać Qt jako frameworka GUI dla aplikacji Ruby. Istnieje powiązanie o nazwie QtRuby . Samouczek szybkiego startu (dotyczy tylko okien) znajduje się w tym poście
źródło
Limelight Bardzo podoba mi się metafora teatralna.
źródło
Glimmer to interesująca opcja dla użytkowników JRuby, która zapewnia bardzo rubinowy interfejs do zestawu narzędzi SWT. (SWT to platforma interfejsu użytkownika stojąca za Eclipse, która zapewnia szybką wydajność i znane metafory interfejsu użytkownika, wykorzystując natywne widżety na różnych obsługiwanych platformach: Windows, OS X, Linux itp.) SWT zawsze przemawiał do mnie jako programisty Java , ale kodowanie było skrajnie bolesne. Glimmer sprawia, że proces jest o wiele prostszy, kładąc nacisk na konwencję nad konfigurację i doceniając SUCHOŚĆ i wszystkie inne normalne dobro Ruby.
Inną fajną opcją jest SproutCore , oparty na Javascript zestaw narzędzi GUI z powiązaniami Ruby opracowany przez Apple. Przynajmniej jego wersje demonstracyjne wyglądają świetnie, a innyinbox zbudował na nim całkiem zgrabną aplikację . Osobiście spędziłem kilka godzin, próbując uruchomić go na dwóch systemach - jednym Windowsie i jednym Linuksie - i nie udało mi się na żadnym - ciągle mam problemy z zależnościami od Merba lub innych elementów Stos SproutCore. Ale jest to na tyle intrygujące, że wrócę po kilku tygodniach i spróbuję ponownie, mając nadzieję, że w tym czasie problemy zostaną rozwiązane.
źródło
WxWidgets warto sprawdzić. Jest dobrze obsługiwany w Rubim przez wxRuby . Aby zapoznać się z przykładową aplikacją, spójrz na wxRIDE . Zobacz to w porównaniu z innymi zestawami narzędzi . Możesz również sprawdzić Anvil , które jest rodzajem frameworka Railsowego do pracy z wx. Jednak teraz wygląda na konającą.
źródło
Jeśli szukasz wieloplatformowego GUI, gorąco polecam korzystanie z JRuby i Swing.
Przyjrzyj się także bibliotece monkeybars , która jest biblioteką Ruby do tworzenia aplikacji MVC przy użyciu JRuby i Swing, gdzie możesz również użyć doskonałego Netbeans IDE do wizualnego zbudowania GUI.
źródło
Jeśli tworzysz dla komputerów Mac, MacRuby ma najlepszą bibliotekę. Oprócz tego, że jest niesamowicie szybki, ma bardzo ładny interfejs GUI o nazwie hotcocoa. Ponadto biblioteka jest rozwijana przez firmę Apple, używa klas Core Foundation jako podstawy i działa w środowisku wykonawczym Objective-C przy użyciu LLVM. Krótko mówiąc, jest błyskawiczny.
źródło
Istnieją wiązania Ruby dla QT i GTK, więc nie możesz się pomylić z tymi (są też przenośne).
Pragmatyczni programiści opublikowali mini książkę o Rubim z QT i pełną książkę o FXRuby, więc myślę, że to drugi dobry wybór.
Buty, choć łatwe do nauczenia i urocze, są dość sytuacyjne i nie zapewniają tak wielu opcji sterowania, jak inne, więc jeśli chcesz zbudować coś poza prostym interfejsem użytkownika (nie nienawidzić butów, ale nie są dojrzałe wystarczająco dużo), polecam Ci skorzystanie z jednego z bardziej dojrzałych i przetestowanych zestawów narzędzi.
źródło
Wypróbuj visualruby, które możesz łatwo zbudować za pomocą projektanta interfejsu glade , a następnie napisz czysty kod ruby, aby je animować. Jest to o wiele łatwiejsze niż opcje wymienione powyżej, ponieważ nie musisz ręcznie kodować wszystkiego.
Przykładowe filmy można zobaczyć na stronie visualruby.
źródło
Mam bardzo dobre doświadczenia z Qt, więc zdecydowanie polecam.
Powinieneś jednak mieć na uwadze model licencjonowania. Jeśli tworzysz aplikację typu open source, możesz bezpłatnie korzystać z licencjonowanej wersji open source. Jeśli tworzysz aplikację komercyjną, będziesz musiał uiścić opłaty licencyjne. I nie możesz programować w wersji open source, a następnie zmienić licencję na komercyjną, zanim zaczniesz sprzedawać.
PS Właśnie rzuciłem okiem na buty. Bardzo podoba mi się deklaratywne definicje elementów interfejsu użytkownika, więc zdecydowanie warto to zbadać ...
źródło
Jeśli jesteś zainteresowany, RubyLearning oferuje kurs FXRuby i butów. Aktualnie prowadzony jest kurs Obuwie.
Prawdopodobnie najłatwiejsze są buty. Jako asystent nauczyciela w RubyLearning mam nadzieję, że będziemy mieli lepsze kursy dla uczniów.
Niektórzy utknęli w instalacji FXRuby. Ale Shoes ma instalator dla wszystkich platform (Windows, Mac i Linux).
źródło
Używając interpertera ironRuby masz pełną platformę .net, co oznacza, że możesz kodować Winforms i WPF (próbowałem tylko Winforms). Jest potencjalnie wieloplatformowy, ponieważ istnieje platforma mono
źródło
Jest tutaj dyskusja , która może być przydatna.
Na podstawie mojej własnej (ograniczonej) ekspozycji powiedziałbym, że buty były najfajniejsze i prawdopodobnie „najłatwiejsze” do założenia. Ostrzegam jednak, że ustalenie, co było nie tak, gdy coś się zepsuje, może być trudne (przynajmniej było to dla mnie).
W przypadku aplikacji ze świata rzeczywistego, którą planowałem wdrożyć dla rzeczywistych użytkowników, myślę, że wybrałbym wxruby .
źródło
Tk jest dostępny dla Rubiego. Kilka fajnych przykładów (w Rubim, Perl i Tcl) można znaleźć pod adresem http://www.tkdocs.com/
źródło
Wxruby to świetny szkielet, prosty i czysty. Wypróbuj lub użyj polany z rubinem (najprostsza opcja)
źródło
Użyj przeglądarki jako GUI, używając Watir, jak w tym pytaniu i odpowiedz:
użyj przeglądarki jako GUI w Rubim
źródło
Wypróbuj buty . Niestety nie miałem jeszcze okazji z nim pracować, ale mam nadchodzący projekt, w którym planuję go wykorzystać. Jest wieloplatformowy. Również API wygląda bardzo rubinowo, więc spróbuję.
źródło