Revolution — duch HyperCard w nowoczesnym wydaniu

Definicja pojęcia Revolution — duch HyperCard w nowoczesnym wydaniu

Czym jest Revolution i dlaczego warto go poznać

Revolution (obecnie znany jako LiveCode) to język programowania i środowisko deweloperskie wywodzące się bezpośrednio z HyperCard — legendarnego narzędzia Apple z lat 80. i 90. Jeśli HyperCard był pierwszym narzędziem, które dało “zwykłym ludziom” moc tworzenia aplikacji, to Revolution jest jego duchowym spadkobiercą, który przeniósł tę filozofię na Windows, Linux i macOS.

Revolution używa języka xTalk (konkretnie Transcript/Revolution), który jest bezpośrednim następcą HyperTalk z HyperCard. Składnia jest zbliżona do naturalnego angielskiego — put "Hello" into field "greeting", go to card "results", if the value of x is greater than 10 then.... To język, który czyta się prawie jak prozę, co czyni go jednym z najbardziej przystępnych języków programowania w historii.

Warto go poznać, bo Revolution/LiveCode reprezentuje filozofię, która dziś wraca w postaci no-code i low-code. Zrozumienie, jak ta idea była realizowana 30 lat temu — i jak ewoluowała — daje cenną perspektywę na współczesne narzędzia jak Bubble, Retool czy AppSheet.

Krótka historia i ewolucja

Historia Revolution zaczyna się od HyperCard, stworzonego przez Billa Atkinsona w 1987 roku dla Apple. HyperCard był rewolucyjny — łączył bazę danych, środowisko programistyczne i interfejs użytkownika w jednym narzędziu, dostępnym za darmo z każdym Maciem. Miliony ludzi stworzyły swoje pierwsze programy w HyperCard.

Kiedy Apple porzuciło HyperCard w 2004 roku, Kevin Miller i jego firma Runtime Revolution kupili prawa do MetaCard — silnika, który klonował HyperCard na inne platformy. Na tej bazie stworzyli Revolution, który dodał cross-platformowość, nowoczesne API i dostęp do sieci. W 2013 roku projekt został przemianowany na LiveCode i przeszedł na model open source (choć komercyjna wersja nadal istnieje).

LiveCode ewoluował znacząco od czasów Revolution. Dodano wsparcie dla mobile (iOS, Android), web deployment, nowoczesne widgety i integrację z REST API. W 2022 roku LiveCode nadal jest aktywnie rozwijany, choć jego popularność jest ułamkiem tego, czym był HyperCard w swoim prime.

Kluczowe cechy i filozofia

Revolution/LiveCode używa paradygmatu “card and stack” — aplikacja to “stack” (stos kart), a każda “card” (karta) to ekran z elementami UI. Przechodzenie między kartami to go to card "nazwa". Elementy na karcie — przyciski, pola tekstowe, obrazki — to obiekty z właściwościami i skryptami. To model, który jest niezwykle intuicyjny dla osób, które myślą o aplikacjach jako o serii ekranów.

Typowanie jest dynamiczne i bardzo liberalne. Język automatycznie konwertuje typy — "42" + 8 daje 50, bo interpreter rozpoznaje, że string zawiera liczbę. Daty, kolory, współrzędne — wszystko ma naturalne reprezentacje tekstowe, które są automatycznie parsowane. To sprawia, że kod jest czytelny, ale bywa nieprzewidywalny przy złożonych operacjach.

Model zdarzeń jest oparty na “message passing” — komunikaty przepływają przez hierarchię obiektów. Kliknięcie przycisku wysyła komunikat mouseUp, który wędruje od przycisku do karty do stacka. Każdy poziom może przechwycić komunikat i na niego odpowiedzieć. To elegancki wzorzec, który przypomina event bubbling w DOM, ale został zaprojektowany dekady wcześniej.

Filozofia xTalk to “programowanie dla każdego”. Składnia celowo unika żargonu programistycznego. Nie ma “instancji klas” — są “obiekty”. Nie ma “iteracji” — jest “repeat”. Nie ma “konkatenacji” — jest & (ampersand). To język, który nauczyciel mógł pokazać uczniom i oczekiwać, że zrozumieją go w ciągu godziny.

Gdzie Revolution sprawdza się najlepiej

Revolution/LiveCode tradycyjnie sprawdza się w rapid application development — szybkim budowaniu aplikacji desktopowych. Prototypy, narzędzia wewnętrzne, aplikacje edukacyjne, proste bazy danych z GUI — to wszystko można zbudować w Revolution znacznie szybciej niż w tradycyjnych IDE. Dla małych firm i freelancerów, którzy potrzebują customowej aplikacji “na wczoraj”, LiveCode jest realną opcją.

