{"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\/es\/wiki\/applet\/","title":{"rendered":"subprograma"},"content":{"rendered":"<p>Un Applet es un tipo de software dise\u00f1ado para ejecutarse en el contexto de un programa m\u00e1s grande, a menudo un navegador web, que proporciona caracter\u00edsticas ricas e interactivas que el programa principal en s\u00ed no ofrece. Escritos en el lenguaje de programaci\u00f3n Java, los applets se utilizan principalmente en inform\u00e1tica en red. Pueden responder a las entradas del usuario, como clics del mouse o pulsaciones de teclas, y tambi\u00e9n pueden interactuar con otros subprogramas en la misma p\u00e1gina web.<\/p>\n<h2>Antecedentes hist\u00f3ricos del subprograma<\/h2>\n<p>La historia de los applets se remonta a mediados de la d\u00e9cada de 1990, cuando Sun Microsystems desarroll\u00f3 por primera vez el lenguaje de programaci\u00f3n Java. El t\u00e9rmino &quot;applet&quot; se utiliz\u00f3 por primera vez en 1995, cuando Java se present\u00f3 al mundo como un nuevo lenguaje de programaci\u00f3n dise\u00f1ado para Internet. El concepto era proporcionar una peque\u00f1a aplicaci\u00f3n (de ah\u00ed el t\u00e9rmino &quot;applet&quot;) que pudiera integrarse en una p\u00e1gina HTML y ejecutarse en un navegador web.<\/p>\n<h2>Ampliando los applets<\/h2>\n<p>Los applets, como se mencion\u00f3 anteriormente, son peque\u00f1os programas Java que pueden integrarse en una p\u00e1gina HTML, ejecutarse en el lado del cliente y ejecutarse mediante una m\u00e1quina virtual Java (JVM). Un subprograma se puede ejecutar en cualquier navegador web que admita JVM. Se utilizan para hacer las p\u00e1ginas web m\u00e1s din\u00e1micas y entretenidas. Por ejemplo, pueden mostrar gr\u00e1ficos interactivos o realizar c\u00e1lculos basados en la entrada del usuario.<\/p>\n<p>Un subprograma tiene un ciclo de vida controlado por el navegador y la JVM. El ciclo de vida incluye cuatro etapas: inicializaci\u00f3n, inicio, parada y destrucci\u00f3n. Un subprograma comienza su vida cuando la JVM lo carga y lo crea una instancia. Luego se inicializa, inicia y muestra en la p\u00e1gina web. Cuando el usuario sale de la p\u00e1gina, la JVM detiene el subprograma y luego lo destruye.<\/p>\n<h2>El funcionamiento interno de un subprograma<\/h2>\n<p>Un subprograma consta de un c\u00f3digo de bytes de Java, que es una representaci\u00f3n del programa independiente de la plataforma, y se ejecuta dentro de una JVM instalada en el navegador. Cuando se carga una p\u00e1gina web que contiene un subprograma, el complemento Java del navegador descarga el c\u00f3digo de bytes del subprograma, inicia una JVM y luego carga y ejecuta el subprograma dentro de la JVM.<\/p>\n<p>El subprograma interact\u00faa con la p\u00e1gina web a trav\u00e9s del Modelo de objetos de documento (DOM) y tambi\u00e9n puede comunicarse con el servidor desde el que se carg\u00f3, a trav\u00e9s de HTTP u otros protocolos de Internet. Sin embargo, por razones de seguridad, normalmente est\u00e1 protegido y tiene restringido el acceso a archivos locales o ciertos recursos del sistema.<\/p>\n<h2>Caracter\u00edsticas clave del subprograma<\/h2>\n<ul>\n<li><strong>Independencia de plataforma:<\/strong> Los applets est\u00e1n escritos en Java, que es independiente de la plataforma. Pueden ejecutarse en cualquier dispositivo que tenga un navegador compatible con JVM.<\/li>\n<li><strong>Conectividad de red:<\/strong> Los applets pueden comunicarse a trav\u00e9s de la red, lo que les permite formar parte de aplicaciones en red.<\/li>\n<li><strong>Seguridad en el espacio aislado:<\/strong> Operan dentro de un entorno limitado de seguridad para evitar el acceso no autorizado a los recursos del sistema, garantizando as\u00ed la seguridad del usuario.<\/li>\n<li><strong>Interfaz de usuario enriquecida:<\/strong> Los applets pueden crear interfaces gr\u00e1ficas de usuario (GUI) complejas y producir animaciones fluidas, lo que los hace adecuados para crear aplicaciones interactivas.<\/li>\n<\/ul>\n<h2>Tipos de subprogramas<\/h2>\n<p>Existen principalmente dos tipos de subprogramas:<\/p>\n<ol>\n<li>\n<p><strong>Subprogramas locales:<\/strong> Estos subprogramas no necesitan conectarse a Internet despu\u00e9s de descargarlos. Se ejecutan dentro del navegador del usuario y realizan funciones sin necesidad de conectarse a un servidor.<\/p>\n<\/li>\n<li>\n<p><strong>Applets remotos:<\/strong> Estos subprogramas requieren conectividad constante a Internet. Se comunican con un servidor para realizar sus funciones.<\/p>\n<\/li>\n<\/ol>\n<h2>Uso de Applet y problemas asociados<\/h2>\n<p>Los applets se utilizan com\u00fanmente para proporcionar funciones interactivas en p\u00e1ginas web, como juegos, calculadoras, animaciones y mapas interactivos. Tambi\u00e9n se pueden utilizar para tareas m\u00e1s complejas como votaci\u00f3n en l\u00ednea, comercio electr\u00f3nico y aplicaciones de escritorio remoto.<\/p>\n<p>Sin embargo, el uso de applets ha ido disminuyendo con el paso de los a\u00f1os debido a varios problemas:<\/p>\n<ul>\n<li><strong>Temas de seguridad:<\/strong> A pesar de ejecutarse en un entorno limitado, los subprogramas se han utilizado en el pasado con fines maliciosos, lo que ha hecho que muchos usuarios y organizaciones desconf\u00eden de ellos.<\/li>\n<li><strong>Actuaci\u00f3n:<\/strong> Como los subprogramas se ejecutan en el lado del cliente, su carga puede ser lenta y consumir importantes recursos del sistema.<\/li>\n<li><strong>Dependencia de Java:<\/strong> Los usuarios deben tener un Java Runtime Environment (JRE) instalado y configurado correctamente en sus navegadores, lo que puede ser una tarea compleja para usuarios no t\u00e9cnicos.<\/li>\n<\/ul>\n<h2>Comparaci\u00f3n de Applet con t\u00e9rminos similares<\/h2>\n<p>Aqu\u00ed hay una comparaci\u00f3n de subprogramas con conceptos similares:<\/p>\n<table>\n<thead>\n<tr>\n<th>T\u00e9rmino<\/th>\n<th>Definici\u00f3n<\/th>\n<th>Ejecuci\u00f3n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>subprograma<\/td>\n<td>Una peque\u00f1a aplicaci\u00f3n integrada en una p\u00e1gina HTML, ejecutada por una JVM en un navegador web.<\/td>\n<td>Lado del cliente<\/td>\n<\/tr>\n<tr>\n<td>servlet<\/td>\n<td>Un programa Java que se ejecuta en un servidor, normalmente utilizado para generar contenido web din\u00e1mico.<\/td>\n<td>Lado del servidor<\/td>\n<\/tr>\n<tr>\n<td>javascript<\/td>\n<td>Un lenguaje de programaci\u00f3n para p\u00e1ginas web, ejecutado por el motor JavaScript del navegador.<\/td>\n<td>Lado del cliente<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Perspectivas de futuro y tecnolog\u00edas relacionadas con Applet<\/h2>\n<p>El futuro de los applets es incierto debido al auge de las tecnolog\u00edas web modernas como HTML5, CSS3 y JavaScript, que proporcionan una funcionalidad similar sin necesidad de que los usuarios instalen una JVM o tengan que lidiar con los problemas de seguridad de Java.<\/p>\n<p>Sin embargo, todav\u00eda hay \u00e1reas en las que los applets tienen ventaja, como las aplicaciones complejas que requieren toda la potencia de Java. Adem\u00e1s, la tecnolog\u00eda Java Web Start permite iniciar aplicaciones Java con todas las funciones directamente desde el navegador web, lo que puede traer un resurgimiento de la funcionalidad tipo subprograma.<\/p>\n<h2>Applets y servidores proxy<\/h2>\n<p>Si bien los subprogramas y los servidores proxy son tecnolog\u00edas distintas, pueden interactuar en determinadas situaciones. Un servidor proxy puede mediar en la conexi\u00f3n entre un subprograma y el servidor con el que se comunica, proporcionando beneficios como almacenamiento en cach\u00e9, filtrado y seguridad mejorada. Sin embargo, es importante tener en cuenta que el subprograma debe estar dise\u00f1ado para admitir servidores proxy y el navegador del usuario debe estar configurado para utilizar el servidor proxy.<\/p>\n<h2>enlaces relacionados<\/h2>\n<p>Para obtener m\u00e1s informaci\u00f3n sobre los applets, considere estos recursos:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/deployment\/applet\/index.html\" target=\"_new\" rel=\"noopener nofollow\">Applets de Java (documentaci\u00f3n de Oracle)<\/a><\/li>\n<li><a href=\"https:\/\/www.geeksforgeeks.org\/java-applets-basics\" target=\"_new\" rel=\"noopener nofollow\">Java: conceptos b\u00e1sicos de subprogramas (GeeksforGeeks)<\/a><\/li>\n<li><a href=\"https:\/\/www.tutorialspoint.com\/java\/java_appletbasics.htm\" target=\"_new\" rel=\"noopener nofollow\">Introducci\u00f3n al subprograma de Java (punto de 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\/es\/wp-json\/wp\/v2\/wiki\/475881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/es\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/es\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/es\/wp-json\/wp\/v2\/wiki\/475881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/es\/wp-json\/wp\/v2\/media\/467622"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/es\/wp-json\/wp\/v2\/media?parent=475881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}