Jacek Artymiak
16 czerwca, 2010
Programowanie obrazkowe ma już wieloletnią tradycję. Większość z programistów, którzy mają doświadczenia z pisaniem oprogramowania dla systemu Microsoft Windows zna lub chociaż słyszała o pakiecie Visual Basic. Również Macintosh może pochwalić się wieloma ciekawymi rozwiązaniami w tej dziedzinie, często tak nowatorskimi, że chociaż wymyślono je ponad dwadzieścia lat temu, do dziś zaskakują pomysłami na uczynienie programowania komputerów bardziej przyjaznym dla człowieka. Przyjrzyjmy się zatem pakietom, które zamieniają programistów w “malarzy aplikacji”.
Dawno, dawno temu, kiedy na monitorach komputerów pojawiały się pierwsze mapy bitowe ktoś wpadł na pomysł, żeby aplikacje rysować. Pomysł skądinąd logiczny, bo skoro interfejs użytkownika jest zbudowany ze standardowych elementów, to powinno się go dać poskładać za pomocą myszki.
Ale po co myszka? Pierwsze systemy tego rodzaju nie pojawiły się na Macintoshu, ani nawet Lisie, a na prostych komputerach domowych, Apple II, Commodore 64, Atari 800 czy ZX Spectrum. Zaczęło się od gier, a pierwszą był Pinball Machine Construction Set, czyli gra w której gracz mógł projektować własne maszyny z prefabrykowanych elementów i modyfikować ich charakterystykę zachowań. Program pojawił si w roku 1983, na rok przed debiutem komputera Apple Macintosh.
Kiedy Apple uporało się z problemami z produkcją pierwszych Macintoshy, programiści zespołu mieli trochę czasu wolnego na eksperymenty. Jednym z nich było stworzenie graficznego środowiska, w którym interfejs aplikacji można było projektować za pomocą myszki.
Eksperyment został zamieniony w produkt i pojawił się na rynku jako HyperCard, pierwszy popularny system implementujący ideę hiperlinków, na siedem lat przez powstaniem języka HTML i sieci WWW.
Dołączany za darmo do każdego Macintosha HyperCard stał się przebojem ponieważ umożliwił zwykłemu użytkownikowi budowę całkiem skomplikowanych aplikacji. Pakiet był jednym z pierwszych (i lepszych) narzędzi do authoringu płyt CD-ROM. Pierwsza wersja gry Myst powstała właśnie w oparciu o HyperCard.
HyperCard stał się, niestety, jedną z niepotrzebnych ofiar powrotu Steve’a Jobsa do Apple. W roku 2004, wraz z zaprzestaniem sprzedaży HyperCard 3.0, zakończyła się historia jednego z najciekawszych produktów jakie kiedykolwiek Apple dało zwykłym użytkownikom. Nie jest to jednak koniec pomysłów na “bardziej ludzkie” tworzenie oprogramowania.
Ponieważ Apple zawsze traktowało HyperCard po macoszemu, program doczekał się wielu konkurentów i naśladowców, w tym dostępnego do dziś SuperCard, którego demo warto ściągnąć jeśli chcemy zobaczyć jak wyglądało tworzenie aplikacji GUI w latach 90-tych ubiegłego wieku jeśli nie potrafiliśmy programować w C lub Pascalu (tak, to był jeden z języków, w którym pisano wtedy oprogramowanie na Macintoshe).
Inny konkurent HyperCard, MetaCard również ma się nienajgorzej po wykupieniu i dołączeniu technologii do wnętrzności pakietu Runtime Revolution, którego podstawową wersję również można ściągnąć za darmo i tworzyć za jej pomocą oprgoramowanie komercyjne. Ceny lepiej wyposażonych wersji są nieco poza zasięgiem amatora, ale jeśli ktoś polubi Runtime Revolution, to pewnie warto te pieniądze zapłacić.
Wszystkie te programy łączy wykorzystanie język programowania, który jest jak najbardziej zbliżony do języka naturalnego, dzięki czemu możemy pisać polecenia w rodzaju “obróć obrazek ‘pies’ trzy razy o 360 stopni” Nie jest to język do którego przyzwyczajeni są programiści znający Objective-C, ale zwykłemu użytkownikowi wystarczy.
Zupełnie innym torem rozwoju poszli twórcy języka i środowiska programistycznego ProGraph CPX. Chociaż jest to język obrazkowy, to nie jest on przyjazny dla “casualowego programisty”. To środowisko dla programisty akademickiego, który woli rysować klasy i metody zamiast opisywać je za pomocą jednego z wielu języków programowania. Prograph CPX zniknął na jakiś czas z radarów, ale niedawno pojawił się znów na rynku pod nazwą Marten.
Mówiąc szczerze, Prograph CPX średnio sprawdzał się w praktycznych zastosowaniach, więc programiści-rzemieślnicy przesiedli się z radością na REALbasic, który stał się schronieniem dla tych rebeliantów, którzy chcieli pisać oprogramowanie dla systemów Microsoft Windows i Mac OS X lub też musieli przenieść oprogramowanie napisane w “starym” Visual Basicu (tj. zanim Microsoft przeniósł go na platformę .Net).
REALbasic ma się dobrze, chociaż doskwiera brak implementacji interfejsu Cocoa. Przykładem tego jak mogą wyglądać aplikacje napisane w tym języku jest m.in. program Random Things.
Dla programistów tworzących oprogramowanie użytkowe znajdą się jeszcze pakiety FileMaker czy 4D, oraz inne pakiety programistyczne, z których jednak żaden, nawet Xcode, nie dorównuje pomysłowością HyperCard. Wszystkie raczej powielają pomysły z Visual Basica i są skierowane do programistów zawodowych. Szkoda, bo Apple kiedyś bardzo mocno promowało “ludzki wymiar programowania”.
I tu możnaby zakończyć tekst na smutno, gdyby nie zwariowany i genialnie prosty Sikuli Script. Jest o język programowania, w którym argumentami mogą być kawałki zrzutów ekranowych. Otrzymujemy przez to funkcjonalność, którą kiedyś mogliśmy znaleźć w pakiecie QuicKeys. Sikuli sprawdza się tam, gdzie chcemy napisać skrypt do automatyzacji pracy oprogramowania, które nie daje się kontrolować za pomocą skryptów AppleScript ani makropoleceń (czyli większośc programów autorstwa Apple).
A więc jednak duch hippisowskich poszukiwań własnej drogi i odrzucania przyjętych konwenansów jest ciągle żywy, nawet na Mac OS X 10.6.x.
Jacek Artymiak
| poprzedni wpis | początek | następny wpis |