Programmering

BlueJ og Greenfoot: De beste IDEene for å lære Java

Du sier at du vil lære Java. Det kan være et skremmende språk. Det kan til og med virke ugjennomtrengelig hvis du er en ny programmerer. Men du trekker pusten dypt og bestemmer deg for å prøve. Ok, første ting først: Du trenger et av de integrerte utviklingsmiljøene (IDEene) du har lest om. Et enkelt program der du kan redigere, bygge, kjøre, feilsøke og distribuere Java-programmet som snart skal skrives.

Flere populære, gratis Java IDEer er tilgjengelige: Eclipse, NetBeans og community-utgaven av IntelliJ, for eksempel. Du velger en, laster ned og installerer den, og på veldig kort tid innser du at du nå har to ting å lære: Java og IDE. Det valgte utviklingsverktøyet ditt er like ugjennomtrengelig som språket det skal hjelpe deg med.

Skriv inn BlueJ og Greenfoot, to IDEer som er veldig spesielt designet for nybegynnere. De er produktet av et team basert på King’s College i London (selv om teammedlemmer til tider har vært tilknyttet universiteter i Australia og Danmark). Skaperne av BlueJ og Greenfoot valgte funksjonssettet og grensesnittdesignet for ikke å overvelde nybegynnere.

Som Neil Brown, forklarer hovedutvikleren, er funksjonene til BlueJ og Greenfoot "... avslørt når brukerne kommer til dem." Du blir ikke kastet i den dype enden av bassenget. Derfor gir begge en enkel introduksjon ikke bare til Java-språket, men til verktøyene og teknikkene som trengs for å bygge applikasjoner på det språket.

Lær Java med BlueJ

BlueJ dukket først opp i 1999, bare kalt Blue. På den tiden var det både et utviklingsmiljø og et språk. Da Java dukket opp, ble verktøyet gjenoppbygd ved hjelp av Java som språk, og navnet ble endret til BlueJ.

Utgaver av BlueJ finnes for Linux, MacOS og Windows. BlueJ kommer også i generisk form: pakket som en JAR-fil slik at BlueJ kan installeres på ethvert system som støtter Java. Den nåværende versjonen av BlueJ (4.2.2 i skrivende stund) krever JDK 11 eller nyere, og må derfor kjøres på et 64-biters operativsystem. Tidligere eksisterer 32-biters versjoner, men de utvikles ikke lenger.

Jeg ble først klar over BlueJ (og Greenfoot) da jeg fant dem forhåndsinstallert på en Raspberry Pi 4 som jeg hadde fått i fjor. Jeg fikk senere vite at BlueJ hadde blitt installert på Raspberry Pi siden 2015.

Åpne et prosjekt i BlueJ, og du får et forfriskende sparsomt vindu: menylinje over toppen, verktøylinjen til venstre for et stort arbeidsbenkområde og et mindre objektbenkfelt under. Knapper på verktøylinjen lar deg opprette en klasse, definere et arveforhold eller kompilere en klasse. Prosjektklasser vises på arbeidsbenken som et slags utskilt UML-diagram, og mens BlueJ ikke er et fullverdig visuelt utviklingsmiljø, er det nok av ett slik at du kan se forholdet mellom enhetene i programmet ditt, men ikke miste synet av koden.

Dobbeltklikk på et klasseikon i arbeidsbenken, og kilden åpnes i redigeringsprogrammet, der en annen visuell assistanse blir avslørt: omfangsheving. Med omfangsutheving blir nestede blokker av kode bokstavelig talt uthevet i forskjellige fargede bakgrunner, slik at du raskt kan se området dekket av en metode i en klasse, en til løkke innenfor en metode, en hvis uttalelse innenfor det til løkke, og så videre. Kodestruktur blir tydeliggjort.

Høyreklikk på en klasse i arbeidsbenken, og det vises en ny meny som - avhengig av klassenes karakter og sammensetting - lar deg kompilere klassen, inspisere innholdet, lage en tilsvarende testklasse (mer om dette senere), utføre en klassemetode, eller instansere et objekt i klassen. Her er BlueJs interaktivitet sentralt.

