Nem akármilyen hét köszöntött ránk, ugyanis április 4 és 8 között rendezték meg az első Digitális Témahét programját. A HelloWorld oktatási mozgalmunkkal mi is csatlakoztunk az Emberi Erőforrások Minisztériuma által kiírt kezdeményezéshez, a hét folyamán megosztva a teljes Scratch-suli tananyagunkat, amely segítségével bárki elsajátíthatja a programozás alapjait. Lentebb elolvashatod sorozatunk hetedik részét - ha többre vágysz, ajánljuk Robotprogramozó táboraink valamelyikét.
Az idei nyár sem maradhat HelloWorld tábor nélkül! Milyen lesz? Vegyétek a tavalyit, és szorozzátok meg kettővel :) Új helyszínnel, új programokkal és tananyagokkal készülünk. Velünk tartotok?
Közzétette: HelloWorld – 2016. március 3.
Ritkán találkozhatunk olyan programozási nyelvvel, amelyet csupán egyetlen feladatkör ellátására alkottak meg készítői, ráadásul a lelkes fejlesztők a többi felhasználó munkájának könnyítésére különféle csomagokkal egészítik ki a már meglévő nyelvek eszköztárát. Ennek köszönhetően az egyes funkciók életre hívása sokkal könnyebb, mintha a kiszemelt összetevőt az alapoktól kellene lekódolnunk. Az ilyen kiegészítők és bővítmények megtalálhatók a legtöbb, napjainkban is használatos programnyelvben, és természetesen ez alól a Scratch sem kivétel.
A különféle friss (sok esetben még kísérleti) összetevők használata teljesen új dimenziót nyithat meg a programozás iránt érdeklődők számára: ily módon könnyedén és viszonylag gyorsan, a megszokott környezet keretein belül számtalan extra funkcióval gyarapíthatják a megalkotni kívánt szoftverek alapvető képességeit.
Hogy ne kelljen hosszasan kutatnunk az egyes komponensek után, a Scratch-kiegészítők fejlesztői egyetlen közös felületen gyűjtötték össze projektjeiket, ezeket a ScratchX (scratchx.org) honlapjáról példakódokkal együtt beszerezhetjük. Kísérleti jellege miatt az alapszoftver nem támogatja ezeknek a bővítményeknek a telepítését, éppen ezért a szoftver egy, az alapverzióval megegyező, ám kizárólag böngészőben futó implementációját kell elindítanunk használatához. Szerencsére az egyes funkciókat felfedezhetjük az oldalra történő regisztráció nélkül is, így kötöttségektől mentesen játszadozhatunk a programkódokkal, majd ha úgy érezzük, hogy sikerült valami maradandót alkotnunk, azonnal lementhetjük gépünkre az elkészült műveket.
Bővítési lehetőségek
Két nagy csoportra bonthatjuk az oldal által kínált kiegészítőket, melyek közül az egyik külső szoftverek segítségül hívásával bővíti felületünk repertoárját, míg a másik csapatba tartozó tagok a fizikai világ hardvereinek programozására szakosodtak (természetesen ezek megfelelő használatához szükség van az adott hardverre is). Sorra vettük a valóban hasznos, egyelőre kísérleti fázisú extra funkciókat, és megmutatjuk, milyen lehetőségeket rejt a Scratch kiterjesztett világa. Elsőként arra koncentráljunk, hogy az adott kiegészítő megfelelően kompatibilis legyen a böngészős programozási felülettel.
A telepített csomagok [More Blocks] menüpont alatt megjelenő neve melletti pötty színe ugyanis jelzi az adott eszköztár elérhetőségének státuszát. Amennyiben sárgán világít a bővítmény melletti indikátor, valami apró, legtöbb esetben könnyen orvosolható hiba került a gépezetbe (például az adott böngésző nem kompatibilis, vagy a működtetéshez szükséges hardver nem csatlakozik gépünkhöz); ha azonban a jelzés pirosba fordul, valamilyen jelentősebb hiba gátolja a szoftver működését, aminek részleteiről a körbe klikkelve tájékozódhatunk; zöld szín esetén pedig szabad az út programkódunk elkészítéséhez.
Integrálható extrák
A SratchX honlapon fellelhető bővítmények közül a szoftveres extrákat ígérő kiegészítők leírásánál a [Requires internet connection] feliratot keressük, ugyanis kizárólag ezeket használhatjuk további hardveres kellékek csatlakoztatása nélkül. Az eszközkínálatból három igazán hasznos funkcionalitás emelkedik ki, amelyek a Scratch következő verziójába akár alapértelmezetten is bekerülhetnek.
Közülük talán a szövegeket beszéddé alakító eszköz a legfontosabb, amely néhány egyszerű utasítást követően a böngésző beépített felolvasóprogramját használva képes felolvasni a programunkon belül megjelenő karakterláncokat. Fontos, hogy e funkciót csak Chrome és Safari alatt érhetjük el, amennyiben más böngészőből indítanánk, a kiegészítő figyelmeztet minket a kompatibilitási probléma jelenlétére. Szintén a hangfájlokat módosíthatjuk a Sound Synthesizer segítségével, melynek köszönhetően a projektünkhöz rendelt dallamokat kontrollálhatjuk és szinkronizálhatjuk a tökéletes hangzásvilág elérésének érdekében.
Persze a közösségimédia-felületek sem kerülik el a ScratchX fejlesztőinek figyelmét, ugyanis a Twitter-projektnek köszönhetően pillanatok alatt integrálhatjuk készülő alkalmazásunkba a szolgáltatást, és már záporozhatnak is a mélyen szántó gondolatok munkalapunk felületére. Egyelőre csupán keresőfunkció társul a kiegészítőhöz, melynek köszönhetően egy adott csatorna legutolsó vagy legnépszerűbb tweetjeit jeleníthetjük meg képernyőnkön, illetve kulcsszavak segítségével kereshetünk a Twitter-bejegyzések között.
Túl a vásznon
A legérdekesebbé és maximálisan kihasználttá azok a kiegészítők teszik a Scratch felületét, amelyek segítségével a bal felső sarokban található megjelenítőről a fizikai világ eszközeinek programozására válthatunk. Szerencsére a recept továbbra is változatlan marad, a jobb oldal programozósávján kell összeállítanunk a képleteket, de számos új eszközzel gyarapodhat repertoárunk egy-egy bővítmény telepítését követően. Amennyiben szívesen bíbelődünk különféle mikrokontrollerekkel, a Scratch felületét is segítségül hívhatjuk ezeket programjaink elkészítéséhez.
Az extra funkciók között megtalálható egy, a szenzorok vezérlésére kifejlesztett Make!Sense projekt, valamint az Arduino vezérlésére alkalmas csomag is. Sőt a lelkes fejlesztők ennél is tovább mentek, mikor a blokknyelv újonc funkcióinak megálmodása volt a cél, ugyanis a Xi nevű bővítmény segítségével nem csupán egy közös felületről vezérelhetjük az Arduino, a Raspberry Pi, valamint a BeagleBoard mikrokontrollereket, de az apró számítógépek közötti kommunikáció is megvalósítható. Más dimenzióba repítenek a valós idejű mozgásdetektáló kiegészítők, amelyeket szintén hozzácsaphatunk a Scratch eszköztárához. Alapvetően két nagyobb modell közül választhatunk, ha ilyen jellegű élményt szeretnénk elérni. Az egyik az Intel Real Sense kameracsaládja, a másik pedig a Leapmotion.
Életre kelt robotok
Természetesen a népszerű robotmodellekhez is találhatunk kompatibilitást kínáló projekteket a Scratch oldalát kutatva, melyek alternatív programozási metódusok kipróbálására ösztönözhetik a felhasználókat. Az egyik leginkább érdekes implementáció a Lego robotmodelljeinek Sratchre átültetett kódolási felülete, amelyen a programozásra használt vizuális Mindstorms nyelvet lecserélhetjük kedvenc blokkjainkra.
A lelkes moddereknek köszönhetően ezt a lehetőséget egyaránt elérhetjük az EV3-as és az NXT modellekhez is, így ha kissé furcsának tartjuk a Scratch használata után a Lego vizuális programnyelvét, a már jól ismert blokkjainkkal is helyettesíthetjük a központi egység kódjának részleteit. Mindezek mellett további kreatív megoldásokat is tartogat a szoftver felülete: a RedBot és a Roamer nevű robotokat is könnyedén programozhatjuk a Scratch blokknyelvének segítségével.
Szóval a kiterjesztett lehetőségek tökéletes továbblépést kínálnak azoknak, akik az alapokat már túlzottan egyszerűnek találják, és szeretnék magasabb szintre emelni a szoftver használatával elérhető tudásukat. Innen pedig már tényleg csak néhány lépés, hogy saját modokkal örvendeztessük meg a program felhasználóit.
A sorozat tovább részei:
1 - Kezdjünk el programozni
2 - Támadnak az űrlények
3 - Műveletek bűvkörében
4 - Kártyajáték születik
5 - Többjátékos üzemmód
6 - 3D-s játékkészítés
7 - Extrák a programozáshoz