15 framework Java che danno una spinta in più agli sviluppatori

Oggi i framework di sviluppo Java possono aiutare gli sviluppatori a far funzionare un’applicazione in modo più veloce eliminando il compito di creare il “codice boilerplate”.

Questo articolo vuole essere una guida alla scelta di 15 framework fondamentali e oggi disponibili per la creazione di applicazioni per piattaforme Java.

Ecco di seguito l’elenco completo con funzionalità e caratteristiche per ogni framework java attualmente disponibile.

Blade: framework MVC leggero

Il framework MVC è basato su Java 8 e sul server Web Netty.

Descritto come leggero e semplice, lo sviluppo di Blade ha origine nel 2015 con l’obiettivo di fornire un framework web completo con un’interfaccia di routing in stile RESTful e senza intercettori invasivi. Inoltre il codice sorgente di Blade è inferiore a 500 KB.

Per creare un’applicazione con Blade, gli sviluppatori realizzano un progetto Maven comune, in cui viene incluso uno stile di streaming API. I piani richiedono l’aggiunta del supporto per la modularità presente in Java 9 e il supporto per ulteriori componenti del web.

Dove scaricare Blade

Scarica Blade dal relativo repo GitHub.

Dropwizard: servizi web “ops-friendly”

Rilasciato per la prima volta nel 2011, Dropwizard è un framework per i servizi web RESTful “ops-friendly in cui è possibile utilizzare la libreria HTTP Jetty o incorporare un server HTTP in un progetto.

L’implementazione Jersey JAX-RS consente la scrittura di classi testabili, che mappano le richieste HTTP agli oggetti Java.

Key to Dropwizard promette produttività sia durante che dopo lo sviluppo, afferma Nick Babcock. Gli sviluppatori infatti possono concentrarsi sulla logica aziendale invece di scrivere codici, configurare o registrare.  Partendo proprio da questi risultati, gli ideatori di Dropwizard hanno messo in programma di continuare a formulare miglioramenti in progetti come quelli appena citati (Jetty e Jersey), oppure idearne di nuovi.

Dove scaricare Dropwizard?

Puoi scaricare Dropwizard su GitHub.

Grails: ancorato dal linguaggio Groovy JVM

Attualmente gestito da Object Computing Initiative (OCI), Grails è uno dei vari framework utilizzati per la creazione di applicazioni Web per JVM.

Grazie a questo framework gli sviluppatori possono creare applicazioni come sistemi di gestione dei contenuti e siti di e-commerce, nonché servizi web RESTful.

Basato sul linguaggio Groovy JVM, Grails lavora con le tecnologie Java, inclusi i contenitori Java EE, Hibernate e Spring, e funziona con il Java Development Kit.

I fan dicono che è meno complesso rispetto ad altri framework usati per creare applicazioni.

La versione 4.0 del decennale framework uscirà verso la fine del 2018, con funzionalità che includono il supporto per Groovy 2.5, una linea di base Java 8 e Java 9.

Dove scaricare Grails?

Puoi scaricare Grails da Grails.org.

GWT: Java in JavaScript out

Pronunciato “gwit” e noto anche come Google Web Toolkit, GWT consente agli sviluppatori di scrivere applicazioni client-side in Java e distribuirle come JavaScript.

GWT È stato utilizzato in prodotti Google come AdWords e Wallet e supporta lo sviluppo di applicazioni per browser senza che lo sviluppatore debba essere necessariamente esperto in tecnologie come JavaScript o XMLHttpRequest. GWT SDK include le librerie Java, il compilatore e il server di sviluppo.

Il compilatore GWT offre ottimizzazioni attraverso la base di codice, con metodi di inlining, rimozione di dead code e ottimizzazione delle stringhe. Infine, i punti di divisione nel codice possono segmentare un download in più frammenti JavaScript e migliorare i tempi di avvio.

Dove scaricare GWT?

È possibile scaricare GWT dal sito Web GWT.

JavaServer Faces: specifica per le interfacce utente Web

JavaServer Faces (JSF), reso disponibile negli ultimi 14 anni, come già noto presenta una specifica Java per la creazione di interfacce utente basate su componenti per applicazioni Web. Oggi è anche un framework Web MVC!

JavaServer Faces (JSF) può essere adoperato anche per semplificare la costruzione di interfacce utente per applicazioni basate su server, con componenti UI riutilizzabili in una pagina.

JSF 2, la versione corrente, utilizza Facelets come sistema di template predefinito.

