LiveCode 9: cross-platform fejlesztés, játéktól a segédprogramig

Programozni pusztán tanulási célból is nagyon izgalmas és szórakoztató, de lássuk be, manapság elég jól meg is lehet belőle élni, ha valaki jól csinálja. Szoftverek fejlesztésére – legyen szó akár számítógépekre készülő programokról, okostelefonos és tabletes appokról, vagy éppen online megoldásokról – temérdek eszköz és programozási nyelv áll rendelkezésünkre. Ezek közül a legismertebb talán a Microsoft Visual Studio, amely több nyelvet fog össze, s több platformra fejleszthetünk vele. Csak hát adott esetben nem éppen egyszerűen, s pláne nem gyorsan. Márpedig ez a két tényező sem utolsó szempont, amikor kiválasztjuk a megfelelő eszközt. Ma egy olyan fejlesztőrendszert mutatunk, amellyel a cross-platform fejlesztés a játékoktól a segédprogramokig szinte bármilyen témában megoldható. A Livecode 9 ráadásul nagyon jól átlátható felületet és könnyen elsajátítható, jól dokumentált saját nyelvet is kínál, ha kell, akár ingyen is.

LiveCode 9: cross-platform fejlesztés

Amikor tavaly átnéztük, hogy miként áll a meglehetősen hosszú múltra visszatekintő Livecode, a 9-es verzió még csak fejlesztői előzetesként volt elérhető. Ezt persze bárki letölthette már akkor is, hiszen a Livecode fejlesztése több szálon fut, így a stabil verziók hibajavításai mellett folyamatosan érkeznek a letölthető előzetes verziók is. Aki kellően bátor, bármikor nekiláthat azokkal fejleszteni, bár ha kereskedelmi célra készítünk programot, akkor azért javasolt a stabil kiadásoknál maradni, hiszen a fejlesztői (DP jelzésű) kiadásokban menet közben is változhatnak dolgok, bekerülhetnek, kikerülhetnek funkciók.

Ebből viszont jól látszik, hogy a Livecode egy pillanatra sincs magára hagyva, folyamatosan fejlődik. A jelenlegi 9-es verzió seregnyi izgalmas újdonságot hozott elődeihez képest, főként az Androidra és iOS-re fejlesztők számára. Ők immár több vezérlőből az adott rendszernek megfelelő natív változatot tudnak használni az alkalmazásokban. Emellett a cég időközben felvásárolta a korábban önálló kiegészítőként elérhető Merg Extensions csomagot, így számos – főleg iOS és Android rendszereken felhasználható – plusz funkcióval bővült a rendszer: Dropbox integráció, share funkció, FTP kliens funkciók, GPS használat, AES titkosítás, háttérfolyamatok használata, JSON és markdown támogatás stb. Mondjuk ez sem minden, hiszen a Livecode-hoz további beépülőket is vásárolhatunk, amelyek olykor igen bonyolult funkciók integrálását teszik lehetővé, játszi könnyedséggel. Ezek is hozzájárulhatnak ahhoz, hogy tényleg pár soros kódokkal, villámgyorsan tudjunk haladni a fejlesztések során. A Livecode nyelvezete amúgy is töredék hosszúságú kódok használatát követeli meg mondjuk a JavaScriphez, PHP-hez, vagy Java-hoz képest.

Maga a Livecode nyelvezet egyébként erősen emlékeztet a hagyományos angol nyelv szerkezetére, ami eleve egyszerűsítheti a megtanulását. Sokkal jobban adja magát, mint az elterjedt programozási nyelvek szintaxisa. A tanulást egy nagyon jól kidolgozott, példákkal megtűzdelt dokumentáció, rengeteg fórumbejegyzése és online FAQ segíti, emellett pedig a fejlesztőkörnyezet maga is igyekszik folyamatosan segíteni az Autocomplete Pro funkcióval. Vagyis – a többi modern fejlesztőkörnyezethez haosnlóan – megpróbálja automatikusan kiegészíteni az éppen begépelt kódsort.

