MobileBASIC | |
---|---|
Nyelvóra | programozási nyelv |
A végrehajtás típusa | Értelmezve |
Megjelent | 2003 |
Szerző | David J Első |
Fájlkiterjesztés _ | .bas, .lis |
Kiadás |
|
Befolyásolva | Alapvető |
Médiafájlok a Wikimedia Commons oldalon |
A MobileBASIC egy értelmezett programozási nyelv, amelyet MIDP-2.0 kompatibilis mobiltelefonokhoz használnak . Lehetővé teszi, hogy egyszerűen írjon programokat közvetlenül Android telefonjára vagy táblagépére. 4 megvalósításban létezik: programozási környezetként számítógéphez, normál MIDletként mobileszközökhöz, alkalmazásként Android és iOS rendszerű eszközökhöz .
A nyelv 2002-ben jelent meg David Firth programozónak köszönhetően, mint egyszerű és kényelmes eszköz a mobiltelefon-szoftverek fejlesztéséhez.
A hivatalos verziók az alábbiak szerint vannak számozva:
A mobil verzió szintaxisa nagyon hasonló a régi BASIC verziókhoz . Először is kötelező sorszámozást használnak, másodszor pedig a felhasználó által definiált eljárásokat és függvényeket nem használják (ehelyett a GOSUB parancsot használják). Íme egy példakód a MobileBASIC-ban:
10 INPUT "Adja meg a nevét" , NÉV $ 20 PRINT "Szia " + NÉV $ + "!" 30 HA NEM INKEY ( 0 ) AKKOR MENJEN A 30 40 VÉGREA 30. sorból látható, hogy a billentyűzet jól átgondolt ezen a nyelven. De a telefon egyéb fontos funkcióival: űrlapokkal és vászonnal minden sokkal rosszabb. Kezdjük azzal, hogy egy űrlapon nem fér el több vezérlőelem. Másodszor, a vászon és az űrlapok a legtöbb telefonon eltérő kódolást használnak. És ami természetesnek tűnik a vásznon: „Helló, világ!”, Az űrlapon krakozyabry -vé válhat (javítva a legújabb verziókban). Ezenkívül a kettős értelmezés miatt (a programkódot a Java interpreter és maga az interpreter végzi a Java gépen keresztül ) a kód viszonylag lassan fut le. Ez a nyelv azonban meglehetősen könnyen megtanulható, és jó bevezető a programozás alapjaiba. Az 1.8.4-es verziótól kezdve a Mumey elkezdte fejleszteni a projektet, aminek eredményeként a program felhasználóbarát felületet, számos új parancsot kapott, valamint lehetőséget kapott teljes értékű Java alkalmazások létrehozására, amelyek programozói héj nélkül működnek (ez a funkció korábban is ott volt, ehhez magával a programozóval kellett az archívumba csomagolni a kész bas -fájlt (Autorun.bas) és az erőforrásokat). Az utolsó aktuális verzió az ANNiMON 1.8.6.2 volt . Maga David Firth 2010 decemberében kiadott egy új verziót, az 1.9-et, de az összes változtatás csak a POWER függvény hozzáadását jelentette a törtszámokhoz, egyébként minden úgy maradt, mint az 1.8-as verzióban, így a fejlesztők továbbra is alkalmaznak módosításokat [1] . Ha az 1.9-es verziót a forráskóddal együtt adták ki, akkor az 1.91-es verzió ismét bezárul, és 4,99 GBP-ba kerül. Mert A Mumey-módosítás forráskódjai elvesztek, 2013-ban a kiriman becenévvel fejlesztő fejlesztő sikeresen visszaállította őket egy decompiler és a hivatalos rendezések segítségével. Így a BASIC újjászületett az 1.9.1-es verzióba a kiriman & dzanis által (hozzáférhetetlen hivatkozás) . Számos hibát javítottak benne, mint például MIDlet-be szerelés és lis megnyitása, bas fájlok a Nokia telefonokon, illetve 5 új parancs került be, ezek közül a legfontosabb a REPAINT. Az értelmezés sebességét növeltük a bas formátum megváltoztatásával (a BASIC korábbi verziói nem támogatják), illetve a munka Float típusú változókkal való átírásával. Korábban lebegőpontos számokat emuláltak – túl lassú volt. Ami a kódtárolást illeti, a MobileBASIC két változatban képes tárolni a programok forráskódjait - sima szöveges fájlként vagy bájtkódként. Az első esetben .lis kiterjesztést szokás adni a fájlnak (a BASIC LIST parancsból), a másodikban - .bas.
A programozókat aggasztja az a lehetőség, hogy szabadon kicsomagolhat egy jar-archívumot és megnyithat bármilyen programmodult a MobileBASIC segítségével. Végül is bárki megnézheti és megváltoztathatja a kódot, méghozzá különösebb erőfeszítés nélkül. 2010 elején megjelent egy BAS fájl obfuszkátor. Az ő feladata az volt, hogy felülírja a programban használt változók nevét. Ez volt a lendület a bájtkód szerkezetének tanulmányozására. Valamivel később az obfuszkátor új szintre lépett - most már úgy "elrontja" a fájlt, hogy azt nem lehet MobileBASIC eszközökkel megnyitni, miközben az összeállított kód teljesen működik. A mai napig a struktúra teljesen nyilvánosságra került, és már használatban van - egy BAS=>LIS decompiler és egy LIS=>BAS fordító készült, más alkalmazás is lehetséges - egy interpreter, amely több funkciót megért.
Változat | Változtatások |
---|---|
1.8.0 | Szöveges felület, nincs lehetőség FS -sel dolgozni |
1.8.3 | Hozzáadtuk az FS -sel való munkavégzés lehetőségét, hozzáadtuk a teljes képernyős módban történő munkavégzés lehetőségét |
1.8.4, 1.8.5, 1.8.6 | Felhasználóbarát felület hozzáadásával, kézi csomagolás nélküli MIDlet létrehozásának lehetőségével |
1.8.6 mérföldekhez | Javított munka az 5. generációs Sony Ericsson telefonokon |
1.8.6.1 | Javított munka űrlapokkal az 5. generációs Sony Ericsson telefonokon |
1.8.6.2 | Javított munka az 5. generációs Sony Ericsson telefonokon |
1.9 | A hivatalos verzió dátuma: 2010. december 28. A forráskód elérhetővé vált. Kisebb változtatások 1.8-hoz képest. |
1.91 | A hivatalos verzió dátuma: 2011. november 6. Zárt forráskód. Kisebb változások. |
1.9.1, kiriman & dzanis [2] | Hibák javítva.
Hozzáadott parancsok: REPAINT; RAND(MIN%,MAX%); ALPHAGEL GEL$,A%; COLORALPHAGEL GEL$,A%,R%,G%,B%; KÜLDÉS (NUMBER$,SZÖVEG$) |
1.9.1, vlavolk&garfield63 [3] | vlavolk felhasználói változások:
1) Új funkciók hozzáadva: hang, soundinfo, soundsset, drawpolygon, fillpolygon, shot, gelzoom, gelrot, getcolor, pointpres, pointdrag, pointhold, pointx, pointy, alsó, felső, indexof, vibráció. 2) Javítva a nyomtatási és menüelemes hibák futás közben. 3) Javítva a lemezek readdir$'e-ben való beszerzése és a karakterláncból floatba történő elemzés. 4) Most néhány függvény (readdir$, val, input) BASIC hibákat dob. 5) Mostantól a gélek letölthetők az internetről! 6) Új argumentum került a playtone - hangerő! 7) Javítottunk egy hibát a randban.
1) Alsó és felső átnevezése alsó$-ra és felső$-ra, mert karakterláncváltozókat adnak vissza. 2) A pointpres átnevezte pointpress-re, mert az angolban nincs sajtó szó! 3) Javítottunk egy hibát a getcolor-ban, és hozzáadtunk egy rövidítést (gc). 4) A felvétel működési elve megváltozott: most nem a teljes képernyőt menti, hanem csak a képernyő egy részét. |
1.9.1.1, garfield63 [4] | 1) 3 új funkció hozzáadva - inputtext, printtext és btsh$. Olvassa el a velük kapcsolatos információkat a súgóban (a Help.zip archívum Files.txt és Bluetooth.txt fájljaiban).
2) Hozzáadott munka Bluetooth-al (még mindig instabil, vannak hibák). 3) Javításra került egy hiba, melyben egy színnel kitöltött sokszög rajzolásakor egy további vízszintes vonalat húztunk, ami azt kettéosztotta. |
1.9.1.2, garfield63 [5] | 1) Javítva a btsh$ funkció – most már a BlueTooth hiba nélkül használható.
2) Hozzáadott munka a gyorsulásmérővel. 3) IMEI$(0) és GELMIRROR(GEL$) függvények hozzáadva. 4) Javítva a trigonometrikus függvények hibái a fokszámításoknál (most, ha azt írja be, hogy "10 DEG : PRINT SIN(90) : REPAINT", "1.0" jelenik meg) 5) A FILLPOLYGON funkció működése javítva. 6) Hozzáadott képernyő-billentyűzet. Az engedélyezéséhez le kell cserélnie az "On-Screen-Keypad: no" kifejezést a "On-Screen-Keypad: yes" kifejezésre a jegyzékben. 7.) Javított és frissített súgó. A Help.zip archívum tartalmazza a Program1.pas programot, amely a PascalABC-ben bináris fájlba gyűjti a szöveges fájlokat. |
A telefonos alkalmazások második fejlesztőeszköze a MobileBASIC fejlesztői környezet. De a benne írt kód nagyon eltér a nyelv mobil verziójától. Most inkább úgy néz ki, mint a Quick Basic. A sorszámok opcionális címkékké váltak, a program könnyen modulokra osztható. A fő eljárás a Main (Sub Main()). De továbbra is értelmezett nyelv marad, bár gyorsabb a végrehajtás. Hozzáadott munka térképekkel és csempékkel , amelyekhez beépített szerkesztők vannak. Általánosságban elmondható, hogy a fejlesztőkörnyezet mindkét változata kifejezetten játékok létrehozására van szabva, ezt bizonyítja a grafikus elemekkel (gelekkel) és sprite -ekkel való munkavégzés képessége .
A fejlesztői környezet a szintaktikai kiemeléssel rendelkező kódszerkesztőn kívül számos speciális szerkesztőt tartalmaz: csempeszerkesztő (Tile Editor), térképszerkesztő (Map Editor), képátméretező eszköz (Image Resize), színválasztó (Color). Chooser) és egy beépített emulátor. A program Java SE nyelven íródott , ami lehetővé teszi, hogy bármilyen operációs rendszeren futhasson, amely Java virtuális géppel rendelkezik.
A legújabb verzió a 2.3, 2011. november 8-án [6] .
2011 júniusában jelent meg a fejlesztői környezet következő verziója. Ezúttal az Android platformra. A szintaxis nagyon hasonló a PC-s verzióéhoz, támogatja a többdimenziós tömböket, a felhasználó által meghatározott rutinokat és funkciókat. A program egy praktikus nyelvi súgót és több mint 100 példát tartalmaz a nyelv különféle funkcióinak használatára [7] . A fejlesztői környezetnek két változata létezik: ingyenes (hátrányok - hirdetések megjelenítése [8] ) és teljes, 2,99 fontért kapható. A legújabb verzió a 4.9.11.
2012-ben a MobileBASIC egy másik platformra, az iOS-re bővült. Az új verzió neve MobileBASIC LITE. Számos iOS-eszközökre jellemző funkciót tartalmaz, mint például a helymeghatározás, a gyorsulásmérővel és giroszkóppal végzett munka, a beépített térképek támogatása, az adatbázisokkal való munka és még sok más [9] . A fejlesztői környezetbe részletes nyelvi hivatkozás van beépítve példákkal.
JsMobileBasic – JavaScript könyvtár, amely a MobileBasicPRO közösség MobileBASIC mechanikáját valósítja meg. Belsőleg HTML5 Canvast használ , de vannak SDL2 implementációk. A könyvtár későbbi implementációi megjelentek C++ , Node.js és Python számára .
Frissítve: 2018. január 25-én megnyíltak a JsMobileBasic források [10] , és mostantól bárki megtekintheti [11] . A MobileBasicPRO közösség projektjeinek egyéb forrásai a GitHub-tárhelyeikben találhatók [12]
A BASIC programozási nyelv dialektusai | |
---|---|
Klasszikus |
|
átmeneti |
|
eljárási |
|
Tárgy |
|
Mobil |
|
Konzol |
|
Programozási nyelvek | |
---|---|
|