Moje pierwsze starcie z programowaniem aplikacji dla MacOS było dość bolesne - XCode i Interface Builder to nie jest IDE moich marzeń, ale i tak najgorsza z tego wszystkiego wydawała się konieczność zapoznania się z językiem Objective-C. Różne języki poznałem w swoim życiu, ale muszę przyznać, że składnia Obj-C mnie zwyczajnie odrzuca. I właściwie to pogrążyło moje nadzieje na tworzenie programów dla MacOS.

Nie ukrywam, że byłem wniebowzięty gdy wyczytałem o istnieniu wsparcia Cocoa dla innych języków programowania - wybór padł od razu na Ruby - język, którego składnię bardzo polubiłem. I tak trafiłem na projekt RubyCocoa, który wspiera tworzenie aplikacji z użyciem Ruby.

Najfajniejsze w tym wszystkim jest to, że w jednym projekcie możemy mieszać klasy napisane w Obj-C i Ruby. Zatem nie musimy się martwić o to, że będziemy musieli zrezygnować (lub przepisywać na Ruby) z ciekawych klas napisanych w Obj-C. Ja przykładowo testowo stworzyłem projekt wykorzystujący MAAttachedWindow, który po małej korekcie kodu (zmiana jednej flagi) działa wyśmienicie z kodem napisanym w Ruby (bez zmian występował mały problem przy rysowaniu okienka).

Dodatkowo życie uprzyjemniają trzy możliwości wywoływania metod, które sprawiają, że przerobienie fragmentów kodu w Obj-C na Ruby jest banalnie proste. Przy okazji wtedy najlepiej widać ile oszczędzamy sobie pisania wykorzystując Ruby.

Bardzo przydatne są :ib_outlet oraz :ib_action, które pozwalają z poziomu kodu Ruby definiować akcje i outlety dla Interface Buildera.

Osobiście zamierzam przejść z RubyCocoa na MacRuby, który jest bardziej przyszłościowy (bo wspierany przez Apple) i ma jeszcze łatwiejszą składnię.

Najważniejsze jest jednak to, że przy tworzeniu aplikacji z użyciem Cocoa nie jesteśmy skazani na Obj-C, który dla wielu osób byłby po prostu kolejnym językiem do nauczenia :)

Komentarze do wpisu "RubyCocoa - czyli aplikacje dla MacOS X w Ruby":

1. Anonim napisał(a):
05 października 2010, 19:50:17

MacRuby :)

2. lunat napisał(a):
06 października 2010, 21:45:35

Dlaczego stawiasz spację przed znakiem zapytania?
Skoro interesuje Cię tworzenie stron, to chyba powinieneś coś wiedzieć o interpunkcji.
Jeśli przed kropką nie dajesz spacji, to dlaczego stawiasz ją przed pytajnikiem?

Nie zdarzyło Ci się nigdy, że na początku linijki miałeś znak zapytania?

Polecam kurs HTML. Rozdział "HTML dla zielonych" :-)
http://www.kurshtml.boo.pl/html/wpisywanie_tekstu,zielony.html

P.S. Moim celem nie było naśmiewanie się, tylko zwrócenie uwagi :)

3. Dziudek napisał(a):
06 października 2010, 22:13:20

@lunat - szczerze? Wiem, że taki błąd często robię, ale jak piszę dużo to mi to zwyczajnie nie przeszkadza w tekście. A wręcz sprawia, że jest on dla mnie bardziej czytelny - i stąd mój problem. Jak sobie przypomnę to poprawię, a jak nie to ten etap poprawek pominę. Kropka jest jednak dużo subtelniejsza niż znak zapytania, który zwyczajnie mi się zlewa z wyrazem przy którym stoi. W tekstach bardzo formalnych o tym pamiętam, ale jak piszę na bloga na luzie to pewnie zawsze pomijam, bo skupiam się raczej na treści a nie na spacjach ;) Tak prawdę mówiąc sporo ludzi popełnia taki błąd i to też świadczy IMHO o tym, że taki zapis im się wydaje naturalniejszy.

Co do znaku zapytania na początku nowej linii - właśnie wtedy mi się z reguły przypomina, że ta spacja przed nim jest średnio pożądana ;)

Ja osobiście jestem zwolennikiem takiej teorii, że język to narzędzie jak każde inne i powinno się go rozwijać w stronę wygody użytkownika, a nie w stronę komplikowania i wymyślania nowych dziwnych form tak jak pragnęliby poloniści ;) Dlatego też jak ktoś mi zwraca uwagę, że czasem mówię (choć staram się unikać tej formy) "w gazecie pisze, że" to zadaję pytanie "a czy przez to mój przekaz był dla Ciebie niejasny ?" - bo niektórzy lubują się w wytykaniu paru podstawowych błędów językowych a sami ogólnie stosują takie konstrukcje językowe, że polonistom włosy stanęłyby dęba ;)

Ale dzięki za uwagę - postaram się w miarę możliwości poprawić ;)

P.S. Tak BTW w kwestii mojej interpunkcji - napisałem spory kawałek pracy inżynierskiej i żadnego błędu nie zrobiłem - także w tym moim jak to mówię "interpunkcyjnym strict mode" nie jest z moim pisaniem aż tak źle ;)

Dodaj komentarz:

Textile Lite włączony ( szczegółowy opis znaczników ):
*strong* | # lista numerowana | * lista wypunktowana | _em_ | __italic__ | "link":http:// | bq. cytat.