poniedziałek, 31 sierpnia 2009

REALbasic: plusy, minusy i mroczna przyszłość cz.1

REALbasic - cóż to takiego?

REAL Software, firma mieszcząca się w Austin w Teksasie, jest producentem wieloplatformowego kompilatora REALbasic - obiektowej odmiany języka Basic. Narzędzie to ma ponad 10 letnią historię, początkowo ściśle związaną z platformą Apple. Obecnie REALbasic sprzedawany jest w wersji 2009.3, a pracuje pod kontrolą systemu MacOS X, Linux lub Windows. Wersje Professional i Studio posiadają możliwość cross-kompilacji, tzn. kompilator pracując pod dowolnym z obsługiwanych systemów może wygenerować program także dla dwóch pozostałych. Sam język programowania jest w pełni obiektowy, pakiet zawiera łatwe w obsłudze środowisko programisty, dostępne są liczne klasy pozwalające na obsługę baz danych, protokołów sieciowych, plików graficznych, XML itp.

REALbasic jest szczególnie popularny na platformie MacOS X, choć po zakończeniu rozwoju klasycznego kompilatora Visual Basic przez Microsoft, REALbasic zdobył także pewną popularność wśród programistów VB jako alternatywa dla platformy .NET.

Typowym klientem REAL Software jest raczej programujący amator-hobbysta, lub pół-profesjonalista tworzący oprogramowanie dla swojej firmy/organizacji, niż zawodowy programista. Istnieje też grupa konsultantów tworzących rozwiązania na zamówienie, korzystająca z głównych zalet tego narzędzia: wieloplatformowości i szybkości tworzenia kodu. REALbasic słabiej sprawdza się w większych organizacjach przy pracy grupowej, choć trzeba przyznać, że istnieją i takie firmy jak Xsilva, czy BKeeney Software, AltaPoint, Clarity Legal Software, Rage Software.



REALbasic jest produktem komercyjnym, kosztuje zależnie od wersji od 99 do 995$. Po zakupie licencji na użytkowanie programu otrzymuje się także roczną subskrypcję na poprawki i rozszerzenia. REAL Software nie sprzedaje bowiem nowych wersji (ze zniżką dla dotychczasowych licencjobiorców) lecz prawa do pobierania nowych wersji przez określony okres czasu. Po jego zakończeniu można nabyć subskrypcję na kolejne lata lub pozostać przy wersji dotychczasowej. Przyjęty przez firmę sposób produkcji gwarantuje użytkownikom nową wersję co ok. 90 dni. Należy wspomnieć, że istnieje możliwość otrzymania wersji linuksowej kompilatora (w wersji Personal) za darmo, jeśli użytkownik będzie wykorzystywał go tylko do tworzenia otwartego oprogramowania.

Plusy i minusy

Podstawową zaletą REALbasica jest jego wieloplatformowość, łatwość tworzenia aplikacji przeznaczonych dla trzech najpopularniejszych systemów operacyjnych. Łatwość nauki języka ma spore znaczenie dla początkujących programistów. Jest to też powód popularności narzędzia wśród hobbystów, jak rówież stosowania w edukacji. Razem z kompilatorem otrzymujemy VB Migration Assistant - narzędzie do konwersji okien dialogowych z Visual Basica oraz program Lingua wspomagający tworzenie wersji wielojęzycznych i bogatą dokumentację.

Oprócz podręczników dostarczanych przez producenta na rynku obecne są dwie w miarę aktualne pozycje książkowe dotyczące REALbasic: "Beginning REALbasic" (Jerry Lee Ford, wyd. Apress, 2006), oraz "REALbasic Cross-Platform Application Development" (Mark Choate, wyd. Sams, 2006). Od 2002 roku wydawany jest poświęcony REALbasicowi dwumiesięcznik: "REALbasic Developer". Początkowo był drukowany, a od kilku numerów dostępny głównie w wersji elektronicznej lub w formie druku na żądanie.

