Inleiding
Voor het programma is een java frontend nodig, zodat het gebruikt kan worden door een eindgebruiker via een exe bestand. Hiervoor zijn meerdere opties mogelijk, zoals JavaFX of Swing. Dit moet vroeg besloten worden omdat het onwikkelen van een frontend handig is om dingen te presenteren aan de product owner, en het duurt lang, dus is het beter om dit te ontwikkelen aan het begin van het project.
De hoofdvraag is dus Kunnen wij beter JavaFX of Swing als java frontend framework gebruiken om een nieuwe versie van rokade te maken?
Dit kan worden opgedeeld in de volgende deelvragen:
Wat is JavaFX?
Wat is Swing?
Wat zijn de voor en nadelen van JavaFX?
Wat zijn de voor en nadelen van Swing?
Wat is het verschil tussen JavaFX en Swing?
Restful API
Een restful api is een serverapplicatie die requests kan handlen die het krijgt van een clientapplicatie, vaak een browser. Als de applicatie ontwikkeld zou worden als een RESTful server applicatie zou er een website bij ontwikkeld moeten worden die de server requests en responses verwerkt met behulp van javascript of PHP. Hiervoor is dus een website nodig, en een host machine.
Voor en nadelen van een Restful API
Voordelen:
- Een user interface kan gemaakt worden met behulp van HTML en CSS, wat erg goed te stijlen is. Het kan dus precies gemaakt worden volgens de wensen van de opdrachtgever.
- Een HTML frontend is makkelijker om responsive te maken, en dit maakt het gebruik op allerlijk soorten devices mogelijk.
- Het is veel modulairder, met een goede specification kan iedereen een andere frontend ontwikkelen.
- Het is eenvoudiger om een beveiligde database connectie te leggen, omdat de database op dezelfde machine gehost kan worden als de API.
- Alle teamgenoten zijn al bekend met RESTful apis en HTML frontends
Nadelen:
- Er moet een website ontwikkeld worden die los staat van de applicatie.
- Er moet extra beveiliging gemaakt worden om de webapp te beveiligen tegen ongewenste gebruikers.
- Er moet meer gehost worden dan alleen een database.
- De webapp zou eventueel compatible gemaakt moeten worden met de bestaande wordpress website.
Beste keus voor een RESTful API
Bijna alle teamleden zijn al bekend met Jakarta EE Wildfly, maar er zijn ook andere opties zoals Spring of andere frameworks die aan de stack toe te voegen zijn. De belangrijkste technische keuzes die bij deze optie horen zijn de keuzes voor de frameworks die gebruikt worden voor de frontend, vooral de javascript frameworks om de JSON objecten correct af te handelen. Hier zou ook een onderzoek voor gedaan moeten worden.
Standalone GUI framework
De oude versie van Rokade is een standalone Delphi applicatie. De eisen van de opdrachtgever kunnen ook opgelost worden door het net als Rokade een standalone applicatie te maken met een GUI framework binnen Java.
Voor en nadelen van een GUI framework
Voordelen:
- Een standalone applicatie kan eenvoudiger geconfigured worden voor een individuele user.
- De gebruikers van de applicatie zijn al bekend met het gebruiken van een standalone applicatie.
- Frameworks als JavaFX zijn ook met CSS te stylen.
- Als een open source project zijn standalone applicaties makkelijker om aan te passen.
Nadelen:
- De meeste teamleden zijn niet bekend met GUI frameworks in Java.
Beste keus voor een GUI framework
Oracle heeft zelf een framework hiervoor die ingebouwd zit in openJDK, JavaFX. Hiervoor zijn ook plugins voor IntelJ om het ontwikkelen te stroomlijnen. Als alternatief op JavaFX zou Swing gebruikt kunnen worden, maar JavaFX was bedoelt als een opvolger op Swing