Van, hogy az ember nem szeretne a végletekig elmerülni egy rendszer megismerésében...
Van, hogy az ember nem szeretne a végletekig elmerülni egy rendszer megismerésében, és ez nem feltétlenül számít programozói lustaságnak. Ha nem rendszerközeli alkalmazásokat készítünk, hanem multimédiával, egyszerűbb adatbázisokkal, kisebb felhasználói programokkal akarunk bevonulni a szoftverfejlesztés történetébe, egyszerűbben használható és a fejlesztést nagyon meggyorsító eszközökkel is operálhatunk. Olyanokkal, amelyek használatát bárki könnyedén és nagyon gyorsan elsajátíthatja.
Régebben az egyik ilyen eszköz volt a Microsoft Visual Basic. Az 1991-ben debütáló programozási nyelvet még a Pascalnál is könnyebben sajátíthattuk el, s tehettük mindezt olyan grafikus felületen, amelyen még nehezebb napokon is nevetve eligazodtunk. Mivel a „lenézett” Basic nyelvre épült, sokan becsmérelték, ám éppoly sokan magasztalták is, hiszen részben objektumorientált volt, az elsajátítása pedig nem igényelt hosszú hónapokat. Mindenesetre tekintélyes kort élt meg, még ma is használhatjuk, csak ma már Visual Basic .NET-nek hívják. Még mindig nagyon könnyű használni, ám egy nagy hátránya van: a vele készült alkalmazások csupán egyetlen platformon használhatók, mégpedig a Windowson.
De mi van akkor, ha mi nem csak Windowsra szeretnénk kiadni egy programot, viszont a Visual Basicet már nagyon a szívünkbe zártuk, a C++-ra pedig nincs szükségünk?
Fejlesztés egy programban, több rendszerre
A megoldást nem a Microsoft háza táján kell keresnünk, hanem a www.realbasic.com oldalon. Innen tölthető le a REALbasic 2007 próbaverziója mindhárom platformra, és persze itt is vehetjük meg, ha megtetszett. Szerencsére nem kell mindhármat beszereznünk ahhoz, hogy keresztplatformos fejlesztésekbe fogjunk, hiszen a Professional változattal bármely platformra lefordíthatjuk a kódunkat, tekintet nélkül arra, melyiken készült. Így ideális esetben a windowsos REALbasicben elkészített kódból a windowsos, a linuxos és az OS X-es szoftvert is összerakhatjuk, ugyanazon a windowsos gépen, ugyanazzal a fejlesztőrendszerrel.
Bár ez az esetek többségében gond nélkül működik is, az azért nem árt, ha a három rendszer alapjaival tisztában vagyunk, hiszen, hogy csak egy egyszerű példát említsünk, az OS X-ben vannak olyan „ablak” típusok, amelyeket a Windows nem ismer és persze fordítva. Mondjuk ezzel még lehet kísérletezgetni is a kezdeti lépéseknél, de a fájlrendszer is jelentősen különbözik mondjuk a Windows és az OS X között, így az útvonalak megadásánál erre is figyelnünk kell. A keresztplatformos fejlesztés azért nem fenékig tejfel, igaz, ennél egyszerűbb megoldást nem nagyon fogunk találni.
Minden fejlesztésünket tesztelnünk kell a különböző platformokon, és alkalmazkodni a különbségekhez. A REALbasic fejlesztői szerencsére igyekeztek megkönnyíteni a dolgunkat, ennek köszönhetően ha mindenre odafigyeltünk, azonos kódból, egyetlen kattintással fordíthatjuk le a munka végén a különböző rendszerekre szánt natív alkalmazásokat. Ráadásul egy elég részletes elektronikus kézikönyvből ismerhetjük meg a rendszerek jellegzetességeit és a kódban esetlegesen alkalmazandó eltéréseket.
A Visual Basic után szabadon
Aki már használt Visual Basicet, annak a REALbasic nyitott könyv lesz. Köszönhetően a RAD (Rapid Application Development) felületnek, a különböző vezérlőket a fogd és vidd módszerrel használva „megrajzolhatjuk” leendő szoftverünk felületét, és a vezérlőkre duplán kattintva írhatjuk be a forráskód odaillő részeit. Akár egy kész Visual Basic forráskód is egyszerűen importálható a programba és a fejlesztés zökkenésmentesen folytatható a REALbasicben. Elvileg... Mert mi azért találtunk olyan kódot, amelyet nem vett át a beste.
A vezérlőkkel kereszt platform szempontból nem lesz gondunk, persze vannak rendszerspecifikus dolgok is, így például a SpotlightQueryt ne próbáljuk meg Windowsra átültetni, ha OS X alatt fejlesztünk. Többségük azonban problémamentesen alkalmazható, így például számos multimédia vezérlő: video- és zenelejátszó, Sprite terület stb.
Adatbázis-kezelés is van a REALbasicben, a Professional változatban pedig többfelhasználós adatbázismotort is használhatunk, ráadásul így ez is platformfüggetlen.
A forráskód az esetek többségében azonos minden rendszerre, de ha rendszerspecifikus kódot kell írnunk valahova, azt is egyszerűen megtehetjük:
#If TargetWin32
//Windows specifikus kód
#ElseIf TargetMacOS
//Macintosh specifikus kód
#ElseIf TargetLinux
//Linux specifikus kód
#EndIf
Tökéletes kényelem
A REALbasic mindenben a fejlesztők kegyeit keresi. A RAD felületen gyorsan összeállíthatjuk programunkat, a kód beírását pedig automatikus kódkiegészítéssel igyekszik megkönnyíteni a rendszer. Természetesen a valós idejű szintaxisellenőrzés is rendelkezésre áll.
A multimédia fejlesztések megkönnyítése érdekében számos bitmap és vektoros képformátummal (például Adobe Illustrator fájlokkal is) dolgozhatunk. De találunk a játékfejlesztést megkönnyítő 3D motort és sprite animációs vezérlőt is, beépített ütközésvizsgálattal. Vagyis szinte mindent összeüthetünk a REALbasicben, ami eszünkbe jut.
A Professional változatban emellett van még SSL-támogatás, konzol applikáció fejlesztési lehetőség, adatbázis-titkosítást stb. Minden, amire csak szükségünk lehet.
Leopardra és Vistára is
A REALbasic tökéletes választás a programozással most ismerkedőknek és a keresztplatformos fejlesztés gondolatával kacérkodó profiknak egyaránt. Gyorsan és egyszerűen fejleszthetünk vele, ráadásul nem egy, hanem akár három népszerű operációs rendszerre is elkészíthetjük az alkalmazásainkat, ami üzleti szempontból sem utolsó szempont.
Az új, REALbasic 2007 Release 5 változat már teljesen OS X Leopard kompatibilis, de természetesen akár Windows Vistára is fejleszthetünk vele programokat, de akár az egyre népszerűbb Ubuntu Linuxra is „összeüthetünk” egy kis alkalmazást. Értelemszerűen ez azt is jelenti, hogy e rendszerek közül bármelyiken dolgozhatunk, a végeredmény pedig mindegyiken használható. OS X esetében talán érdemes még kiemelni, hogy Universal binary alkalmazásokat készíthetünk, vagyis PPC-s és Inteles Macre egyaránt dolgozhatunk.