Programování

BlueJ a Greenfoot: Nejlepší IDE pro výuku jazyka Java

Říkáte, že se chcete naučit Javu. Může to být skličující jazyk. Dokonce se to může zdát neproniknutelné, pokud jste nový programátor. Zhluboka se nadechnete a odhodláte to zkusit. Dobře, nejdřív první: Potřebujete jedno z integrovaných vývojových prostředí (IDE), o kterých jste četli. Jedna aplikace, ve které můžete upravovat, sestavovat, spouštět, ladit a nasazovat svou brzy napsanou aplikaci Java.

K dispozici je několik populárních bezplatných prostředí Java IDE: například Eclipse, NetBeans a komunitní vydání IntelliJ. Vyberete si jednu, stáhnete ji a nainstalujete a ve velmi krátké době si uvědomíte, že se nyní musíte naučit dvě věci: Java a IDE. Váš zvolený vývojový nástroj je stejně neproniknutelný jako jazyk, s nímž vám má pomoci.

Zadejte BlueJ a Greenfoot, dva IDE velmi speciálně určené pro začátečníky. Jsou produktem týmu založeného na King’s College v Londýně (ačkoli členové týmu byli někdy spojeni s univerzitami v Austrálii a Dánsku). Tvůrci BlueJ a Greenfoot vybrali sadu funkcí a design rozhraní, aby nepřekonali začátečníky.

Jak vysvětluje Neil Brown, hlavní vývojář, funkce BlueJ's a Greenfoot jsou „... odhaleny, když k nim uživatelé přicházejí.“ Nejste vhození do hlubokého konce bazénu. Oba proto poskytují snadný úvod nejen do jazyka Java, ale také do nástrojů a technik potřebných k vytváření aplikací v tomto jazyce.

Naučte se Java s BlueJ

BlueJ se poprvé objevil v roce 1999, pojmenovaný jednoduše Blue. V té době to bylo jak vývojové prostředí, tak jazyk. Když se objevila Java, byl nástroj přestavěn pomocí jazyka Java jako jazyka a název byl změněn na BlueJ.

Vydání BlueJ existují pro Linux, MacOS a Windows. BlueJ také přichází v obecné podobě: zabalený jako soubor JAR, takže BlueJ lze nainstalovat na jakýkoli systém podporující Javu. Aktuální verze BlueJ (v době psaní tohoto článku 4.2.2) vyžaduje JDK 11 nebo novější a jako taková musí být spuštěna v 64bitovém operačním systému. Dříve 32bitové verze existují, ale již se nevyvíjejí.

Poprvé jsem se dozvěděl o BlueJ (a Greenfoot), když jsem je našel předinstalované na Raspberry Pi 4, který jsem získal minulý rok. Později jsem se dozvěděl, že BlueJ byl na Raspberry Pi nainstalován od roku 2015.

Otevřete projekt v BlueJ a zobrazí se vám osvěženě řídké okno: panel nabídek v horní části, panel nástrojů nalevo od velké plochy pracovního stolu a podokno menšího objektu níže. Tlačítka na panelu nástrojů umožňují vytvořit třídu, definovat vztah dědičnosti nebo zkompilovat třídu. Třídy projektů se na pracovním stole zobrazují jako druh zúženého diagramu UML, a přestože BlueJ není plnohodnotné vizuální vývojové prostředí, je ho dost, takže můžete vidět vztahy mezi entitami ve vašem programu, ale neztratit zrak kódu.

Poklepejte na ikonu třídy na pracovním stole a její zdroj se otevře v editoru, kde se odhalí další vizuální asistence: zvýraznění oboru. Se zvýrazněním oboru jsou vnořené bloky kódu doslova zvýrazněny na různých barevných pozadích, takže můžete rychle vidět oblast pokrytou metodou v rámci třídy, pro smyčka v rámci metody, an -li prohlášení v rámci toho pro smyčka atd. Struktura kódu se projeví okamžitě.

Klikněte pravým tlačítkem na třídu v pracovním stole a objeví se nová nabídka, která vám - v závislosti na povaze a složení třídy - umožní sestavit třídu, zkontrolovat její obsah, vytvořit odpovídající testovací třídu (více o tom později), provést metodu třídy nebo vytvořit instanci objektu třídy. Zde se interaktivita BlueJ dostává do centra pozornosti.

