Porównanie IDE / edytorów dla Ruby on Rails

Porównanie Rails IDEŻeby firma odniosła sukces, najpierw musi w ogóle powstać. Tu więc najważniejszym elementem jest faza początkowa, czyli startup.
Żeby startup mógł powstać, ktoś musi najpierw go zbudować. Mowa tu o startupie technologicznym / internetowym, więc kluczowym elementem jest w tym przypadku zespół developerski.
Żeby ten zespół mógł stworzyć swój wymuskany produkt końcowy, musi mieć w czym pracować. I tu elementem niezbędnym i koniecznym jest edytor lub środowisko programistyczne (IDE).
Jako że piszę tu o Ruby on Rails, to zanim przejdę do tematów bardziej technicznych, najpierw się skupię na elemencie niezbędnym (pomijając umiejętność myślenia, bo bez tej nawet najlepsze środowisko programistyczne nie spłodzi nawet jednej sensownej linijki kodu, może oprócz scaffold‘ów).

Zróżnicowanie systemów operacyjnych jest widoczne również w przypadku edytorów i IDE (w dalszej części będę tych pojęć używał zamiennie, żeby za każdym razem nie podkreślać, że coś jest edytorem, a coś innego jest środowiskiem programistycznym).
Użytkownicy Mac’ów mają „owiany legendą” TextMate.
Linux ma sporo opcji: jEdit, vim, Cream (bazujący na vim), 3rdRail (płatny, $299) i in.
Jako że jednak uznałem, że wydanie kilku tysięcy złotych na Mac’a tylko po to, żeby mieć dobry edytor dla projektów Railsowych, mija się z celem, pracuję więc pod Windowsami i dla tego właśnie systemu przygotowałem zestawienie porównujące dostępne opcje dla środowisk programistycznych dla Ruby on Rails.
Wraz z upływem czasu i rosnącym „zamieszaniem” wokół Rails (w pozytywnym tego słowa znaczeniu), rośnie również dostępna ilość edytorów. Stopniowo dołączają coraz bardziej znane marki i są tworzone coraz bardziej zaawansowane narzędzia. Jest więc w czym wybierać, w porównaniu choćby do okresu sprzed roku.

Ze wszystkich możliwych opcji dostępnych na dzień dzisiejszy pod Windows, zdecydowałem się wybrać cztery i przyjrzeć im się bliżej. Są to: Aptana / RadRails, Netbeans, e oraz Komodo Edit.
Oto jakie wersje miałem zainstalowane podczas testowania:

  • Aptana IDE build build 0.2.9.17048 (plugin RadRails 0.8.0.200707021211)
  • NetBeans Ruby IDE 20071020152017 (Ruby and Rails plugin v. 0.102.0)
  • e v. 1.0.3
  • Komodo Edit, version 4.2.0, build 281898

Po kolei, dlaczego akurat te:

  • Aptana, bo wcześniej używałem i polubiłem RadRails. Niestety nie mogę stwierdzić, że od kiedy RadRails został przejęty przez Aptanę, wyszło to na korzyść dla tego pierwszego. Możliwe jednak, że z czasem dojdą do ładu i produkt będzie tylko coraz lepszy.
  • Netbeans, bo jest to prawie kompletne, rozbudowane i profesjonalne środowisko programistyczne, które ostatnio zauważyło Ruby i dość dynamicznie szlifuje swoje funkcje w tym kierunku.
  • e (lub też „e texteditor”), bo jest to chyba najbardziej zbliżony „klon TextMate’a” pod Windows. Mimo iż jest płatne (po okresie testowym 30 dni licencja kosztuje $34,95)
  • Komodo, bo mimo iż może mniej znane, ale jest to szybkie i wygodne narzędzie dla projektów w Ruby.

Dość dużym zainteresowaniem cieszy się też jEdit, ale miałem z nim zbyt dużo problemów dostosowując go do przynajmniej znośnej pracy w Rails, żeby poważnie rozważać jego kandydaturę, przynajmniej na tym etapie rozwoju. Poza tym jego wygląd naprawdę nie powala, a skoro mam wiele godzin dziennie patrzeć na to, co mam przed sobą na ekranie, to siłą rzeczy wolę, żeby był to twór jeśli nie piękny, to przynajmniej miły. Podobnie z kobietami – jak nie jest piękna, to niech chociaż będzie miła. jEdit niestety w mój gust nie trafił w żadnej z tych kategorii, więc nie ma go w tym zestawieniu.

