{"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\/pt\/wiki\/applet\/","title":{"rendered":"Miniaplicativo"},"content":{"rendered":"<p>Um Applet \u00e9 um tipo de software projetado para ser executado no contexto de um programa maior, geralmente um navegador da Web, fornecendo recursos ricos e interativos que o programa principal em si n\u00e3o oferece. Escritos na linguagem de programa\u00e7\u00e3o Java, os miniaplicativos s\u00e3o usados principalmente na computa\u00e7\u00e3o em rede. Eles podem responder \u00e0s entradas do usu\u00e1rio, como cliques do mouse ou pressionamentos de teclas, e tamb\u00e9m podem interagir com outros miniaplicativos na mesma p\u00e1gina da web.<\/p>\n<h2>Antecedentes hist\u00f3ricos do miniaplicativo<\/h2>\n<p>A hist\u00f3ria dos miniaplicativos remonta a meados da d\u00e9cada de 1990, quando a linguagem de programa\u00e7\u00e3o Java foi desenvolvida pela primeira vez pela Sun Microsystems. O termo \u201capplet\u201d foi usado pela primeira vez em 1995, quando Java foi apresentado ao mundo como uma nova linguagem de programa\u00e7\u00e3o projetada para a Internet. O conceito era fornecer um pequeno aplicativo (da\u00ed o termo \u201capplet\u201d) que pudesse ser incorporado em uma p\u00e1gina HTML e executado em um navegador da web.<\/p>\n<h2>Expandindo em miniaplicativos<\/h2>\n<p>Applets, conforme mencionado acima, s\u00e3o pequenos programas Java que podem ser integrados a uma p\u00e1gina HTML, executados no lado do cliente e executados por uma Java Virtual Machine (JVM). Um miniaplicativo pode ser executado em qualquer navegador da Web que suporte JVM. Eles s\u00e3o usados para tornar as p\u00e1ginas da web mais din\u00e2micas e divertidas. Por exemplo, eles podem exibir gr\u00e1ficos interativos ou realizar c\u00e1lculos com base na entrada do usu\u00e1rio.<\/p>\n<p>Um miniaplicativo tem um ciclo de vida controlado pelo navegador e pela JVM. O ciclo de vida inclui quatro est\u00e1gios: inicializa\u00e7\u00e3o, in\u00edcio, parada e destrui\u00e7\u00e3o. Um miniaplicativo come\u00e7a sua vida quando \u00e9 carregado e instanciado pela JVM. Em seguida, ele \u00e9 inicializado, iniciado e exibido na p\u00e1gina da web. Quando o usu\u00e1rio sai da p\u00e1gina, o miniaplicativo \u00e9 interrompido e destru\u00eddo pela JVM.<\/p>\n<h2>O funcionamento interno de um miniaplicativo<\/h2>\n<p>Um applet consiste em bytecode Java, que \u00e9 uma representa\u00e7\u00e3o do programa independente de plataforma, e \u00e9 executado dentro de uma JVM instalada no navegador. Quando uma p\u00e1gina da web contendo um miniaplicativo \u00e9 carregada, o plug-in Java do navegador baixa o bytecode do miniaplicativo, inicia uma JVM e, em seguida, carrega e executa o miniaplicativo dentro da JVM.<\/p>\n<p>O applet interage com a p\u00e1gina web atrav\u00e9s do Document Object Model (DOM) e tamb\u00e9m pode se comunicar com o servidor do qual foi carregado, via HTTP ou outros protocolos de internet. No entanto, por motivos de seguran\u00e7a, ele normalmente fica em \u00e1rea restrita e tem acesso restrito a arquivos locais ou determinados recursos do sistema.<\/p>\n<h2>Principais recursos do miniaplicativo<\/h2>\n<ul>\n<li><strong>Independ\u00eancia da plataforma:<\/strong> Os miniaplicativos s\u00e3o escritos em Java, que \u00e9 independente de plataforma. Eles podem ser executados em qualquer dispositivo que possua um navegador compat\u00edvel com JVM.<\/li>\n<li><strong>Conectividade de rede:<\/strong> Os miniaplicativos podem se comunicar pela rede, permitindo que fa\u00e7am parte de aplicativos em rede.<\/li>\n<li><strong>Seguran\u00e7a em sandbox:<\/strong> Eles operam dentro de uma \u00e1rea restrita de seguran\u00e7a para impedir o acesso n\u00e3o autorizado aos recursos do sistema, garantindo assim a seguran\u00e7a do usu\u00e1rio.<\/li>\n<li><strong>Interface de usu\u00e1rio rica:<\/strong> Os miniaplicativos podem criar interfaces gr\u00e1ficas de usu\u00e1rio (GUIs) complexas e produzir anima\u00e7\u00f5es suaves, tornando-os adequados para a cria\u00e7\u00e3o de aplicativos interativos.<\/li>\n<\/ul>\n<h2>Tipos de miniaplicativos<\/h2>\n<p>Existem basicamente dois tipos de miniaplicativos:<\/p>\n<ol>\n<li>\n<p><strong>Miniaplicativos locais:<\/strong> Esses miniaplicativos n\u00e3o precisam se conectar \u00e0 Internet ap\u00f3s serem baixados. Eles s\u00e3o executados no navegador do usu\u00e1rio e executam fun\u00e7\u00f5es sem a necessidade de conex\u00e3o a um servidor.<\/p>\n<\/li>\n<li>\n<p><strong>Miniaplicativos remotos:<\/strong> Esses miniaplicativos requerem conectividade constante com a Internet. Eles se comunicam com um servidor para executar suas fun\u00e7\u00f5es.<\/p>\n<\/li>\n<\/ol>\n<h2>Uso de miniaplicativo e problemas associados<\/h2>\n<p>Os miniaplicativos s\u00e3o comumente usados para fornecer recursos interativos em p\u00e1ginas da web, como jogos, calculadoras, anima\u00e7\u00f5es e mapas interativos. Eles tamb\u00e9m podem ser usados para tarefas mais complexas, como vota\u00e7\u00e3o online, com\u00e9rcio eletr\u00f4nico e aplicativos de desktop remoto.<\/p>\n<p>No entanto, o uso de miniaplicativos diminuiu ao longo dos anos devido a v\u00e1rios problemas:<\/p>\n<ul>\n<li><strong>Problemas de seguran\u00e7a:<\/strong> Apesar de serem executados em uma sandbox, os miniaplicativos foram usados no passado para fins maliciosos, fazendo com que muitos usu\u00e1rios e organiza\u00e7\u00f5es os desconfiassem.<\/li>\n<li><strong>Desempenho:<\/strong> Como os miniaplicativos s\u00e3o executados no lado do cliente, seu carregamento pode ser lento e consumir recursos significativos do sistema.<\/li>\n<li><strong>Depend\u00eancia de Java:<\/strong> Os usu\u00e1rios devem ter um Java Runtime Environment (JRE) instalado e configurado corretamente em seus navegadores, o que pode ser uma tarefa complexa para usu\u00e1rios n\u00e3o t\u00e9cnicos.<\/li>\n<\/ul>\n<h2>Compara\u00e7\u00e3o de miniaplicativo com termos semelhantes<\/h2>\n<p>Aqui est\u00e1 uma compara\u00e7\u00e3o de miniaplicativos com conceitos semelhantes:<\/p>\n<table>\n<thead>\n<tr>\n<th>Prazo<\/th>\n<th>Defini\u00e7\u00e3o<\/th>\n<th>Execu\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Miniaplicativo<\/td>\n<td>Um pequeno aplicativo incorporado em uma p\u00e1gina HTML, executado por uma JVM em um navegador da web<\/td>\n<td>Lado do cliente<\/td>\n<\/tr>\n<tr>\n<td>Servlets<\/td>\n<td>Um programa Java executado em um servidor, normalmente usado para gerar conte\u00fado din\u00e2mico da web<\/td>\n<td>Lado do servidor<\/td>\n<\/tr>\n<tr>\n<td>JavaScript<\/td>\n<td>Uma linguagem de script para p\u00e1ginas da web, executada pelo mecanismo JavaScript do navegador<\/td>\n<td>Lado do cliente<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Perspectivas Futuras e Tecnologias Relacionadas ao Applet<\/h2>\n<p>O futuro dos miniaplicativos \u00e9 incerto devido ao surgimento de tecnologias web modernas, como HTML5, CSS3 e JavaScript, que fornecem funcionalidades semelhantes sem exigir que os usu\u00e1rios instalem uma JVM ou lidem com problemas de seguran\u00e7a do Java.<\/p>\n<p>No entanto, ainda existem \u00e1reas em que os miniaplicativos t\u00eam vantagem, como aplicativos complexos que exigem todo o poder do Java. Al\u00e9m disso, a tecnologia Java Web Start permite lan\u00e7ar aplicativos Java completos diretamente do navegador da web, o que pode trazer um ressurgimento de funcionalidades semelhantes a miniaplicativos.<\/p>\n<h2>Miniaplicativos e servidores proxy<\/h2>\n<p>Embora os miniaplicativos e os servidores proxy sejam tecnologias distintas, eles podem interagir em determinadas situa\u00e7\u00f5es. Um servidor proxy pode mediar a conex\u00e3o entre um miniaplicativo e o servidor com o qual ele se comunica, proporcionando benef\u00edcios como cache, filtragem e seguran\u00e7a aprimorada. Entretanto, \u00e9 importante observar que o applet deve ser projetado para suportar servidores proxy e o navegador do usu\u00e1rio deve ser configurado para usar o servidor proxy.<\/p>\n<h2>Links Relacionados<\/h2>\n<p>Para obter mais informa\u00e7\u00f5es sobre miniaplicativos, considere estes recursos:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/deployment\/applet\/index.html\" target=\"_new\" rel=\"noopener nofollow\">Applets Java (documenta\u00e7\u00e3o Oracle)<\/a><\/li>\n<li><a href=\"https:\/\/www.geeksforgeeks.org\/java-applets-basics\" target=\"_new\" rel=\"noopener nofollow\">Java: no\u00e7\u00f5es b\u00e1sicas de miniaplicativos (GeeksforGeeks)<\/a><\/li>\n<li><a href=\"https:\/\/www.tutorialspoint.com\/java\/java_appletbasics.htm\" target=\"_new\" rel=\"noopener nofollow\">Introdu\u00e7\u00e3o ao miniaplicativo Java (ponto do tutorial)<\/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\/pt\/wp-json\/wp\/v2\/wiki\/475881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki\/475881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/media\/467622"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/media?parent=475881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}