Třídy lze sestavovat jednotlivě; pokud jste upravili jednu třídu, nemusíte znovu sestavovat celý projekt. Zvolte provedení metody třídy a zobrazí se dialogové okno s výzvou k zadání metody. Zadejte vstupy, klikněte na OK a objeví se další dialog, který zobrazuje návratovou hodnotu a její datový typ.

Pokud vytvoříte instanci třídy, na lavičce objektů se zobrazí ikona představující nový objekt. Stejně jako u tříd můžete pravým tlačítkem myši kliknout na ikonu objektu a prozkoumat jeho obsah. Můžete také spustit jednotlivé metody instance objektu; objeví se dialogová okna (jak je uvedeno výše) pro zadání vstupních argumentů a zobrazení návratových hodnot.

BlueJ by bez ladicího programu nebyl úplný IDE. Hraniční body debuggeru můžete nastavit v BlueJ stejným způsobem jako v jiných IDE. V editoru stačí kliknout do sloupce vlevo od řádku cíleného zdrojového kódu. Když se během provádění aktivuje bod zlomu, otevře se vyskakovací okno ladicího programu BlueJ, které zobrazuje vlákna, zásobník volání, statické proměnné zámku a proměnné instance, stejně jako známé ovládací prvky ladění (krok, krok, pokračování a zastavení). Nepřehledná prezentace BlueJ opět nestojí mezi vámi a daným úkolem.

Jak již bylo zmíněno výše, BlueJ může vytvořit testovací třídu z nabídky kliknutí pravým tlačítkem na ikonu třídy. Automaticky vytvořená třída je kosterní testovací třída JUnit (JUnit 4 je integrována s BlueJ). Skládá se z prázdného konstruktoru, založit(), a roztrhat() metody. Můžete buď vytvořit testovací metody otevřením zdroje třídy v editoru, nebo použít jakéhokoli vestavěného průvodce, který vás prostřednictvím řady dialogů provede vytvořením testovacích metod.

Podobně BlueJ poskytuje pomoc při vytváření grafických aplikací JavaFX a Swing. Jsou poskytovány výukové programy a práce s výukovým programem JavaFX odhaluje skutečnou výhodu využití schopnosti BlueJ provádět metody na „živých“ objektech (za běhu aplikace). Ve skutečnosti můžete vidět výsledek volání metody na grafické komponentě.

Integrované interaktivní výukové programy BlueJ vás dostanou od země. Pokud potřebujete ještě více vzdělávacích materiálů, knihu Objekty nejprve s Javou, spoluautorem tvůrce BlueJ Michaela Köllinga, používá BlueJ jako vývojové prostředí k prezentaci přístupu začátečníka k objektově orientovanému programování v Javě.

Naučte se Java s Greenfoot

Greenfoot, postavený na BlueJ od stejného tvůrce Michaela Kӧllinga, je specializovanější IDE než BlueJ. Zatímco BlueJ se často používá při přípravě úvodního kurzu programování na univerzitě, Greenfoot je zaměřen na mladší uživatele; už 14 let. Aby zaujal a udržel pozornost mladšího publika, byl Greenfoot vytvořen jako „jednoduchý Java IDE a rámec animace“. Což znamená, že je to pro vytváření her.

