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.

Cloud native e cloud ibrido: come definire la tua strategia

Risorse da Red Hat

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.

Panoramica: Adotta lo sviluppo cloud native

 

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.

Scopri di più su Quarkus in questo articoloQuattro motivi per provare Quarkus

Hub

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Cloud computing: Red Hat OpenShift per gli ingegneri della piattaforma

Red Hat OpenShift offre gli strumenti di progettazione delle piattaforme ideali per creare e gestire le Internal Developer Platform (IDP).

Cos'è la migrazione delle applicazioni?

La migrazione delle applicazioni è un processo capace di migliorare i carichi di lavoro trasferendo un'applicazione da un ambiente all'altro.

Integrated Development Environment (IDE)

Un IDE, o ambiente di sviluppo integrato, è un software progettato per la realizzazione di applicazioni che aggrega strumenti di sviluppo comuni in un'unica interfaccia utente grafica.

Sviluppo e distribuzione delle applicazioni: risorse consigliate