Tuttavia è possibile implementate anche tecnologie di visualizzazione come XUL (XML User Interface Language) e Java.

Dove scaricare JavaServer Faces?

È possibile scaricare Glassfish per ottenere l’implementazione di riferimento JSF 2.0.

JHipster

In cima alle costruzioni di applicazioni Spring Boot, JHipster emerge tra le tante grazie al servizio web o ai micro servizi di cui si avvale.

JHipster può realizzare sia applicazioni Spring Boot che Angular ed è sponsorizzato da Okta, che offre un servizio che fornisce un accesso sicuro agli strumenti.

Le tecnologie client-side includono Yeoman, Webpack, Angular e Bootstrap, mentre le server-side includono Maven, le tecnologie Spring e l’OSS di Netflix. In fase di sviluppo sono JHipster 5, supporto per Spring Boot 2 sul back end e supporto per il framework React JavaScript UI sul front end.

Dove scaricare JHipster?

Puoi scaricare JHipster da GitHub.

MyBatis: integrazione del database relazionale

Il principale punto di forza di MyBatis (originariamente chiamato iBatis e pubblicizzato nel 2002) è la semplificazione dell’uso di JDBC e la riduzione della quantità di codice necessaria durante la scrittura di applicazioni Java che interagiscono con i database relazionali.

MyBatis si distingue dagli strumenti di mapping relazionale non associando le classi alle tabelle, ma mappando gli oggetti a SQL (con MyBatis, SQL non è nascosto dallo sviluppatore).

In quanto framework offre flessibilità in termini di database e schemi che possono essere utilizzati con esso.

Dove scaricare MyBatis?

È possibile scaricare MyBatis dal sito Web MyBatis.

Play Framework: framework web reattivo

Caratterizzato da un’architettura leggera, Play è un framework web reattivo ad alta produttività sia per Java che per Scala.

Play fornisce hotload sulle modifiche al codice, in cui gli sviluppatori possono aggiornare il browser e apportare o visualizzare le modifiche immediatamente senza doverle ricompilare o distribuire.

Costruito sul kit di strumenti Akka per applicazioni distribuite, il framework è stato rilasciato per la prima volta nel 2007 e solo nel 2012 ha subito una riscrittura.

I piani richiedono di rendere Play più modulare, con moduli destinati ai microservizi. I servizi di riproduzione multipla possono essere eseguiti contemporaneamente tramite un singolo comando.

È inoltre un valido supporto per i modelli di microservizi come la messaggistica asincrona e l’event-sourcing.

Dove scaricare Play Framework?

Puoi scaricare Play Framework da PlayFramework.com.

PrimeFaces: framework UI leggero

Il decennale PrimeFaces funge da libreria leggera configurata come un singolo file .jar senza dipendenze.

Questo framework, sponsorizzato dal fornitore di e-commerce Prime Technology, ha più di 100 componenti, un kit mobile ottimizzato, una convalida sul client-side e un kit tematico. Gli sviluppatori di PrimeFaces stanno sperimentando con JSF Renderer APis per determinare se un’applicazione JSF può eseguire il rendering di applicazioni web progressive (PWA) con un back-end Java. Inoltre stanno cercando di avere componenti JSF per sfruttare le moderne API web.

Dove scaricare PrimeFaces?

È possibile scaricare PrimeFaces da PrimeFaces.org.

Spark Framework: microframework per uno sviluppo rapido

Spark Framework è un framework web che consente agli sviluppatori di ottenere un back-up funzionante e rapido. Utilizzando le funzionalità linguistiche di Java 8, Spark Framework offre un’API molto più espressiva.

Gli sviluppatori di Spark attualmente stanno pianificando un importante aggiornamento del framework originale che a breve verrà etichettato come Versione 3.0, e una versione ufficiale di Spark per il linguaggio Kotlin.

Dove scaricare Spark Framework?

È possibile scaricare Spark Framework da SparkJava.com e Maven o GitHub.

Spring Framework: supporto iniziale

Probabilmente il framework Java più conosciuto è Spring Framework.

Questo framework presenta un modello organizzato per programmare e configurare le applicazioni Java aziendali.

In particolare si propone di occuparsi di applicazioni “plumbing” in modo che i team di sviluppo possano concentrarsi sulla logica di business a livello di applicazione.

Spring Framework fornisce inoltre compatibilità a ritroso e test sul codice, gestione delle transazioni, accesso ai dati e applicazioni web.