Abyste porozuměli Greenfootu, musíte se nejprve naučit jeho terminologii. Projekt Greenfoot je „scénář“. Každý scénář má „svět“, což je hrací pole vaší hry. Je to dvourozměrný kontejner obývaný „herci“. Zde buďte opatrní - herec Greenfoot není konkrétní druh objektově orientované souběžné programovací entity se stejným názvem (viz //en.wikipedia.org/wiki/Actor_model). Herci Greenfoot jsou herními kousky vaší hry.

Greenfoot herec má atributy a metody (vlastnosti a chování). Jednou z charakteristik herce je jeho vzhled - ikona zobrazená na světě, která představuje tohoto herce. Greenfoot přichází s řadou obrazů herců, které vám pomohou začít, nebo si můžete vytvořit a importovat svůj vlastní obraz.

Greenfootovo vizuální uspořádání je zrcadlovým obrazem BlueJ. Hlavním oknem Greenfoot je svět. Napravo je svislý panel nástrojů naplněn diagramy dědičnosti tříd projektů. Na panelu nástrojů se obvykle nacházejí dva „stromy“ dědičnosti, jeden zakořeněný v základně Svět třída, druhá zakořeněná v základně Herec třída. Odvozené třídy odbočují z těchto dvou kořenů.

Stejně jako u BlueJ dvojitým kliknutím na ikonu třídy otevřete přidružený zdroj v okně editoru. Editor Greenfoot je identický s BlueJ’s, což není překvapující, protože téměř celý BlueJ běží pod Greenfoot. Redaktor Greenfoot má tedy zvýraznění rozsahu BlueJ a Bluefootův debugger funguje přesně jako BlueJ's.

Upravte třídu v editoru a její ikona v diagramu dědičnosti je šrafována. To znamená, že třída musí být znovu zkompilována, než ji lze použít k vytvoření instance objektu. Kromě toho se všechny objekty na světě odvozené z této třídy rozmazají (již nejsou v ostrém reliéfu), což ukazuje, že jsou nyní zastaralé. Naštěstí, stejně jako v BlueJ, můžete třídy sestavovat jednotlivě.

Jakmile vytvoříte instanci herce, můžete jej umístit na svět přetažením jeho ikony do okenního okna světa. Přesně řečeno, nemusíte dát herce na svět, než bude možné volat některou z hercových metod. Klikněte pravým tlačítkem na herce a vyberte způsob volání. Pokud metoda vyžaduje vstupní parametry, otevře se dialogové okno, které vám umožní zadat parametr.

Ve světě Greenfoot musí plynout čas, aby se herci mohli hýbat. Ale je to digitální svět, takže čas postupuje v klíšťatech interních hodin - aktualizační smyčka. Provádění této smyčky řídí dvě tlačítka - Act and Run. Klikněte na tlačítko Jednat a smyčka se spustí jednou. Klikněte na Spustit, tlačítko se změní na Pozastavit a smyčka se spustí, dokud na tlačítko znovu nezastavíte. Tato tlačítka jsou samozřejmě mimořádně užitečná pro testování a ladění vaší hry.

Pokud musíte pozastavit relaci vývoje vašeho scénáře a chcete pokračovat tam, kde jste přestali, můžete zachránit svět (což je mnohem méně dramatické, než to zní). Greenfoot zachytí polohu a stav aktérů ve světě a zakóduje tyto informace pro metodu, kterou volá konstruktér herců. Výsledek: Vaše fáze se znovu sestaví, až příště spustíte IDE Greenfoot.

Co se stane během hry, když se srazí dva herci? Nebo něco vybuchne? Hra musí mít zvukové efekty. Greenfoot může importovat soubory .wav do scénáře a metody vám umožňují přehrávat tyto zvuky, když se spustí konkrétní událost. Nic vám nezastaví v půjčování si jakýchkoli zvuků poskytovaných různými výukami na webu Greenfoot. Ale v případě, že si chcete vytvořit svůj vlastní, nabízí Greenfoot vestavěný zvukový záznamník. Možnosti úprav rekordéru jsou jednoduché, ale použitelné. V zásadě jde o systém „zachycení a oříznutí“.

A konečně, pokud potřebujete herní nápady nad rámec těch, které jsou uvedeny v tutoriálech Greenfoot, web Greenfoot se hemží scénáři vytvořenými a nahranými uživateli z celého světa. Některé lze dokonce hrát online. Kvalita je pochopitelně skvrnitá, ale rozmanitost her svědčí o všestrannosti Greenfoot.

Odrazové můstky k programování v Javě

Podle tvůrce Michaela Kӧllinga, zatímco BlueJ se obvykle používá v úvodním kurzu programování univerzity, Greenfoot je vhodný pro použití na střední škole. Bez ohledu na váš věk však můžete z obou IDE získat spoustu najetých kilometrů, pokud jste právě vstoupili na cestu k sebevzdělávání v Javě.

Kromě již zmíněných tutoriálů existuje na webových stránkách BlueJ a Greenfoot značné množství podpůrných materiálů. Už jsme se zmínili o učebnici BlueJ; pro Greenfoota existuje také učebnice, Úvod do programování pomocí Greenfoot. (Informace o nákupu najdete na webových stránkách.)

Ani jeden IDE není vhodný pro vytváření podnikových aplikací Java na úrovni podniku. Ale jako úvodní prostředky pro kohokoli nového v Javě, zaškrtnou všechna políčka a nezatěžují vás složitostí panelu nástrojů a nabídek. Jsou pevnými a hladkými odrazovými můstky pro profesionální vývoj Java.