Wracając więc do pięknych, miłych i czasami nawet posiadających obie cechy naraz. Poniżej zestawienie funkcji i właściwości każdej z czterech opcji. Nie jest to w żadnym wypadku kompletna lista możliwości w żadnym z czterech przypadków – jest tego o wiele, wiele więcej. Jednak te są moim zdaniem ważne pod tym względem, że – bardziej lub mniej – przyczyniają się do pożądanego efektu końcowego, jakim jest przyjemna, szybka i efektywna praca w miłym środowisku (tym razem nie ludzkim, a komputerowym).

Na Google Docs zamieściłem wersję również z angielskimi nazwami właściwości, na wypadek gdyby moje wysiłki tłumaczeniowe okazały się nie do końca jasne dla wszystkich. Oto link: Porównanie IDE / edytorów dla Ruby on Rails: Rails IDE.

Porównanie IDE i edytorów dla Ruby on Rails

Po kolei więc podsumowanie, od „ostatniego miejsca” w tym zestawieniu.

  • Komodo Edit

Komodo Edit jest darmową wersją Komodo IDE ($295,00), jednak nawet wersja darmowa jest dostatecznie dobrym narzędziem, żeby móc polecić go ludziom zajmującym się Ruby on Rails. Może nie jest jeszcze najlepszym rozwiązaniem dla dużych i skomplikowanych projektów, ale dla mniejszych prac na pewno spełni pokładane w nim oczekiwania. Na jego korzyść na pewno przemawia szybkość działania. Stosunkowo prosty i niezaśmiecony interfejs również jest na plus. Możliwość definiowania własnych makr oraz spora ilość już dostępnych pozwala na dostosowanie go do swoich potrzeb. Ocena końcowa: 6. Dla mnie sporym minusem jest brak snippets (z braku polskiego odpowiednika, zostawiam angielską nazwę), który przy dłuższej pracy z Rails jednak daje się we znaki. Wygląd, mimo iż prosty i nienachalny, też mógłby być jednak trochę lepszy. Poniżej screeny wszystkich edytorów, więc można porównać.

  • Aptana / RadRails

Prosty w użyciu i w miarę szybki RadRails po przejęciu przez Aptanę trochę stracił na swojej prostocie, bo zostało dodane dużo moim zdaniem zbędnych rzeczy. Jednak jest to dosyć logiczne, zważając na fakt, że RadRails był przystosowany tylko do pracy z Rails, a Aptana to środowisko programistyczne dla dużo większej ilości języków i framework’ów. Mimo iż na tej zmianie RadRails sporo stracił, to jednak ciągle posiada większość swoich pozytywnych cech. Jeśli chodzi o wygląd, to brak motywów jest tu minusem (wolę pracować na ciemnym tle, więc wszędzie gdzie tylko można zmieniam wygląd – oczy się mniej męczą przy ciemnym tle, szczególnie w nocy). Możliwość dostosowania do swoich potrzeb jest dość spora, więc na upartego można zmusić, żeby Aptana pracowała tak, jak się chce. Ocena końcowa: 7.

  • e i Netbeans

