Jump to section

Cosa sono i framework Java?

Copia URL

I framework Java™ sono corpus di codice già scritto che gli sviluppatori usano come base per creare le applicazioni avvalendosi del linguaggio di programmazione Java.

Elementi specifici del linguaggio di programmazione Java, fungono da piattaforma per lo sviluppo di applicazioni software e programmi Java.

Dal momento che sono riutilizzabili, servono come modello che gli sviluppatori usano per creare le applicazioni integrando il proprio codice in modo da ottenere il risultato desiderato.

Un framework è concepito per essere riutilizzato; gli sviluppatori possono programmare le applicazioni senza intervenire manualmente per creare da zero ogni singola riga di codice.

I framework Java includono classi (ad esempio categorie di oggetti) e funzioni predefinite, da utilizzare per elaborare, integrare e gestire i dispositivi hardware e per interagire con i software di sistema. L'impiego di tali elementi dipende dal tipo di framework, dalle competenze del programmatore Java, dall'obiettivo finale e dalle preferenze personali.

Java è un linguaggio di programmazione orientato agli oggetti (OOP) utilizzato dagli sviluppatori sin dal 1995, per programmare applicazioni che funzionano all'interno del dominio in cui si trovano.

Java non va confuso con JavaScript, un linguaggio di programmazione diverso, sviluppato da un'altra azienda all'incirca nello stesso periodo. Java crea app che possono essere eseguite su browser o server, ad esempio sistemi bare metal, macchine virtuali o container, mentre JavaScript può essere eseguito solo su browser.

Rispetto a un'applicazione, la libreria rappresenta una determinata funzione, un framework è la sua struttura portante e l'interfaccia di programmazione delle applicazioni (API) combina i due elementi per l'utente. Il framework può includere una libreria, un compilatore e altri programmi utilizzati nel processo di sviluppo. Se dispone di un framework valido, uno sviluppatore non deve occuparsi delle parti di codice ricorrenti utilizzate in un dominio o in un'applicazione.

Cos'è una libreria?

Una libreria è una raccolta di risorse o routine precompilate e di utilizzo frequente (classi, modelli, dati di configurazione, ecc.) a disposizione di un programma informatico. Le routine sono progettate per essere riutilizzate quando occorre eseguire un'attività, eliminando così la necessità di scrivere ogni volta il codice della funzione di tale attività. Quando serve una risorsa, il programma indirizza la richiesta alla relativa libreria.

Cos'è un framework?

Un framework può essere inteso come una raccolta di librerie. La differenza principale sta nella cosiddetta "inversione del controllo": il framework esegue la chiamata, sulla quale ha quindi il controllo. Il framework integra già il modello o la struttura degli elementi necessari; in questo senso, può richiamare le risorse che occorrono in base a quelle già presenti (i vuoti di codice che devono essere compilati).

Cosa sono le API?

Un framework è simile a un'interfaccia di programmazione delle applicazioni (API), ma tecnicamente include un'API. Si tratta di una sorta di base per la programmazione, mentre l'API consente l'accesso agli elementi da esso supportati.

Esistono diverse tipologie di framework Java, il cui utilizzo è determinato dalle competenze dello sviluppatore e dai requisiti dell'app o del sito web. Tra i framework open source più diffusi ricordiamo:

  • Quarkus, un framework Java per l'intero stack ottimizzato per le infrastrutturecloud native e di microservizi.
  • Grails, scritto nel linguaggio di programmazione Groovy per fornire framework di applicazioni web che prevedono plugin HTML e CSS.
  • Hibernate, un framework a livello ORM (Object Relational Mapping) utilizzato per la gestione dei database relazionali che può eseguire query SQL con il supporto delle API fornite da JDBC (Java Database Connectivity).
  • Google Web Toolkit (GWT), in grado di connettere i team di sviluppo software che si occupano di front-end/lato client e back-end.

Altri diffusi framework Java includono:

  • Vaadin, con framework dedicati alle interfacce utente 
  • Play, che ottimizza lo sviluppo delle app web e funziona in modo ottimale con il linguaggio di programmazione Scala.
  • Apache Struts, incentrato sulle applicazioni enterprise e ottimizzato per le tecniche asincrone JavaScript e XML (AJAX). Costituisce un valido metodo per aggiornare sezioni di pagine web senza dover aggiornare tutto.
  • JavaServer Faces (JSF) di Oracle, che offre framework frontend agli sviluppatori backend.

È uno stack Java Kubernetes native realizzato per le macchine virtuali Java (JVM) e per la compilazione nativa. Ottimizza Java specificamente per Kubernetes e lo trasforma in un'efficiente piattaforma per ambienti serverless, cloud e Kubernetes.

L'inserimento della dipendenza di Quarkus si basa su CDI (Contexts and Dependency Injection) e include un framework di estensione per ampliare le funzionalità e configurare, avviare e integrare un framework nell'applicazione. L'aggiunta di un'estensione è facile come quella di una dipendenza, ma in alternativa è possibile utilizzare gli strumenti di Quarkus.

Keep reading

ARTICOLO

Stateful e stateless

La condizione di stateful o stateless di un elemento dipende dalla durata della registrazione dell'interazione con l'elemento stesso e dalle modalità di memorizzazione di questa informazione.

ARTICOLO

Cos'è Quarkus?

Quarkus è uno stack Java Kubernetes native realizzato per le macchine virtuali Java (JVM) e per la compilazione nativa, che ottimizza Java specificamente per i container.

ARTICOLO

Cos'è il serverless computing?

Il serverless computing è un modello di sviluppo cloud native che consente agli sviluppatori di creare ed eseguire applicazioni senza gestire i server.

Scopri di più sulle applicazioni cloud native

Prodotti

Una piattaforma applicativa aziendale che offre servizi verificati per consentire la distribuzione delle app sulle infrastrutture preferite.

Risorse

White paper

Panoramica di Red Hat sullo sviluppo cloud native

Ebook

Il percorso verso le applicazioni cloud native

EBOOK

Cloud native e cloud ibrido: come definire la tua strategia.

Formazione

Formazione gratuita

Developing Cloud-Native Applications with Microservices Architectures