BlueJ i Greenfoot: Najbolji IDE-ovi za učenje Jave

Kažete da želite naučiti Javu. To može biti zastrašujući jezik. Moglo bi se činiti neprobojno ako ste novi programer. Ali, duboko udahnite i odlučite pokušati. Ok, prvo najprije: trebate jedno od onih integriranih razvojnih okruženja (IDE) o kojima ste čitali. Jedna aplikacija u kojoj možete uređivati, graditi, pokretati, ispravljati pogreške i implementirati svoj uskoro napisani Java program.

Dostupno je nekoliko popularnih besplatnih Java IDE-a: Eclipse, NetBeans i izdanje IntelliJ u zajednici, na primjer. Odaberete jedan, preuzmete ga i instalirate i u vrlo kratkom vremenu shvatite da sada morate naučiti dvije stvari: Java i IDE. Odabrani razvojni alat neprobojan je koliko i jezik u kojem bi vam trebao pomoći.

Uđite u BlueJ i Greenfoot, dva IDE-a vrlo dizajnirana za početnike. Oni su proizvod tima sa sjedištem na King's Collegeu u Londonu (iako su članovi tima povremeno bili povezani sa sveučilištima u Australiji i Danskoj). Stvoritelji BlueJ-a i Greenfoota odabrali su skup značajki i dizajn sučelja kako ne bi svladali početnike.

Zapravo, kako objašnjava Neil Brown, vodeći programer, značajke BlueJ-a i Greenfoota "... otkrivaju se kad im korisnici dođu." Nisi bačen u duboki kraj bazena. Slijedom toga, oba pružaju jednostavan uvod ne samo u jezik Java, već i u alate i tehnike potrebne za izgradnju aplikacija na tom jeziku.

Učite Javu uz BlueJ

BlueJ se prvi put pojavio 1999. godine, nazvan jednostavno Blue. U to je vrijeme to bilo i razvojno okruženje i jezik. Kad se pojavila Java, alat je obnovljen koristeći Java kao jezik, a naziv je promijenjen u BlueJ.

Izdanja BlueJ-a postoje za Linux, MacOS i Windows. BlueJ također dolazi u generičkom obliku: pakiran kao JAR datoteka tako da se BlueJ može instalirati na bilo koji sustav koji podržava Javu. Trenutna verzija BlueJ-a (4.2.2 u vrijeme pisanja ovog članka) zahtijeva JDK 11 ili noviju verziju i kao takva mora se izvoditi na 64-bitnom operativnom sustavu. Ranije postoje 32-bitne verzije, ali se više ne razvijaju.

Za BlueJ (i Greenfoot) prvi sam put postao svjestan kad sam ih pronašao predinstalirane na Raspberry Pi 4 koje sam nabavio prošle godine. Kasnije sam saznao da je BlueJ instaliran na Raspberry Pi od 2015. godine.

Otvorite projekt u BlueJ-u i prikazat će vam se osvježavajuće rijetki prozor: traka izbornika na vrhu, alatna traka lijevo od velikog područja radnog stola i manje okno stola za objekte u nastavku. Gumbi na alatnoj traci omogućuju vam stvaranje klase, definiranje odnosa nasljeđivanja ili kompajliranje klase. Projektne klase pojavljuju se u radnom okruženju kao neka vrsta smanjenog UML dijagrama, a iako BlueJ nije potpuno razvijeno vizualno razvojno okruženje, dovoljno je da možete vidjeti odnose među entitetima u vašem programu, ali da ne izgubite iz vida koda.

Dvaput kliknite ikonu klase na radnom stolu i njezin se izvor otvara u uređivaču, gdje se otkriva još jedna vizualna pomoć: isticanje opsega. S osvjetljavanjem opsega, ugniježđeni blokovi koda doslovno su istaknuti u pozadinama različitih boja, tako da možete brzo vidjeti područje koje pokriva metoda unutar klase, forpetlja unutar metode, ifiskaz unutar te forpetlje itd. Struktura koda postaje odmah vidljiva.

Desnom tipkom miša kliknite klasu na radnom stolu i pojavit će se novi izbornik koji vam, ovisno o prirodi i sastavu klase, omogućuje sastavljanje razreda, pregled njegovog sadržaja, stvaranje odgovarajuće testne klase (o tome kasnije) i izvršavanje metoda klase ili instancirajte objekt klase. Ovdje interaktivnost BlueJ-a zauzima središnje mjesto.