Természetesen itt is objektumorientált programozásról beszélünk, így a vezérlőkhöz, ablakokhoz tartozó, vagy a teljes alkalmazásra vonatkozó kódokat pár kattintással hozzárendelhetjük a megfelelő összetevőhöz. Vannak viszont feltűnő eltérések mondjuk a Visual Studio-hoz képest. Az egyik ilyen, hogy itt a programfelületeken (Stacks) belül kvázi kártyákat/diákat hozhatunk létre (Cards). Ez viszont egy kifejezetten üdvözlendő megoldás, ugyanis ezek között a kártyák között kicsit az ősi multimédia-fejlesztőrendszekhez hasonlóan (Director és társai) lehet kapcsolatokat létrehozni, vagyis ide-oda ugrálhatunk közöttük. Ez nagyon kényelmes egy-egy felület felépítésekor. A másik elétérés, hogy a Livecode-ban a készülő program tesztelése tulajdonképpen azonnali, mert csak a Browse Tool-ra kell átváltanunk, s mindenféle extra fordítások nélkül, rögtön tesztelhetjük a funkciókat. Olykor ez ugyan azzal jár, hogy a MessageBox felületen ki kell adni néhány plusz utasítást, ha például egy adott részhez akarunk ugrani, vagy leállítani egy részben leprogramozott folyamatot, de ha ezt a filozófiát megszokja az ember, nagyon gyorsan haladhat a fejlesztéssel. Egyetlen kézzelfogható negatívumot tudunk csak mondani: ha nagyméretű ablakokkal dolgozunk (s hát manapság azért előfordul az ilyen), de épp csak kisebb felbontású kijelző áll rendelkezésünkre, akkor az UI tervező sajnos nem igazán skálázható a megjelenítést illetően. Sajátos felépítéséből adódóan ráadásul akadnak azért dolgok, amelyeket lassabban követ le a rendszer, így például egyelőre nem tud alkalmazkodni a macOS Mojave éjjeli módjához (váltás sötét és világos felületek között). Bár attól persze senki nem tart vissza minket, hogy erre kódból tegyünk lépéseket.

A felületek tervezésekor egyébként nagyon könnyen figyelhetünk rá, hogy leendő programunk automatikusan tudjon alkalmazkodni a tengernyi felbontás- és képernyőméret variációhoz, az objektumok egymáshoz képesti elhelyezkedése, rendezése, átméretezése nagyon könnyen menedzselhető akár azok Properties lapján, akár kódból. Ez főleg akkor fontos, ha okostelefonra vagy tabletre állunk neki alkalmazásokat kreálni.

Ingyen nyílt forráskóddal, vagy pénzért zárd kóddal

A Livecode 9-nél is megmaradtak az eddig megszokott csomagok, így ha valaki még csak ismerkedne a rendszerrel, ezt teljesen ingyen is megteheti, az alap verzió (Livecode Community) ugyanis bárki által letölthető és akár éles fejlesztésre is használható Windowson, macOS-en és Linuxon egyaránt. A többi csomaghoz képest persze akad pár megkötés:

  • Livecode Community: Csak nyílt forráskódú, ingyen terjesztett alkalmazásokat fejleszthetünk vele és csak Windowsra, macOS-re, Linuxra és Androidra terjeszthetők. Vagyis iOS-re ezzel a csomaggal nem tudunk programokat készíteni. Emellett nem használhatjuk vele a kiegészítőket sem és hiányzik belőle az Autocomplete Pro funkció, vagyis nem próbálkozik a beírt kód automatikus kiegészítésével. Viszont cserébe teljesen ingyenes és HTML5-ös, webes alkalmazásokat is összerakhatunk vele.
  • Livecode Community Plus: ezzel szintén csak nyílt forráskódú, ingyenes alkalmazások hozhatók létre, de itt már akár iOS-re fejleszthetünk. Kiegészíthetjük harmadik gyártó általi plug-inekkel is. Az ára 79 USD egy évre.
  • Livecode Indy: ha valaki komolyan gondolja a fejlesztést, de azért nem nagyvállalati környezetben képzeli el, hanem kkv, vagy akár egyéni fejlesztés szintjén, annak ez a legjobb választás. Itt ugyan már 499 USD az éves díj, de cserébe fejleszthetünk zárt forráskódú, kereskedelmi céllal készülő (értsd: pénzért eladható) alkalmazásokat bármilyen támogatott platformra. Ráadásul itt már kapjuk a csomag részeként a merg Extensions kiegészítőket, s ha kell, vásárolhatunk további plug-ineket is. A profi HTML5 publikálás viszont extra díjért van hozzá.
  • Livecode Business: ebben minden benne van, ami az Indy verzióban, de komolyabb terméktámogatást, profi hálózati funkciókat, Remote Debugging funkciót, PDF integrációt stb. is kapunk.