Klassene kan samles individuelt; du trenger ikke å bygge opp et helt prosjekt hvis du har endret en enkelt klasse. Velg å utføre en klassemetode, og en dialogboks dukker opp som ber deg om metodinngangene. Skriv inn inngangene, klikk OK, og en annen dialog vises, som viser returverdien og dens datatype.

Hvis du starter en klasse, vises et ikon som representerer det nye objektet i objektbenken. Som med klasser, kan du høyreklikke på objektikonet og undersøke objektets innhold. Du kan også utføre individuelle objektforekomstmetoder; Dialogbokser vises (som ovenfor) for å legge inn inngangsargumenter og vise returverdier.

BlueJ ville ikke være en komplett IDE uten feilsøkingsprogram. Du kan angi feilsøkingsbruddpunkter i BlueJ på samme måte som i andre IDEer. I redigereren klikker du bare i kolonnen til venstre for den målrettede kildekodelinjen. Når brytpunktet utløses under utførelse, åpnes BlueJs feilsøkingsvindu som viser tråder, samtalestakler, låser statiske variabler og forekomstvariabler, samt de kjente feilsøkingskontrollene (trinn, gå inn, fortsett og stopp). Nok en gang står BlueJs ryddige presentasjon ikke mellom deg og oppgaven.

Som nevnt ovenfor kan BlueJ opprette en testklasse fra et høyreklikkmeny til et klassikon. Den automatisk opprettet klassen er en skjelett JUnit testklasse (JUnit 4 er integrert med BlueJ). Den består av tom konstruktør, setUp (), og rive ned() metoder. Du kan enten bygge testmetoder ved å åpne kursets kilde i redigeringsprogrammet, eller bruke en slags innebygd veiviser som via en rekke dialoger fører deg gjennom å lage testmetoder.

På samme måte gir BlueJ hjelp til å lage grafiske JavaFX- og Swing-applikasjoner. Opplæringsprogrammer er gitt, og arbeid gjennom JavaFX-opplæringen avslører den virkelige fordelen med å bruke BlueJs evne til å utføre metoder på "live" objekter (mens applikasjonen kjører). Du kan faktisk se resultatet av en metodeanrop på en grafisk komponent.

BlueJs innebygde interaktive opplæringsprogrammer får deg fra bakken. Hvis du trenger enda mer læremateriell, boken Objekter først med Java, medskrevet av BlueJ-skaperen Michael Kölling, bruker BlueJ som utviklingsmiljø for å presentere en nybegynnertilnærming til objektorientert programmering i Java.

Lær Java med Greenfoot

Bygget på BlueJ av samme skaper, Michael Kӧlling, er Greenfoot en mer spesialisert IDE enn BlueJ. Mens BlueJ ofte brukes i innstillingen av et introduksjonskurs på universitetsnivå, er Greenfoot rettet mot yngre brukere; så ung som 14 år. For å fange og holde oppmerksomheten til et yngre publikum har Greenfoot blitt laget som et "enkelt Java IDE og animasjonsrammeverk." Noe som betyr at det er for å bygge spill.