Wyniki ankiet publikowanych przez REAL Software (jak i przez ARBP, stowarzyszenie zrzeszające programistów REALbasic) wskazują że, głównym zastosowaniem REALbasica są bazy danych. Najprostsza wersja narzędzia (Personal) oferuje dostęp tylko do wbudowanego silnika dla lokalnych baz danych, wersje wyższe (Pro i Studio) dostarczane są z wtyczkami do obsługi baz Oracle, PostgreSQL, MySQL (wersja open source, mimo zapowiedzi brak wtyczki do współpracy z komercyjnymi wersjami MySQL) oraz ODBC. Wbudowany silnik, nazywany REALSQLDatabase opiera się na SQLite. Niestety trzeba przyznać, że oferuje tylko część możliwości SQLite np. nie ma sposobu na zdefinowanie własnego sposobu sortowania. Jest to o tyle dziwne, że rozwojem bazodanowej części REALbasic zajmuje się Marco Bambini, autor wykupionej przez REAL Software wtyczki do obsługi baz SQLite, która takie (i inne zaawansowane) funkcje bazy SQLite udostępniała. Niezrozumiałe są również opóźnienia w aktualizacji wbudowanej bazy SQLite, obecna wersja REALbasic 2009.3 w wersji dla MacOS X posługuje się wersją 3.4.2 SQLite, podczas gdy dostępna jest już wersja 3.6.17.

Wtyczki są wygodnym mechanizmem rozszerzającym możliwości kompilatora i są oferowane także przez niezależnych dostawców. Do najpopularniejszych należą MonkeyBread Software i Einhugur Software. Trzeba jednak przyznać, że liczba firm tworzących rozszerzenia dla REALbasica jest niewielka, zwłaszcza w porównaniu do oferty dla programistów .NET czy Delphi. Oczywiście jest to konsekwencją różnic w popularności tych narzędzi. REAL Software podaje liczbę ponad 100 tys. sprzedanych kopii REALbasica. Trudno jednak powiedzieć ilu klientów aktywnie używa programu i kupuje subskrypcje, czy to tej liczby wliczana jest sprzedaż dużego pakietu licencji dla polskiego Ministerstwa Edukacji (do nauki programowania w gimnazjach z pracowniami komputerowymi wyposażonymi w komputery Apple), oraz czy wliczane są darmowe licencje dla użytkowników linuksowych. Z pewnością rynek dla dostawców niezależnych nie jest szeroki.

W kontekście baz danych dużym problemem REALbasica jest brak wbudowanego narzędzia do tworzenia raportów. Dostępnych rozwiązań firm trzecich (On-Target Reports, RSReport) jest na razie niewiele i nie są one pozbawione wad. Inna bolączka widoczna jest na platformie MacOS, programy napisane w REALbasicu opierają się ciągle na bibliotekach Carbon. Prace nad frameworkiem opartym na Cocoa trwają od paru lat. Ostatnie komunikaty z firmy mówią o ich zakończeniu jeszcze w tym roku, trudno jednak ocenić na ile jest to realne.

Porównując środowisko programisty REALbasic z popularnymi narzędziami na rynku można zauważyć liczne braki. Brak integracji z systemami kontroli wersji, brak refactoringu, nietypowy i raczej słaby mechanizm uzupełniania kodu (autocomplete). REALbasic stara się ułatwiać pracę z kodem początkującym programistom prezentując metody obiektów w drzewku i "przykrywając" część kodu interfejsem, tak że dostępne do edycji są pola nagłówkowe na nazwę metody, parametry, zaś typ (global, public, private) ustalany jest kolorowym graficznym przełącznikiem. Dopiero poniżej przechodzimy do właściwego edytora i edycji zawartości metody. Taki interfejs jest być może faktycznie wygodny dla początkujących użytkowników, lecz dla zawodowych programistów pracujących z różnymi narzędziami fragmentaryczny dostęp do kodu może być uciążliwy.

c.d.n.

Brak komentarzy:

Prześlij komentarz