Obecnie pracuję w Ruby on Rails pół na pół, jeśli chodzi o edytory: połowę czasu (mniejsze projekty, szybkie zmiany, początkowe fazy) w „e”, połowę w Netbeans. Dlatego dałem równe oceny dla obu tych opcji.
Za „e” przemawia jego prostota, szybkość działania, zintegrowanie z SVN (działające trochę bardziej intuicyjnie i prościej, niż w Netbeans), ciągły i szybki rozwój (co bardzo ważne), możliwość zaznaczania również kolumnowo (w pionie) i oczywiście snippets, które działają bardzo dobrze i są ciągle dodawane nowe.
Netbeans natomiast jest według mnie środowiskiem najbliższym tego, żeby można go było nazwać kompletnym. Dobrze rozwiązna nawigacja pomiędzy poszczególnymi plikami (jej brak jest bardzo uciążliwy przy otwartej dużej ilości plików), dokumentacja dostępna bez wychodzenia z edycji (dostępna razem z funkcją autouzupełniania), smart views (podział na kontrolery, widoki, pliki konfiguracyjne itp. według ich funkcji, a nie struktury folderu), nawigacja w dokumencie i powiązanych z nim plikami oraz setki innych funkcji, które są dostępne, jeśli tylko dusza zapragnie.
Na niekorzyść „e” może działać brak podświetlania błędów czy brak możliwości otworzenia kilku projektów jednocześnie, jednak jest to edytor, a nie IDE, więc nie jest to jego celem. W ciągu ostatnich kilku miesięcy od kiedy używam tego edytora, zmiany są wprowadzane szybko i jest ich sporo, więc komfort pracy z „e” rośnie.
Minusem Netbeans jest szybkość. Często się zdarza, że nie jest „błyskawiczny” i trzeba trochę poczekać. Skutki Javy. Jest jednak również bardzo intensywnie rozwijany pod kątem Rails, więc jeśli chodzi o przyjemność użytkowania, ilość funkcji, poprawność ich działania i szybkość dodawania nowych, naprawdę warto mu się przyjrzeć i poważnie rozważyć jako swoje główne narzędzie w podbijaniu świata (oprócz umiejętności myślenia oczywiście, co już jednak wspominałem).

Narzędzia programistyczne są w naprawdę wielu smakach. Każdy lubi inny smak lodów, więc nie widzę dlaczego miałoby być inaczej z IDE. W efekcie końcowym liczy się to, czy dobrze się nam pracuje w tym czy innym środowisku. Radzę więc samemu przynajmniej na krótko wypróbować każdą z opcji i zdecydować się na tą, która będzie „najsmaczniejsza”.
Poniżej – dla porównania – ilość RAM, jaką aktualnie zużywa wszystkie powyższe opcje na moim komputerze. Na ten wynik może wpływać wiele czynników, ale podaję poglądowo, przynajmniej dla zobaczenia jaki jest rząd wielkości. Każdy z edytorów ma otwartych około 10 dokumentów.
// Konfiguracja mojego komputera: 2 GB RAM, Intel Core2 1,83 GHz //

Aptana: 130 MB
Netbeans: 161 MB
e: 28 MB
Komodo: 88 MB

Poniżej screeny (dla tych, co nie chcą ściągać i instalować, a chcieliby obejrzeć). Wszystkie edytory miały ustawione domyślnie białe tło, ale jak już wspomniałem – wolę czarne i dbam o oczy, więc widać tego efekty.

Aptana IDE Aptana IDE

e texteditor e texteditor

Komodo Komodo Edit

Netbeans API Netbeans API

Jeśli macie jakieś inne godne uwagi edytory lub IDE dla Ruby on Rails albo nie zgadzacie się co do którychś moich stwierdzeń (co byłoby całkowicie logiczne, ja np. nie lubię lodów orzechowych albo truskawkowych), zapraszam do zostawienia swojej opinii w komentarzach.

Liczba komentarzy: 16 ↓

#1 Był sobie chłopiec… — Alt + Sabon 10.23.07 o 0:49

[...] Porównanie IDE / edytorów dla Ruby on Rails (Ruby on Rails) [...]

#2 Radarek 10.23.07 o 11:24

Świetne porównanie, z pewnością kosztowało Cię to dużo pracy :). Też kiedyś zamierzałem napisać o IDE dla ruby/rails ale mnie uprzedziłeś :P.

Co do środowisk. Używałem e, ale raz, że trzeba za niego zapłacić (30 dni free), a dwa widać, że jest ciągle w fazie rozwoju bo wiele mu brakuje.

Osobiście używam netbeans i (jeśli pominąć jego kobyłowatość) jest świetny! Myślę, że każdy programista rubiego powinien umieć posługiwać się tym IDE. Tym bardziej, że sun inwestuje w rubiego (JRuby, moduł rubiego w nb) więc byle kto za tym nie stoi.

Btw, właśnie dostałem na rss, że jest beta2 netbeans :P.

Z innych IDE jest jeszcze Intellij, z pluginem do rubiego. Nie sprawdzałem, ale niektórzy programiści mówią, że jest to najlepsze IDE do javy, więc może do rubiego też zrobili dobre wsparcie :).

