Výuka programování na ZŠ pomocí blokového jazyka je už celkem běžnou záležitostí a jazyků či platforem jako je Scratch, MakeCode či Blockly využívá i mnoho dalších aplikací či vývojových prostředí. K propojení těchto jazyků tak dochází i s robotickými či herními simulátory nebo vlastním herním prostředím jako je např. Minecraft. Stále se však pohybujeme s použitím, resp. interpretací výsledného kódu v rámci online či desktopových aplikací.
Tento článek představí celkem jednoduchou možnost vývoje až i komplexních mobilních aplikací (včetně iOS), kde se právě skloubí návrh mobilní aplikace s programováním jednotlivých kompotent pomocí jazyku Blockly a spuštěním aplikace přímo v mobilním zařízení. Jedná se o prostředí MIT App Inventor, které vzniklo již v roce 2012 a hlavním cílem tvůrců bylo vytvořit pro žáky, resp. pro výukové účely blokově orientované programovací prostředí pro tvorbu mobilních aplikací.
Oproti jiným prostředím či platformám zaměřených na výuku programování nabízí MIT App Inventor přidanou hodnotu právě v propojení s reálným mobilním zařízením, které žáci běžně znají. Otevírá se tak částečně žákům pohled na princip fungování mobilních aplikací a na podobu komponent, které dané aplikace využívají (obrazovka a její vlastnosti, formulářové a grafické prvky, komponenty pro snímání a reprodukci multimediálních dat, senzory apod.).
Návrh aplikace – fáze 1
V první fázi je nejdříve nutné navrhnout vzhled aplikace a poskládat potřebné komponenty „na plochu“ obrazovky. K dispozici je zde řada komponent (viz levá část Obr. 1), které jsou řazeny do příslušných kategorií, aby se v nich tvůrce aplikace lépe orientoval. Zásadní je zde kategorie s komponentami pro uživatelské rozhraní, kde je možné nalézt jak prvky pro zobrazování textu, seznamů a obrázků, tak prvky, které umožňují interakci uživatele se zařízením, tedy vstupní textová pole, políčko pro zadávání hesla, výběr datumu apod. Kromě těchto a již výše zmíněných komponent zde můžeme nalézt rovněž možnost přidat např. mapu, komunikaci s Bluetooth, napojení na telefonní seznam či sociální sítě, ale také komponenty pro práci s LEGO MINDSTORMS.
Pro složitější aplikace je možné přidat i více obrazovek a na každé obrazovce využívat zcela odlišné komponenty, což nabízí tvůrcům potenciál k vytváření oprvdu komplexních a složitých aplikací.
Programování komponent – fáze 2
V momentě, kdy je tzv. layout aplikace připraven, nastává fáze programování (viz Obr. 2), kdy se pomocí blokových prvků skládá kód programu, který je v podstatě založen na vytváření kódů pro jednotlivé události. Tyto události úzce souvisí právě s komponentami, které byli do aplikace přidány v první fázi.
Spuštění aplikace – fáze 3
Samotné spuštění aplikace může být realizováno dvěma způsoby. Za prvé a také nejčastěji půjde o přímé spuštění daného projektu v mobilní aplikaci (instalované na požadovaném mobilním zařízení) MIT AI2 Companion, která je pro zařízení s Android dostupná na Google Play. Toto spuštění se děje skrze načtení vygenerovaného textového či QR kódu. Výhodou této formy je to, že s každou změnou v projektu (úprava kódu, změna parametrů komponenty apod.) se automaticky aktualizuje aplikace v mobilním zařízení a vše je tak hned připraveno k otestování. Druhým způsobem je možnost vygenerovat instalční soubor .apk, který pak si může kdokoliv nainstalovat na své mobilní zařízení (Android) bez jakékoliv vazby na aplikaci MIT App Inventor, resp. MIT AI2 Companion. Tato cesta je zpravidla tím posledním krokem, kdy chceme vygenerovat již hotovou finální verzi aplikace.
Vzhledem k faktu, že MIT App Inventor je dostupný již více než 10 let, vznikla na téma jeho využití ve vzdělávání řada článků a také metodické podpory (spíše v anglickém jazyce). Uveďme např.:
- Tvorba vlastní aplikace pro operační systém Android
- Seriál MIT App Inventor ve výuce
- Sada tutoriálů (EN)
- Karty se zadáním úloh (EN) – jedná se o ucelenou sadu jednoduchých úloh, na kterých je možné procvičit práci s vybraními komponentami (např. senzory, narhávání zvuku, kamera – čtečka QR) a pochopit princip fungování některých senzorů
MIT App Inventor přináší oproti jiným online blokovým vývojových prostředím něco navíc. Právě propojení s mobilním zařízením je zde tím zásadním prvkem a žákům se nabízí pohled na mobilní zařízení nejen jako na počítač v kapse na hraní her a komunikační nástroj, ale také jako na zařízení, pro které si mohou vytvořit vlastní aplikaci a vytvořit si z něho užitečný nástroj pro různé potřeby, na které mohou narazit.