Predavanja se mogu pojedinačno sastaviti; ne morate obnoviti cijeli projekt ako ste izmijenili jednu klasu. Odaberite izvršenje metode klase i pojavit će se dijaloški okvir koji će vas pitati za unose metode. Unesite unose, kliknite U redu i pojavit će se drugi dijaloški okvir koji prikazuje povratnu vrijednost i vrstu podataka.

Ako instancirate klasu, ikona koja predstavlja novi objekt pojavit će se u klupi predmeta. Kao i kod klasa, možete desnom tipkom miša kliknuti ikonu predmeta i ispitati sadržaj predmeta. Također možete izvršiti pojedinačne metode instance objekta; pojavljuju se dijaloški okviri (kao gore) za unos ulaznih argumenata i prikaz povratnih vrijednosti.

BlueJ ne bi bio potpuni IDE bez programa za otklanjanje pogrešaka. Točke prekida za otklanjanje pogrešaka možete postaviti u BlueJ-u na isti način kao što biste to učinili u drugim IDE-ima. U uređivaču samo kliknite stupac s lijeve strane ciljanog retka izvornog koda. Kada se tijekom izvršenja pokrene točka prekida, otvara se skočni prozor za otklanjanje pogrešaka programa BlueJ, koji prikazuje niti, niz poziva, statičke varijable i varijable instance, kao i poznate kontrole otklanjanja pogrešaka (korak, korak, nastavak i zaustavljanje). Još jednom, pretrpana prezentacija BlueJ-a ne stoji između vas i zadatka.

Kao što je gore spomenuto, BlueJ može stvoriti test klasu iz izbornika desnog klika ikone klase. Automatski stvorena klasa je skeletna JUnit test klasa (JUnit 4 integrirana je s BlueJ). Sastoji se od praznog konstruktora setUp(), i tearDown()metoda. Možete izraditi metode ispitivanja otvaranjem izvora klase u uređivaču ili upotrijebiti neku vrstu ugrađenog čarobnjaka koji vas kroz niz dijaloga vodi kroz stvaranje metoda ispitivanja.

Slično tome, BlueJ pruža pomoć za stvaranje grafičkih aplikacija JavaFX i Swing. Pruženi su vodiči, a rad kroz JavaFX tutorial otkriva stvarnu korist korištenja BlueJ-ove mogućnosti izvršavanja metoda na „živim“ objektima (dok je aplikacija pokrenuta). Rezultat poziva metode zapravo možete vidjeti na grafičkoj komponenti.

Ugrađeni interaktivni vodiči tvrtke BlueJ pokreću vas. Ako vam treba još više obrazovnih materijala, knjiga Objects First with Java , koju je zajedno napisao autor BlueJ-a Michael Kölling, koristi BlueJ kao razvojno okruženje kako bi predstavila početnički pristup objektno orijentiranom programiranju na Javi.

Učite Javu uz Greenfoot

Izgrađen na BlueJ-u od istog tvorca, Michaela Kӧllinga, Greenfoot je specijaliziraniji IDE od BlueJ-a. Iako se BlueJ često koristi u postavkama uvodnog tečaja programiranja na sveučilištu, Greenfoot je usmjeren na mlađe korisnike; kao 14 godina. Kako bi privukao i privukao pažnju mlađe publike, Greenfoot je stvoren kao „jednostavni Java IDE i okvir za animaciju“. Što znači da je za izgradnju igara.

