{"id":475881,"date":"2023-08-09T07:24:43","date_gmt":"2023-08-09T07:24:43","guid":{"rendered":""},"modified":"2023-09-05T11:11:30","modified_gmt":"2023-09-05T11:11:30","slug":"applet","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/it\/wiki\/applet\/","title":{"rendered":"Applet"},"content":{"rendered":"<p>Un&#039;applet \u00e8 un tipo di software progettato per essere eseguito nel contesto di un programma pi\u00f9 ampio, spesso un browser Web, fornendo funzionalit\u00e0 ricche e interattive che il programma principale stesso non offre. Scritte nel linguaggio di programmazione Java, le applet vengono utilizzate principalmente nell&#039;elaborazione di rete. Possono rispondere agli input dell&#039;utente, come i clic del mouse o le sequenze di tasti, e possono anche interagire con altre applet sulla stessa pagina web.<\/p>\n<h2>Cenni storici sull&#039;applet<\/h2>\n<p>La storia delle applet risale alla met\u00e0 degli anni &#039;90, quando il linguaggio di programmazione Java fu sviluppato per la prima volta da Sun Microsystems. Il termine \u201capplet\u201d fu usato per la prima volta nel 1995, quando Java fu presentato al mondo come un nuovo linguaggio di programmazione progettato per Internet. L&#039;idea era quella di fornire una piccola applicazione (da qui il termine &quot;applet&quot;) che potesse essere incorporata in una pagina HTML ed eseguita all&#039;interno di un browser web.<\/p>\n<h2>Espansione sulle applet<\/h2>\n<p>Le applet, come gi\u00e0 accennato, sono piccoli programmi Java che possono essere integrati in una pagina HTML, eseguiti sul lato client e eseguiti da una Java Virtual Machine (JVM). Un&#039;applet pu\u00f2 essere eseguita in qualsiasi browser Web che supporti la JVM. Sono utilizzati per rendere le pagine web pi\u00f9 dinamiche e divertenti. Ad esempio, possono visualizzare grafica interattiva o eseguire calcoli in base all&#039;input dell&#039;utente.<\/p>\n<p>Un&#039;applet ha un ciclo di vita controllato dal browser e dalla JVM. Il ciclo di vita comprende quattro fasi: inizializzazione, avvio, arresto e distruzione. Un&#039;applet inizia la sua vita quando viene caricata e istanziata dalla JVM. Viene quindi inizializzato, avviato e visualizzato sulla pagina web. Quando l&#039;utente si allontana dalla pagina, l&#039;applet viene interrotta e quindi distrutta dalla JVM.<\/p>\n<h2>Il funzionamento interno di un&#039;applet<\/h2>\n<p>Un&#039;applet \u00e8 costituita da bytecode Java, che \u00e8 una rappresentazione del programma indipendente dalla piattaforma, e viene eseguito all&#039;interno di una JVM installata nel browser. Quando viene caricata una pagina Web contenente un&#039;applet, il plug-in Java del browser scarica il bytecode dell&#039;applet, avvia una JVM, quindi carica ed esegue l&#039;applet all&#039;interno della JVM.<\/p>\n<p>L&#039;applet interagisce con la pagina web tramite il Document Object Model (DOM) e pu\u00f2 anche comunicare con il server da cui \u00e8 stata caricata, tramite HTTP o altri protocolli internet. Tuttavia, per motivi di sicurezza, \u00e8 generalmente protetto da sandbox e non consente l&#039;accesso a file locali o ad alcune risorse di sistema.<\/p>\n<h2>Caratteristiche principali dell&#039;applet<\/h2>\n<ul>\n<li><strong>Indipendenza dalla piattaforma:<\/strong> Le applet sono scritte in Java, che \u00e8 indipendente dalla piattaforma. Possono essere eseguiti su qualsiasi dispositivo dotato di un browser che supporta la JVM.<\/li>\n<li><strong>Connettivit\u00e0 di rete:<\/strong> Le applet possono comunicare in rete, consentendo loro di far parte di applicazioni di rete.<\/li>\n<li><strong>Sicurezza in modalit\u00e0 sandbox:<\/strong> Operano all&#039;interno di una sandbox di sicurezza per impedire l&#039;accesso non autorizzato alle risorse di sistema, garantendo cos\u00ec la sicurezza dell&#039;utente.<\/li>\n<li><strong>Ricca interfaccia utente:<\/strong> Le applet possono creare interfacce utente grafiche complesse (GUI) e produrre animazioni fluide, rendendole adatte alla creazione di applicazioni interattive.<\/li>\n<\/ul>\n<h2>Tipi di applet<\/h2>\n<p>Esistono principalmente due tipi di applet:<\/p>\n<ol>\n<li>\n<p><strong>Applet locali:<\/strong> Non \u00e8 necessario che queste applet si connettano a Internet dopo essere state scaricate. Funzionano all&#039;interno del browser dell&#039;utente ed eseguono funzioni senza la necessit\u00e0 di connettersi a un server.<\/p>\n<\/li>\n<li>\n<p><strong>Applet remote:<\/strong> Queste applet richiedono una connettivit\u00e0 Internet costante. Comunicano con un server per svolgere le loro funzioni.<\/p>\n<\/li>\n<\/ol>\n<h2>Utilizzo dell&#039;applet e problemi associati<\/h2>\n<p>Gli applet vengono comunemente utilizzati per fornire funzionalit\u00e0 interattive sulle pagine Web, come giochi, calcolatrici, animazioni e mappe interattive. Possono essere utilizzati anche per attivit\u00e0 pi\u00f9 complesse come votazioni online, e-commerce e applicazioni desktop remote.<\/p>\n<p>Tuttavia, l\u2019uso degli applet \u00e8 diminuito nel corso degli anni a causa di diversi problemi:<\/p>\n<ul>\n<li><strong>Problemi di sicurezza:<\/strong> Nonostante vengano eseguite in una sandbox, le applet sono state utilizzate in passato per scopi dannosi, rendendo molti utenti e organizzazioni diffidenti nei loro confronti.<\/li>\n<li><strong>Prestazione:<\/strong> Poich\u00e9 le applet vengono eseguite sul lato client, possono essere lente da caricare e consumare notevoli risorse di sistema.<\/li>\n<li><strong>Dipendenza da Java:<\/strong> Gli utenti devono avere Java Runtime Environment (JRE) installato e configurato correttamente nei propri browser, il che pu\u00f2 rappresentare un compito complesso per gli utenti non tecnici.<\/li>\n<\/ul>\n<h2>Confronto dell&#039;applet con termini simili<\/h2>\n<p>Ecco un confronto tra applet con concetti simili:<\/p>\n<table>\n<thead>\n<tr>\n<th>Termine<\/th>\n<th>Definizione<\/th>\n<th>Esecuzione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Applet<\/td>\n<td>Una piccola applicazione incorporata in una pagina HTML, eseguita da una JVM in un browser web<\/td>\n<td>Dalla parte del cliente<\/td>\n<\/tr>\n<tr>\n<td>Servlet<\/td>\n<td>Un programma Java eseguito su un server, generalmente utilizzato per generare contenuto Web dinamico<\/td>\n<td>Lato server<\/td>\n<\/tr>\n<tr>\n<td>JavaScript<\/td>\n<td>Un linguaggio di scripting per pagine Web, gestito dal motore JavaScript del browser<\/td>\n<td>Dalla parte del cliente<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Prospettive future e tecnologie legate all&#039;applet<\/h2>\n<p>Il futuro delle applet \u00e8 incerto a causa dell&#039;avvento delle moderne tecnologie web come HTML5, CSS3 e JavaScript, che forniscono funzionalit\u00e0 simili senza richiedere agli utenti di installare una JVM o di gestire i problemi di sicurezza di Java.<\/p>\n<p>Tuttavia ci sono ancora aree in cui le applet hanno il sopravvento, come ad esempio le applicazioni complesse che richiedono tutta la potenza di Java. Inoltre, la tecnologia Java Web Start consente di avviare applicazioni Java complete di tutte le funzionalit\u00e0 direttamente dal browser Web, il che potrebbe portare alla rinascita di funzionalit\u00e0 simili a applet.<\/p>\n<h2>Applet e server proxy<\/h2>\n<p>Sebbene applet e server proxy siano tecnologie distinte, possono interagire in determinate situazioni. Un server proxy pu\u00f2 mediare la connessione tra un&#039;applet e il server con cui comunica, offrendo vantaggi come memorizzazione nella cache, filtraggio e maggiore sicurezza. Tuttavia, \u00e8 importante notare che l&#039;applet deve essere progettata per supportare i server proxy e il browser dell&#039;utente deve essere configurato per utilizzare il server proxy.<\/p>\n<h2>Link correlati<\/h2>\n<p>Per ulteriori informazioni sulle applet, considera queste risorse:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/deployment\/applet\/index.html\" target=\"_new\" rel=\"noopener nofollow\">Applet Java (documentazione Oracle)<\/a><\/li>\n<li><a href=\"https:\/\/www.geeksforgeeks.org\/java-applets-basics\" target=\"_new\" rel=\"noopener nofollow\">Java: nozioni di base sull&#039;applet (GeeksforGeeks)<\/a><\/li>\n<li><a href=\"https:\/\/www.tutorialspoint.com\/java\/java_appletbasics.htm\" target=\"_new\" rel=\"noopener nofollow\">Introduzione all&#039;applet Java (Tutorialspoint)<\/a><\/li>\n<\/ul>","protected":false},"featured_media":467622,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-475881","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>Applet: An Overview<\/mark>","faq_items":[{"question":"What is an Applet?","answer":"<p>An Applet is a small software application written in Java, designed to run within the context of a larger program, often a web browser. It provides rich, interactive features that the main program does not offer.<\/p>"},{"question":"When was the term \"Applet\" first used?","answer":"<p>The term \"Applet\" was first used in 1995, when Java was introduced to the world as a new programming language designed specifically for the internet.<\/p>"},{"question":"How does an Applet work?","answer":"<p>An Applet consists of Java bytecode that runs inside a Java Virtual Machine (JVM) installed in the browser. When a webpage containing an applet is loaded, the browser's Java plugin downloads the applet's bytecode, starts a JVM, and then loads and executes the applet within the JVM.<\/p>"},{"question":"What are the key features of an Applet?","answer":"<p>The key features of an Applet include platform independence, network connectivity, sandboxed security, and the ability to create rich user interfaces.<\/p>"},{"question":"What types of Applets exist?","answer":"<p>There are primarily two types of Applets: Local Applets, which run within the user's browser and perform functions without needing to connect to a server; and Remote Applets, which require constant internet connectivity and communicate with a server to perform their functions.<\/p>"},{"question":"What are the problems associated with the use of Applets?","answer":"<p>Some of the problems associated with the use of Applets include security issues, performance limitations, and a dependence on Java.<\/p>"},{"question":"How does an Applet compare with similar terms like Servlet and JavaScript?","answer":"<p>While an Applet is a small application that is embedded within an HTML page and run by a JVM in a web browser, a Servlet is a Java program that runs on a server, typically used to generate dynamic web content. On the other hand, JavaScript is a scripting language for web pages, run by the browser's JavaScript engine.<\/p>"},{"question":"What are the future perspectives and technologies related to Applet?","answer":"<p>The future of Applets is uncertain due to the rise of modern web technologies such as HTML5, CSS3, and JavaScript, which provide similar functionality without requiring users to install a JVM or deal with Java's security issues. However, areas requiring the full power of Java still prefer Applets.<\/p>"},{"question":"How can proxy servers be used or associated with Applets?","answer":"<p>A proxy server can mediate the connection between an Applet and the server it communicates with, providing benefits like caching, filtering, and enhanced security. However, it's important to note that the Applet must be designed to support proxy servers, and the user's browser must be configured to use the proxy server.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/it\/wp-json\/wp\/v2\/wiki\/475881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/it\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/it\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/it\/wp-json\/wp\/v2\/wiki\/475881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/it\/wp-json\/wp\/v2\/media\/467622"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/it\/wp-json\/wp\/v2\/media?parent=475881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}