For å forstå Greenfoot må du først lære terminologien. Et Greenfoot-prosjekt er et "scenario". Hvert scenario har en "verden", som er spillets felt. Det er en todimensjonal container bebodd av "skuespillere". Vær forsiktig her — en Greenfoot-skuespiller er ikke den spesielle typen objektorientert, samtidig programmeringsenhet med samme navn (se //en.wikipedia.org/wiki/Actor_model). Greenfoot skuespillere er spillets brikker.

En Greenfoot-skuespiller har attributter og metoder (egenskaper og atferd). Et kjennetegn ved en skuespiller er utseendet - ikonet som vises i verden for å representere den skuespilleren. Greenfoot kommer med en rekke skuespillerbilder for å komme i gang, eller du kan lage og importere ditt eget bilde.

Greenfoot's visuelle arrangement er et speilbilde av BlueJ. Greenfoot sitt hovedvindu er verden. Til høyre er en vertikal verktøylinje fylt med arvediagrammer over prosjektklasser. Vanligvis er det to arv "trær" i verktøylinjen, en forankret i basen Verden klasse, den andre forankret i basen Skuespiller klasse. Avledede klasser forgrener seg fra disse to røttene.

Som med BlueJ, dobbeltklikker du på kursets ikon, åpner den tilknyttede kilden i et redigeringsvindu. Greenfoot-redaktøren er identisk med BlueJ, noe som ikke er overraskende, da nesten hele BlueJ kjører under Greenfoot. Så redaktøren til Greenfoot har BlueJs omfangsheving, og Greenfoot's feilsøkingsprogram fungerer akkurat som BlueJs.

Endre en klasse i redaktøren, og ikonet i arvdiagrammet er kryssklekket. Dette indikerer at klassen må kompileres på nytt før den kan brukes til å instantiere et objekt. I tillegg blir alle gjenstander i verden som kommer fra den klassen uskarpe (ikke lenger i skarp lettelse) for å vise at de nå er utdaterte. Heldigvis, som i BlueJ, kan du kompilere klasser individuelt.

Når du har startet en skuespiller, kan du plassere den i verden ved å dra og slippe ikonet i verdensvinduet. Strengt tatt trenger du ikke å sette en skuespiller i verden før noen av skuespillerens metoder kan kalles. Høyreklikk på en skuespiller for å velge en metode å ringe. Hvis metoden krever inndataparametere, åpnes en dialog som lar deg levere parameteren.

Tiden må strømme i Greenfoot-verdenen for at skuespillere skal få bevegelse. Men det er en digital verden, så tiden skrider frem i flått av en intern klokke - en oppdateringssløyfe. To knapper - Handle og kjøre - kontrollerer kjøringen av den sløyfen. Klikk på Handle-knappen, og løkken går en gang. Klikk Kjør, knappen blir Pause, og sløyfen går til du klikker på knappen igjen for å stoppe den. Disse knappene er selvfølgelig veldig nyttige for å teste og feilsøke spillet ditt.

Hvis du må avbryte utviklingsøkten til scenariet ditt og vil fortsette der du slapp, kan du redde verden (som er mye mindre dramatisk enn det høres ut). Greenfoot vil fange lokasjonen og tilstanden til aktører i verden, og kode den informasjonen for en metode som kalles av skuespillernes konstruktør. Resultatet: Scenen din monteres på nytt neste gang du starter Greenfoot IDE.

Hva skjer når to skuespillere kolliderer under spillet? Eller noe sprenger? Et spill må ha lydeffekter. Greenfoot kan importere .wav-filer til et scenario, og metoder lar deg spille av disse lydene når spesifikke hendelser utløses. Ingenting hindrer deg i å låne noen av lydene som følger med de forskjellige opplæringene på Greenfoot-nettstedet. Men i tilfelle du vil lage din egen, gir Greenfoot en innebygd lydopptaker. Opptakerens redigeringsfunksjoner er enkle, men brukbare. Det er i utgangspunktet et "capture and trim" -system.

Til slutt, hvis du trenger spillideer utover de som er gitt i Greenfoots opplæringsprogrammer, er det fullt av Greenfoot sine nettsteder som er opprettet og lastet opp av brukere fra hele verden. Noen kan til og med spilles online. Kvaliteten er forståelig nok flekkete, men mangfoldet av spill vitner om Greenfoot's allsidighet.

Stepping stones til pro Java-programmering

I følge skaperen Michael Kӧlling, mens BlueJ vanligvis brukes i et universitets innledende programmeringskurs, er Greenfoot egnet for bruk på videregående skole. Likevel, uavhengig av alder, kan du få rikelig med kjørelengde ut av IDE hvis du bare har satt foten på veien til Java-selvutdanning.

Utover de allerede nevnte opplæringene, er det en betydelig mengde støttemateriell på nettene BlueJ og Greenfoot. Vi har allerede nevnt BlueJ-læreboka; en lærebok eksisterer også for Greenfoot, Introduksjon til programmering med Greenfoot. (Se nettstedene for kjøpsinformasjon.)

Verken IDE er egnet for å bygge produktklare Java-applikasjoner på bedriftsnivå. Men som introduksjonsbiler for alle som er nye i Java, sjekker de alle boksene, og de belaster deg ikke med verktøylinje og menykompleksitet. De er solide, glatte skritt for Java-utvikling i profesjonell klasse.

$config[zx-auto] not found$config[zx-overlay] not found