Da biste razumjeli Greenfoot, prvo morate naučiti njegovu terminologiju. Greenfoot projekt je "scenarij". Svaki scenarij ima "svijet", koji je igralište vaše igre. To je dvodimenzionalni spremnik u kojem žive "glumci". Ovdje budite oprezni - Greenfoot glumac nije posebna vrsta objektno orijentiranog, istodobnog programskog entiteta s istim imenom (vidi //en.wikipedia.org/wiki/Actor_model). Greenfoot glumci igraće se u vašoj igri.

Greenfoot glumac ima atribute i metode (karakteristike i ponašanja). Jedna od karakteristika glumca je njegov izgled - ikona prikazana u svijetu koja predstavlja tog glumca. Greenfoot dolazi s raznim glumačkim slikama za početak ili možete stvoriti i uvesti vlastitu sliku.

Greenfootov vizualni raspored zrcalna je slika BlueJ-a. Greenfootov glavni prozor je svijet. Desno je okomita alatna traka popunjena dijagramima nasljeđivanja klasa projekata. Na alatnoj se traci obično nalaze dva "stabla" nasljeđa, jedno ukorijenjeno u osnovnoj Worldklasi, a drugo u osnovnoj Actorklasi. Izvedene klase granaju se ova dva korijena.

Kao i kod BlueJ-a, dvostrukim klikom na ikonu klase otvara se pridruženi izvor u prozoru uređivača. Uređivač Greenfoot identičan je BlueJ-u, što ne čudi, jer se gotovo sav BlueJ izvršava ispod Greenfoota. Dakle, urednik Greenfoota naglašava opseg BlueJ-a, a program za ispravljanje pogrešaka Greenfoota radi točno poput BlueJ-a.

Izmijenite klasu u uređivaču i njezina ikona na dijagramu nasljeđivanja ukrštena je. To ukazuje na to da se klasa mora ponovno sastaviti prije nego što se može koristiti za instanciranje objekta. Uz to, svi predmeti na svijetu koji potječu iz te klase postaju zamagljeni (više nemaju oštro olakšanje) da bi pokazali da su zastarjeli. Srećom, kao i u BlueJ-u, nastavu možete kompajlirati pojedinačno.

Nakon što instancirate glumca, možete ga smjestiti u svijet povlačenjem i ispuštanjem njegove ikone u svjetsko prozorsko okno. Strogo govoreći, ne morate glumca staviti na svijet prije nego što se ijedna glumčeva metoda može nazvati. Desnom tipkom miša kliknite glumca da biste odabrali način pozivanja. Ako metoda zahtijeva ulazne parametre, otvara se dijaloški okvir koji omogućuje unos parametra.

Vrijeme mora teći u Greenfoot svijetu da bi se glumci mogli kretati. Ali to je digitalni svijet, tako da vrijeme napreduje u tikovima internog sata - petlja ažuriranja. Dva gumba - Act and Run - kontroliraju izvršavanje te petlje. Pritisnite gumb Act (Zakon) i petlja će se jednom pokrenuti. Pritisnite Run (Pokreni), gumb postaje Pauza i petlja se izvodi dok ponovno ne kliknete gumb da biste ga zaustavili. Ovi su gumbi, naravno, izuzetno korisni za testiranje i ispravljanje pogrešaka u vašoj igri.

Ako morate obustaviti razvojnu sesiju svog scenarija i želite nastaviti tamo gdje ste stali, možete spasiti svijet (što je puno manje dramatično nego što zvuči). Greenfoot će zabilježiti mjesto i stanje glumaca u svijetu i kodirati te podatke za metodu koju je pozvao konstruktor glumaca. Rezultat: Vaša se pozornica ponovno sastavi kada sljedeći put pokrenete Greenfoot IDE.

Što se događa tijekom igranja igre kada se sudaraju dva glumca? Ili nešto puše? Igra mora imati zvučne efekte. Greenfoot može uvesti .wav datoteke u scenarij, a metode vam omogućuju reprodukciju tih zvukova kada se pokrenu određeni događaji. Ništa vas ne sprječava da posudite bilo koji od zvukova sadržanih u raznim vodičima na web mjestu Greenfoot. Ali u slučaju da želite stvoriti vlastiti, Greenfoot nudi ugrađeni snimač zvuka. Mogućnosti uređivanja snimača jednostavne su, ali korisne. To je u osnovi sustav "hvatanja i obrezivanja".

Konačno, ako su vam potrebne ideje o igrama izvan onih koje su pružene u Greenfootovim vodičima, web mjesto Greenfoota vrvi scenarijima koje su stvorili i prenijeli korisnici iz cijelog svijeta. Neke se čak mogu igrati i na mreži. Kvaliteta je razumljivo ljepljiva, ali raznolikost igara svjedoči o svestranosti Greenfoota.

Koraci za pro Java programiranje

Prema tvorcu Michaelu Kӧllingu, dok se BlueJ obično koristi na sveučilišnom uvodnom tečaju programiranja, Greenfoot je pogodan za upotrebu u srednjoj školi. Ipak, bez obzira na dob, možete prijeći puno kilometara od bilo kojeg IDE-a ako ste tek zakoračili na put do samoobrazovanja na Javi.

Osim već spomenutih vodiča, na web stranicama BlueJ i Greenfoot nalazi se znatna količina pratećeg materijala. Već smo spomenuli udžbenik BlueJ; postoji i udžbenik za Greenfoot, Uvod u programiranje s Greenfootom . (Informacije o kupnji potražite na web mjestima.)

Niti jedan IDE nije prikladan za izgradnju Java aplikacija na razini poduzeća. No kao uvodna vozila za sve koji su novi na Javi, označavaju sve okvire i ne opterećuju vas složenošću alatne trake i izbornika. Oni su čvrste, glatke odskočne daske za profesionalni Java razvoj.