I na koniec chciałem spytać o kwestię ruby i windows. Ja do tej pory też pisałem pod windowsem, ale właśnie zainstalowałem linux i raczej pod nim będę robił developerkę. Jak Ty wytrzymujesz tą ogromną powolność rubiego pod windowsem? Szczególnie chodzi o ładowanie większych ilości plików (np. podczas startu serwera railsów czy irb). Mnie już nerwica brała jak uruchomienie rake db:migrate trwało kilka sekund, zamiast 1s :).

#3 Sabon 10.23.07 o 11:51

Rzeczywiście całkowity czas na porównanie, zestawienie i opisanie wszystkich opcji był dosyć dłuuugi. No ale z efektu końcowego jestem zadowolony, a jeśli na dodatek nie tylko ja jestem zadowolony, to efekt porządany został osiągnięty :)
No i sorry, że zabrałem Ci temat. Trzeba się było sprężyć jak w pierwszym poście napisałem listę tematów – byłbyś pierwszy ;)

Netbeans beta2 ściągnięty i zainstalowany – dzięki za info. Tak jak pisałem – to narzędzie szybko się rozwija i widać tego efekty. Po pobieżnym przejrzeniu nowej wersji mogę powiedzieć, że coraz bardziej się skłaniam ku Netbeans.

Jeśli chodzi o kwestię windows vs. linux, to oczywiście również najchętniej bym sobie postawił lokalnie jakieś stare „pudełko”, gdzie chodziłby linux i na którym bym robił wszystkie rzeczy związane z developerką. Jednak dla mnie przenośność jest ważniejsza (pracuję na laptopie), więc wolę mieć wszystkie swoje „narzędzia i zabawki” gdziekolwiek jestem, a kilka sekund opóźnienia przy poleceniach rake jestem w stanie za to „zapłacić”. Ale tak, czasami to rzeczywiście bywa odrobinę frustrujące ;)

#4 Daniel 10.29.07 o 13:01

Ciekawe porównanie. Może warto byłoby do tabelki dodać nieśmiertelny wiersz ‘Cena’ ?

BTW: Pisałem niegdyś o połączeniu Aptany i RadRails wieszcząc słaby rozwój (http://jarmark.org/post/umarl-krol-niech-zyje-krol/) od tego czasu nie przyglądałem się Aptanie – po Twoim wpisie ze smutkiem odnotowuję fakt, że się nie myliłem :(

#5 Sabon 10.29.07 o 13:10

Daniel,

Wiersz z ceną wszędzie byłby taki sam (zero), z wyjątkiem „e”, które kosztuje $34,95, po 30-dniowej w pełni działającej wersji testowej.

RadRails rzeczywiście szkoda. Kiedyś to było najsensowniejsze rozwiązanie dla Rails pod windowsami, a teraz… Szkoda i tyle.
Jednak wraz z wyjściem nowej bety Netbeans, muszę powiedzieć, że już nieczuję niedosytu, że potrzebuję czegoś, czego nie ma. Bardzo dobrze mi się pracuje z Netbeans i komfort jest porównywalny do „RadRails sprzed Aptany”.

#6 Daniel 10.29.07 o 13:54

Myślałem też o komodo – opisywałeś wersje darmową która jest jednak mocno ograniczona w porównaniu do pełnej.

Co do netbeansów – hmm śmieszne to troche – bo to taki klon eclipse’a napisany w Swingu. Rubikowe rzeczy działają zadowalająco, ale np edycja rhtml to już jest koszmar – kursor zacinający się na ułamki sekund itd. Póki co, jest to jeszcze beta więc trzeba na to przymknąc oko. Szanse na to, że netbeans będzie najlepszym IDE dla Rubego/Railsów są przeogromne.

#7 Sabon 10.29.07 o 14:15

Jeśli chodzi o Komodo, to byłbyś skłonny wydać $295 na coś, co w podobnej jakości istnieje darmowe? Bo ja na pewno znalazłbym lepsze zastosowanie dla tych pieniędzy. Dlatego pełną wersję Komodo IDE pominąłem.

Netbeans się rozwija bardzo szybko i z niedawno jeszcze dość (t)opornego kawałka software’u (patrząc z punktu widzenia RoR oczywiście) jest już bardzo przyjemnym narzędziem. Więc niedługo nie powinno być też usterek, które Ci teraz przeszkadzają.

#8 Radarek 10.29.07 o 15:14

Ostatnio dokonałem upgrade kompa i nagle jedna z największych wad netbeans prysła – śmiga aż miło ;).