Edukacja to kolejna silna dziedzina. LiveCode jest używany w szkołach i na kursach programowania, bo pozwala uczniom budować działające aplikacje z GUI od pierwszego dnia. Nie trzeba uczyć się HTML, CSS i JavaScript osobno — wszystko jest w jednym środowisku.

Aplikacje mobilne to nowszy use case. LiveCode pozwala pisać kod raz i deployować na iOS i Android. Nie jest to tak wydajne jak natywne aplikacje, ale dla prostych narzędzi i prototypów — wystarczające. Niektóre firmy używają LiveCode do budowy wewnętrznych aplikacji mobilnych dla pracowników.

Jak wygląda kod w Revolution

Prosty kalkulator:

on mouseUp
   put field "input1" into num1
   put field "input2" into num2
   put the label of button "operator" into op

   switch op
      case "+"
         put num1 + num2 into field "result"
         break
      case "-"
         put num1 - num2 into field "result"
         break
      case "x"
         put num1 * num2 into field "result"
         break
      case "/"
         if num2 is not 0 then
            put num1 / num2 into field "result"
         else
            put "Błąd: dzielenie przez zero" into field "result"
         end if
         break
   end switch
end mouseUp

Zwróćcie uwagę na naturalność składni — put ... into field, the label of button, is not 0. To czyta się jak instrukcja, nie jak kod.

Skrypt do ładowania danych z API:

on loadWeatherData
   put "https://api.weather.com/v1/current?city=Warsaw" into tURL
   put URL tURL into tResponse

   if the result is not empty then
      answer "Błąd połączenia: " & the result
      exit loadWeatherData
   end if

   put jsonImport(tResponse) into tData
   put tData["temperature"] into field "temp"
   put tData["description"] into field "desc"
end loadWeatherData

Ekosystem i narzędzia

LiveCode IDE to zintegrowane środowisko, które łączy edytor kodu, designer GUI, debugger i narzędzia do deployowania. Drag-and-drop interfejs pozwala budować UI wizualnie, a skrypty dodaje się do obiektów prawym kliknięciem. To model, który jest znacznie bardziej przystępny niż tradycyjne IDE.

LiveCode ma marketplace z rozszerzeniami i widgetami. Community edition jest darmowa i open source, podczas gdy Indy i Business editions oferują dodatkowe funkcje — deployment na mobile, komercyjne licencje, priorytetowe wsparcie. Dokumentacja jest obszerna i dostępna online.

Społeczność LiveCode jest mała, ale lojalna. Forum LiveCode, konferencja LiveCode Global i kanały Discord skupiają developerów, którzy często używają narzędzia od dekad. Wiedza jest głęboka, ale zamknięta w tej niszy — mało jest tutoriali i kursów poza oficjalnymi materiałami.

Mocne i słabe strony

Mocne strony: niesamowita szybkość prototypowania, cross-platformowość (Windows, macOS, Linux, iOS, Android z jednego kodu), przystępna składnia i zintegrowane środowisko. LiveCode to “baterie w zestawie” — GUI, baza danych, networking, wszystko jest wbudowane. Dla solopreneurów i małych zespołów to ogromna oszczędność czasu.

Słabe strony: wydajność nie dorównuje natywnym aplikacjom, ekosystem jest mały i zamknięty, znalezienie developerów jest trudne. Nowoczesne wzorce — reactive programming, microservices, cloud-native — nie są naturalne dla LiveCode. Język nosi ślady swoich korzeni z lat 80. i nie zawsze dobrze skaluje się do dużych projektów.

Brak integracji z nowoczesnymi narzędiami DevOps — CI/CD, konteneryzacja, serverless — to kolejne ograniczenie. LiveCode żyje w swoim własnym świecie, co jest zarówno zaletą (spójność) jak i wadą (izolacja).

Podsumowanie

Revolution/LiveCode to narzędzie dla tych, którzy cenią szybkość i prostotę nad trendy i ekosystem. Edukatorzy, prototyperzy, freelancerzy i małe firmy znajdą w nim potężne narzędzie do budowania aplikacji bez konieczności nauki wielu technologii. Jeśli kiedykolwiek żałowaliście, że prosty CRUD z GUI wymaga znajomości React, Node.js i bazy danych — LiveCode jest odpowiedzią na ten ból.

Przyszłość LiveCode jest niszowa, ale stabilna. Filozofia low-code, którą reprezentuje, jest dziś bardziej popularna niż kiedykolwiek — po prostu realizowana przez inne narzędzia. LiveCode ma jednak coś, czego Bubble i Retool nie mają: 30 lat dopracowywania i społeczność, która kocha ten język. To może wystarczyć, żeby przetrwał kolejne dekady.

Pozostałe definicje

Revolution to duch HyperCard w nowoczesnym wydaniu. Szybkie tworzenie aplikacji z jezykiem zblizonym do angielskiego.
Scroll to Top
Framework
Języki Programowania
Stanowisko
Co to jest