Mint az a fentiekből is látszik, a Livecode teljesen cross-platform, vagyis Windowson, macOS-en, Linuxon egyaránt belefoghatunk vele a munkába, a kész program pedig publikálható Windows, macOS, Linux, iOS, Android rendszerekre, vagy akár webre (HTML5) is. Utóbbi funkció még azért erőteljesen fejlődik, így ott vannak azért korlátozások, de szerintünk a Livecode fejlődési ütemével nem kell sokat várni, hogy tényleg profi webes alkalmazások születhessenek majd vele.

A különböző platformokra a legtöbb esetben elég egyetlen kóddal dolgoznunk, magában a kódban is jelölhetjük ugyanis, ha a platformok miatt eltérő kódolásra van szükség (remek példa erre mondjuk a fájlkezelésnél a rendszermappák használata, ami szinte minden rendszernél eltér kicsit). Ez is gyorsítja a munkát. Persze akadnak megkötések is, így például macOS-re és iOS-re csak macOS alatt tudunk publikálni, hiszen ehhez szükség van a Livecode és az Xcode összekötésére (ez amúgy automatikus, vagy maximum pár kattintás, de elengedhetetlen a működéshez). Ugyanígy Androidos appok fejlesztéséhez is szükség van telepített Android SDK-ra. De ezt amúgy nem úsznánk meg más hasonló fejlesztőeszközök esetén sem. Ahogy azt sem, hogy iOS vagy Android publikáláshoz előfizessünk egy Apple vagy Google fejlesztői fiókra, hiszen azok nélkül nem juttathatunk be programokat a megfelelő alkalmazásboltokba. Teszteléshez amúgy elég bármelyikből egy ingyenes fejlesztői fiók is.

A kilencedik verziónak már nem okoz gondot az SVG fájlok használata, a Data Grid 2 listafelületben használhatók a natív mobilos funkciók, fejlődött a fájlkezelés, beépíthetünk Objective-C osztályokat, van AAR támogatás (Androidra), van Extension code library támogatás akár saját beépülők fejlesztéséhez is, illetve sokkal könnyebben menedzselhetjük a Widgeteket és állítgathatjuk azok jellemzőit.

Összegzésül

Bevalljuk, a Livecode az egyik nagy kedvencünk ha fejlesztésről van szó, s szerintünk játékoktól a segédprogramok készítéséig mindenféle témakörben kiváló eszköz a programozásra. Ráadásul nagyon könnyen elsajátítható, jól dokumentált (angolul) nyelve van, amelyhez seregnyi példa kódot találunk a dokumentációban, s szerte interneten. Bár 3D-s játékok készítésére nem különösebben alkalmas, 2D játékokhoz, vagy látványosabb multimédia alkalmazásokhoz kellően jó grafikai támogatást ad. A segédprogramoknál pedig minden rendelkezésünkre áll, adatbáziskezelőtől (SQL, MySQL, PostreSQL, ODBC stb.), a fájlkezelésen át, a grafikonok készítéséig. Mindenben igyekszik kényelmes környezetként viselkedni: kiegészíti a beírt kódot, azonnal jelzi az esetleges hibákat, automatikusan hozzárendeli a programhoz a külső fájlokat, s készülő alkalmazásunk rendkívül egyszerűen konfigurálható egyszerre több rendszerhez is, így egy kattintással elkészíthetjük a natív programokat akár mindegyikre.

Az ismerkedés a Livecode-dal nem kerül semmibe, teljesen ingyen letölthetjük a nyílt forráskódú Livecode Community verziót, s ha szánunk a tanulásra egy kis időt, akár pár napon belül már publikálhatjuk is első ingyenes alkalmazásunkat. Ha pedig nagyon belejövünk, akár befektethetünk az Indy verzióba is, így már kereskedelmi alkalmazásokat is publikálhatunk.

Ne maradjon le erről sem!

Mint a legtöbb weboldal, mi is használunk sütiket az oldalon. Elfogadom Adatkezelési tájékoztató