Inoltre i progetti partner nella linea Spring includono Spring Boot (per aiutare a creare applicazioni in Spring).

Dove scaricare Spring Framework?

È possibile scaricare Spring Framework dal sito Web di Spring.

Struts: framework MVC di Apache

Struts è un framework MVC  utilizzato per la creazione di applicazioni Web.

Questo framework utilizza un’architettura plug-in (con plugin REST, AJAX e JSON inclusi) ed è costituito da strumenti utili per fornire e mantenere interfacce e servizi utente basati sul web, aiutando così gli sviluppatori a collegare i livelli di presentazione e di servizio (oltre a fornire assistenza nella conversione dei tipi e nella convalida degli input).

Struts combina un modello richiesta-risposta con componenti UI HTML e AJAX.

Il framework iniziale di Struts 1.0 debuttò nel 2000; a seguire Struts 2, lanciato dopo la fusione della base di codice WebWork 2 con Struts nel 2006.

Attualmente è in cantiere Struts 3, che Apache definisce un radicale rinnovamento del framework.

Dove scaricare Struts?

È possibile scaricare Struts dal sito Web del progetto.

Tapestry: framework orientato ai componenti

Apache’s Tapestry è un framework orientato ai componenti per la creazione di applicazioni Web scalabili in Java. In particolare la codifica può essere eseguita in Java, Groovy o Scala.

Apache afferma che gli sviluppatori ottengono la velocità e la profondità di Java e uno sviluppo agile simile a Ruby o Python tramite l’accesso alle funzionalità del linguaggio Java e all’ecosistema Java.

La funzionalità live di ricaricamento della classe consente agli sviluppatori di modificare il codice, aggiornare il browser e visualizzare le modifiche così come accade con Play Framework.

Tapestry 1.0 è stato creato nel 2000 e la versione corrente, Tapestry 5, non è altro che una riscrittura senza codice condiviso dalla Versione 4.

Dove scaricare Tapestry?

Scarica Tapestry via Maven: mvn archetype: generate -DarchetypeCatalog = http: //tapestry.apache.org.

Vaadin Flow

Il framework web Flow Java di Vaadin presenta una comunicazione bidirezionale tra browser e server, collegando l’interfaccia utente Web al server di Java.

L’accesso diretto è fornito dal DOM al server mentre le app vengono eseguite su JVM. Parte della piattaforma di sviluppo Vaadin 10, Vaadin Flow è stata introdotta nell’ottobre 2017 in versione beta.

Vaadin era un framework monolitico, ma l’azienda ha suddiviso il framework in Flow e il set di componenti Web in Vaadin 10. I builder di Vaadin Flow vogliono renderlo più veloce e semplificare la creazione di app web progressive.

Dove scaricare Vaadin Flow?

Puoi scaricare Vaadin Flow da GitHub.

Vert.x: app reattive su JVM

Il toolkit Vert.x di Eclipse Foundation è guidato dagli eventi. Ciò significa che le applicazioni utilizzano un piccolo numero di thread del kernel.

Vert.x può essere utilizzato con Java, JavaScript, Groovy, Kotlin, Ruby, Ceylon e Scala. Le API idiopatiche sono fornite per le lingue supportate. Il quadro non è restrittivo; agli sviluppatori vengono dati “mattoncini utili” per costruire app come vogliono, dicono i suoi creatori. Vert.x può anche essere utilizzato per la creazione di microservizi leggeri.

Vert.x 1.0 è stato rilasciato a settembre 2012 mentre la versione 3.5.1 è stata rilasciata a febbraio 2018, con il supporto del framework di test Java JUnit 5.

Dove scaricare Vert.x?

È possibile scaricare Vert.x dal sito Web Vertx.io.

Wicket: tecnologie web astratte orientate alle richieste

Apache’s Wicket è una struttura web orientata ai componenti che fornisce i concetti dell’interfaccia utente agli sviluppatori, che possono costruire interfacce utente utilizzando Java e HTML. Con Wicket, una pagina è composta da componenti che lavorano insieme per fornire funzionalità desiderate.

I componenti possono anche avere file di internazionalizzazione, JavaScript e CSS associati.

Wicket è diventato un progetto Apache nel 2007. A seguire il dong per Wicket sarà l’introduzione degli idiomi di Java 8.

Gli sviluppatori saranno in grado di utilizzare nuove API di data/ora e espressioni lambda con componenti di Wicket.

Dove scaricare Wicket?

Puoi scaricare Wicket dal suo sito di progetto Apache.