Dodatkowo każdy kto śledzi rozwój wsparcia rubiego w netbeans (tzw „ruby screenshot of the week”, wpiszcie sobie w google) wie jak bardzo przykładają się w tej kwestii. To nie jest jakiś tam projekt, nad którym siedzą zapaleńcy w wolnym czasie. W to Sun inwestuje dosyć spore pieniądze. Także jestem prawie pewien – netbeans już jest i będzie najlepszym IDE do rubiego i railsów.

#9 Sabon 10.29.07 o 15:21

Tu się zgodzę. Netbeans jest i prawdopodobnie jeszcze długo będzie najlepszym IDE.
Po przetestowaniu wersji beta 2, zweryfikowałbym swoją tabelkę na ocenę 9,5 dla Netbeans :)

#10 Daniel 10.29.07 o 15:26

Miłą jest także konstatacja, że Sun z netbeansami nie ma innego wyjścia. Królem IDE dla Javy jest eclipse więc aby nie zmarnować lat pracy… trzeba podążać Ruby Way :)

#11 aseeon 11.10.07 o 3:16

Co do Komodo Edit, to z dwoma rzeczami się nie w pełni zgadzam (patrząc na tabelkę).
1. Bundles/Snippets:
Swego czasu wpadłem na macro do komodo edita które pozwalało na obsługę własnych snippetów (tyle że z ctrl+tab zamiast samego taba), więc przy początkowo wytężonej pracy nad własnymi snippetami można by później poszaleć
2. Podświetlanie błędów:
Z moich prywatnych obserwacji wynika (python coder), ze bardzo ładnie podkreśla błędy składniowe. Chyba, z chodziło tutaj o błędy w rozumieniu stricte RoR, wtedy się w pełni zgadzam :)

A generalnie to gratuluję świetnego artykułu. Mam nadzieję, że niedługo nakreślę coś podobnego bardziej pod kontekstem Pythonowym.

#12 Sabon 11.10.07 o 3:27

aseeon,
1. Jeśli chodzi o bundles/snippets, to w Komodo jest to opcja, którą można skonfigurować, ale która nie jest w pakiecie. A ja np. naprawdę absolutnie nie miałbym ochoty samodzielnie konfigurować wszelkiego typu skróty, które byłyby dla mnie przydatne. W innych edytorach mam już najważniejsze wbudowane i *dodatkowo* mogę konfigurować swoje.
2. Podświetlanie błędów (jak zresztą i wszystkie inne aspekty) rozpatrywałem pod kątem Ruby on Rails, więc nawet jeśli to świetnie działa dla innych języków i składni, to z mojego punktu widzenia nie daje mi to żadnej wartości dodanej, stąd też to pomijam.

#13 jg 11.14.07 o 2:13

Dziekuje za udany artykul. Znalazlem cos takiego w necie: http://intype.info/
Moze kogos zainteresuje. Pozdrawiam

#14 Sabon 11.19.07 o 16:20

Gdyby ktoś był zainteresowany listą IDE dla różnych języków, to tutaj się pojawiła dość pokaźna lista:
http://mashable.com/2007/11/17/ide-toolbox/

#15 s0lnic 11.24.07 o 14:25

Zgodziłbym się z przewagą NetBeans nad Aptana gdyby mowa była o IDE do samego Ruby, „niestety” pisząc aplikacje w RoR, siłą rzeczy, potrzebne jest też dobre środowisko do html/css/javascript, a w tej kwestii NetBeans po prostu wymięka przy Aptanie. Gdybyś uwzględnił to w swojej tabelce, wynik końcowy byłby moim zdaniem zupełnie inny :-)

#16 Grimowy 05.12.11 o 18:15

„NOTE: As of NetBeans IDE 7.0, support for Ruby and Ruby on Rails is no longer available in the standard NetBeans IDE build. Please see the Ruby Support Wiki page for more information. (…) Due to limited engineering resources, no further development and support for Ruby on Rails is planned. „

Zostaw swój komentarz