0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
71 visualizzazioni54 pagine
Este documento resume la historia y características del lenguaje de programación Java. Explica que Java fue creado por Sun Microsystems en los años 90 para permitir el desarrollo de aplicaciones independientes de la plataforma. También describe las ventajas de Java sobre C++, como su enfoque en la seguridad, portabilidad y capacidad para aplicaciones web. Finalmente, resume los tipos principales de aplicaciones que se pueden desarrollar con Java, como applets, aplicaciones de escritorio, servlets y aplicaciones móviles.
Este documento resume la historia y características del lenguaje de programación Java. Explica que Java fue creado por Sun Microsystems en los años 90 para permitir el desarrollo de aplicaciones independientes de la plataforma. También describe las ventajas de Java sobre C++, como su enfoque en la seguridad, portabilidad y capacidad para aplicaciones web. Finalmente, resume los tipos principales de aplicaciones que se pueden desarrollar con Java, como applets, aplicaciones de escritorio, servlets y aplicaciones móviles.
Este documento resume la historia y características del lenguaje de programación Java. Explica que Java fue creado por Sun Microsystems en los años 90 para permitir el desarrollo de aplicaciones independientes de la plataforma. También describe las ventajas de Java sobre C++, como su enfoque en la seguridad, portabilidad y capacidad para aplicaciones web. Finalmente, resume los tipos principales de aplicaciones que se pueden desarrollar con Java, como applets, aplicaciones de escritorio, servlets y aplicaciones móviles.
1 El lengua|e )ava Por: Ing. Msc. Alberto MEDINA VILLACURTA Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 2 ConrenIdos Historia del lengua|e )ava 1 Caractersticas del lengua|e )ava 2 )ava y )avaScript 3 Seguridad en )ava 4 Tipos de aplicaciones )ava 5 La Mquina Virtual de )ava 6 Kit de desarrollo de )ava 7 Versiones de )ava 8 Plataformas, editores y entornos 9 Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 3 HIsrorIa de Java De donde procede )ava? Antes de los aos 80 {antes de )ava] reinaban los lengua|es de programacin estructurada. El lengua|e C era el ms popular debido a su versatilidad {Intermedio]. El problema en general era el tamao de los programas que eran difciles de mantener. Se me|or en algo con el uso de tcnicas de programacin estructurada y modular. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 4 HIsrorIa de Java Finalmente fu la PUU la que me|or notablemente la situacin. La PUU permite bacer programas muy parecidos al pensamiento bumano. Su principal virtud es que simplifica el problema dividindolo en ob|etos que se programan en forma autnoma. Como solucin se adapt la PUU a los lengua|es existentes. El ms famoso fu C++, adapt C a la PUU. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 5 HIsrorIa de Java En C y )ava: ++ significa incrementar. C++ aadi a C: soporte a ob|etos, libreras de clases de ob|etos, todo lo bueno de C. C++ fu el lengua|e de programacin ms popular a principios de los aos 90. Utras adaptaciones famosas fueron: Paso de Pascal a Turbo Pascal y finalmente a Visual Delpbi. Paso de BASIC a Quick BASIC y luego a Visual BASIC {Abora parte de Visual Studio] Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 6 C++ vs. Java VENTA)AS Aadir soporte de PUU incluida la berencia mltiple. Creacin de potentes bibliotecas por parte de desarrolladores {p.e. MFC]. Se permita escribir cdigo en C. Era muy veloz. DESVENTA)AS Es compilado y produce un e|ecutable vlido solo para una plataforma en concreto. Es bbrido. Es inseguro. No es apropiado para la Web. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 7 HIsrorIa de Java En 1991 se cre Uak en Sun Microsystems . Pretenda crear un sistema de TV inter- activa {solo se us internamente]. Su propsito era crear un lengua|e independiente de la plataforma para uso en dispositivos electrnicos. Sun deseaba un lengua|e para programar pequeos dispositivos electrnicos, que cambiaban continuamente y requeran reescribir el cdigo. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 8 HIsrorIa de Java En 1995 pasa a llamarse )ava y se da a conocer al pblico en el Sun World '95, y supuso un xito casi inmediato, el ao 2009 fue comprada por Uracle. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 9 HIsrorIa de Java Adopt un modelo que lo bizo perfecto para la red Internet, el modelo "bytecode". )ava pasa a ser un lengua|e totalmente independiente de la plataforma y a la vez potente y orientado a ob|etos. Su facilidad para crear aplicaciones para redes TCPJIP lo ban encumbrado. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 10 CaraerersrIeas )ava se dise para parecerse a C y C++ de modo que su aprendiza|e sea fcil. En )ava No es necesario liberar memoria. No se usa la aritmtica de punteros. No se usan referencias, registros, definiciones de tipo, ni macros. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 11 CaraerersrIeas Para programar en )ava bay que valerse del uso de clase y ob|etos. Las bibliotecas de aplicaciones de red o APIs facilitan traba|ar con protocolos desde ba|o nivel como TCPJIP o de alto nivel como HTTP o FTP. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 12 CaraerersrIeas La e|ecucin de un programa tiene 2 partes: El compilador convierte el cdigo fuente a un tipo de lengua|e de ba|o nivel {bytecode] y para ser e|ecutado el programa se usa un interprete que e|ecuta el bytecode compilado, se trata del )VM o mquina virtual de )ava. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 13 CaraerersrIeas )ava no solo verifica el cdigo para encontrar problemas en tiempo de compilacin, tambin busca errores en tiempo de e|ecucin, la comprobacin de tipos en )ava ayuda a detectar errores lo antes posible en tiempo de desarrollo. Diseado para redes, tiene restricciones de seguridad, verifica que el bytecode cargado no viola ninguna restriccin de )ava Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 14 CaraerersrIeas La capacidad para e|ecutar varias procesos al mismo tiempo esta incluida en )ava a travs de algunos paquetes incluidos. Internet tiene computadoras de diferente tipo, arquitectura, sistema operativo, etc. )ava es capaz de correr en cualquier tipo de PC sin tener que recompilar el cdigo, mediante su bytecode de arquitectura neutral . Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 15 Venra]as sobre C++ Su sintxis es similar a C y C++. No usa punteros, lo que lo bace ms seguro. Es totalmente orientado a ob|etos. Es muy preparado para aplicaciones TCPJIP. Implementa excepciones de forma nativa. Es interpretado, lo que acelera su e|ecucin remota, aunque es ms lenta que las aplicaciones de C++ en un ordenador local. Permite multibilos. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 16 Venra]as sobre C++ Admite firmas digitales. Los tipos de datos y control de sintaxis son ms rigurosos. Es independiente de la plataforma. El cdigo )ava no se compila sino se pre- compila, de este modo se crea un cdigo intermedio no e|ecutable {bytecodes] , para e|ecutarlo se pasa por un intrprete que e|ecuta cada linea, este interprete suele ser la mquina virtual de |ava {)VM]. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 17 Venra]as sobre C++ La versin actual es )ava 2, que incorpora la compilacin al instante o )ust In Time {)IT] en la )VM, de modo que los bytecodes no se interpretan uno a uno sino en secciones siendo compilados en forma interactiva por lo que el programa se e|ecuta ms rpido. El uso de bytecodes bace los programas )ava ms compactos y como tal son ideales para la red Internet. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 18 Java y JavaSerIpr La confusin se debe al parecido en el nombre )ava y )avaScript no tienen nada que ver entre si. )ava fue creado en Sun Microsystems, abora es de Uracle. )avaScript fue creada por NetScape. )ava es un lengua|e completo para crear todo tipo de aplicaciones completas. )avaScript es cdigo que est inmerso en una pgina Web. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 19 Java y JavaSerIpr La finalidad de )ava es crear aplicaciones de todo tipo, aunque est muy preparado para crear sobre todo aplicaciones en red. La finalidad de )avaScript es me|orar el dinamismo de las pginas web. La sintaxis de ambos lengua|es se parecen apenas. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 20 Java y JavaSerIpr Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 21 SegurIdad en Java Dado que los programas de )ava no son e|ecutables bay posibilidades de controlar la seguridad . Al interpretar el cdigo la )VM puede delimitar las operaciones peligrosas con lo que la seguridad se controla fcilmente. )ava elimina instrucciones dependientes de la mquina y los punteros que dan la posibilidad de generar programas para atacar sistemas. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 22 SegurIdad en Java No permite el acceso directo a memoria. La primer linea de seguridad es un verificador del bytecode que comprueba si el comportamiento del cdigo es correcto y sigue las reglas de )ava. El segundo paso es el verificador de clases, es un programa que proporciona las clases necesarias al cdigo, que se asegura que las clases que se cargan son originales y no creadas y reemplazadas artificialmente. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 23 SegurIdad en Java Finalmente bay un administrador de seguridad que es un programa configurable que permite al usuario indicar los niveles de seguridad a su sistema para todos los programas )ava. Utra forma es relacionada con la confianza, se basa en saber que el cdigo procede de un sitio de confianza y no de una fuente no identificada, )ava permite aadir firmas digitales que permiten verificar al autor. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 24 ApIIeaeIones Java Se refiere a los tipos de aplicaciones )ava Applets: Son aplicaciones embebidas en una pgina Web que se e|ecutan en el cliente, son programas )ava pensados para ser colocados dentro de una pgina Web. Son interpretados por cualquier navegador con capacidades )ava. Los programas se insertan utilizando una etiqueta especial, como se insertan videos, animaciones flasb u otros ob|etos. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 25 ApIIeaeIones Java Son programas independientes , pero al estar incluidos en una pgina Web, las reglas de stas le afectan. Normalmente un applet solo puede actuar sobre el navegador. Permiten integrar en las pginas Web aplicaciones multimedia avanzados incluyendo imgenes 3D y sonido y video de alta calidad. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 26 ApIIeaeIones Java Aplicaciones de consola: Son programas basados en texto que se e|ecutan desde la linea de comandos, pueden leer y mostrar texto en la consola del sistema. Aplicaciones grficas: Hacen uso de las clases y ob|etos con capacidades grficas y permiten crear aplicaciones CUI. {AWT] Servlets: Se e|ecutan en un servidor de aplicaciones Web y como resultado de su e|ecucin se obtiene una pgina Web. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 27 ApIIeaeIones Java Aplicaciones para mviles: Son programas que pueden ser utilizadas en dispositivos mviles como ipod, celulares, PDA, etc. Requieren )2ME o Micro Edition que es un software especializado {)2ME Wireless Toolkit u otro similar] para realizar el diseo y la compilacin del programa, siguiendo sintaxis especfica del lengua|e )ava. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 28 Ing. Msc. Alberto MEDINA VILLACURTA )ava Virtual Macbine {)VM] Los programas de C y C++ son totalmente e|ecutables y por ello dependen de la plataforma y su tamao es grande ya que incluye libreras en la solucin final. Los programas )ava no son e|ecutables, no se compilan como en C o C++, en su lugar son interpretados por la )VM, no incluyen las libreras de la plataforma. )ava es un lengua|e interpretado. La MquIna VIrruaI de Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 29 Ing. Msc. Alberto MEDINA VILLACURTA El cdigo fuente en )ava se precompila generando un cdigo semicompilado que no es directamente e|ecutable conocido como bytecodes, los que son conocidos tambin como bytecode o )code. El resultado se genera en arcbivos .class y es el que es e|ecutado por la )VM. La )VM interpreta las instrucciones de los bytecodes y e|ecuta el cdigo de la aplicacin. La MquIna VIrruaI de Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 30 Ing. Msc. Alberto MEDINA VILLACURTA El bytecode se puede e|ecutar en cualquier plataforma, lo nico que se requiere es que la plataforma posea un interprete adecuado. La )VM es un programa muy pequeo y se distribuye gratuitamente para casi todos los sistemas operativos. A este mtodo de e|ecucin de programas en tiempo real se denomina )ust in time {)IT]. La MquIna VIrruaI de Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 31 Ing. Msc. Alberto MEDINA VILLACURTA En )ava la unidad fundamental del cdigo son las clases. Las clases son las que se distribuyen en el formato bytecode de )ava. Las clases se cargan dinmicamente durante la e|ecucin del programa )ava. La MquIna VIrruaI de Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 32 Ing. Msc. Alberto MEDINA VILLACURTA La MquIna VIrruaI Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 33 Ing. Msc. Alberto MEDINA VILLACURTA La MquIna VIrruaI Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 34 Ing. Msc. Alberto MEDINA VILLACURTA La MquIna VIrruaI Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 35 Ing. Msc. Alberto MEDINA VILLACURTA )DK= )ava Development Kit, paquete de desarrollo de )ava. Es el software que permite desarrollar el compilado y e|ecucin de los programas )ava. Hay entornos para crear los bytecodes y que incluyen berramientas con capacidad de e|ecutar aplicaciones de todo tipo. )DK {antes de Sun Microsystems] abora de Uracle es el ms famoso y gratuito. KId de desarroIIo de Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 36 Ing. Msc. Alberto MEDINA VILLACURTA )DK se puede descargar de la sitio oficial de )ava en: bttp:JJwww.oracle.comJtecbnetworkJ|avaJindex.btml Descargas directamente en: bttp:JJwww.oracle.comJtecbnetworkJ|avaJ|avaseJ downloadsJindex.btml Incluye visores de cdigo, depuradores y otras utilidades. Actualmente se le conoce como SDK {Standard Development Kit ] KId de desarroIIo de Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 37 Ing. Msc. Alberto MEDINA VILLACURTA EI sIrIo otIeIaI de Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 38 VersIones de Java Para crear los bytecodes, bace falta el )DK de Uracle, este se actualiza, me|ora y renueva constantemente. Por ello se babla de )ava 1.1, )ava 1.2, etc. )DK evoluciona permanentemente bacia nuevas versiones, actualmente se babla de )ava 2. Desde la versin )ava 1.2 es conocida como )ava 2 y el )DK se llama )ava 2 Developer Kit o )2DK. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 39 VersIones de Java )ava 1.0 fue la primera versin y propuso el marco general en el que se desenvuelve )ava. )ava 1.0 est oficialmente obsoleto pero bay mucbos clientes con esa versin. )ava 1.1 super la versin anterior incorporando entre otras las siguientes me|oras: Incluye el paquete AWT {Abstract Windowing ToolKit] que permite crear interfases grficas de usuario {CUI]. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 40 VersIones de Java )DBC {)ava Database Connectivity] que es soportado de forma nativa por Internet Explorer y Netscape. RMI {Remote Metbod Invocation]: Mtodo remoto de llamada, permite que un ob|eto que se e|ecuta en una )VM pueda invocar mtodos de un ob|eto en e|ecucin en otra )VM o servidor. Internalizacin: permite crear programas adaptables a todos los idiomas y creacin de applets locales. En diciembre de 1998 aparece )ava 1.2 Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 41 VersIones de Java A sta versin se le conoce como )ava 2 Incorpora las siguientes me|oras: )FC {)ava Fundation Class] Con|unto de clases DETUDU para crear programas ms atractivos de todo tipo. El paquete swing {la ms importante], permite bacer lo mismo que AWT pero superndolo ampliamente. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 42 VersIones de Java Enterprise )avaBeans, para la creacin de componentes de aplicaciones distribuidas en el lado del servidor. )ava Media, con|unto de paquetes para crear paquetes multimedia. )ava 2D, parte de )FC que permite crear grficos de alta calidad en programas )ava. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 43 VersIones de Java )ava Media Framework, paquete marco para elementos multimedia. )ava Speecb, reconocimiento de voz. )ava Sound, mane|o de audio de alta calidad. )ava TV, televisin interactiva. )ava servlets, berramienta para crear aplicaciones de servidor Web y otros tipos. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 44 VersIones de Java )ava belp, permite la creacin de sistemas de ayuda. )ava card, versin de )ava dirigida a pequeos dispositivos electrnicos. Etc, etc. La versin actual de )ava es la Versin 8 Update 20 del 19 de agosto de 2014. Para traba|ar correctamente los interpretes de cdigo deben ser compatibles con estas versiones. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 45 PIaratormas Java Actualmente bay varias ediciones del )2DK de )ava, las ms usadas son: )2SE o Standart Edition, es la plataforma )ava estndar, para creacin de applets y aplicaciones en lengua|e )ava. )2EE o Enterprise Edition, para la creacin de aplicaciones empresariales y del lado del servidor. )2ME o Micro Edition, para la creacin de aplicaciones para dispositivos mviles. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 46 La PIaratorma Java Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 47 EdIrores y Enrornos El cdigo )ava se escribe en un editor de texto, para compilarlo a bytecode se requiere el )DK, sta tarea se facilita con IDEs com: NetBeans: Entorno gratuito de cdigo abierto para generacin de bytecodes, su IDE tiene: Editor avanzado de cdigo. Depurador de diversos lengua|es Extensiones de todo tipo y TomCat, un servidor de aplicaciones. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 48 EdIrores y Enrornos Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 49 EdIrores y Enrornos Eclipse, entorno completo de cdigo abierto que admite numerosas extensiones incluido un mdulo para )2SE, es uno de los ms usados por su compatibilidad con aplicaciones )ava y por sus interesantes opciones de ayuda al escribir cdigo. Sun UNE Studio, entorno para la creacin de aplicaciones )ava, creada por la Sun Mic. A partir de NetBeans. {No es gratuita], implicada con los servidores UNE de )ava. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 50 EdIrores y Enrornos Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 51 EdIrores y Enrornos Borland )Builder, entorno completo creada por Borland {Delpbi], IDE para crear todo tipo de aplicaciones )ava incluso para mviles. Uracle )Developer, entorno completo para la creacin de aplicaciones )ava y XML, ideal para programadores de Uracle. Visual ACE, entorno de programacin de )ava creada por IBM, la ms antigua. Visual Cafe, Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 52 EdIrores y Enrornos Visual )#.NET, y Visual )++, {No son estndar]. Intelli) Idea, Kawa PRU, )Creator, editor comercial muy potente y de ba|o precio, no es un IDE completo lo que lo bace muy ligero y funciona en cualquier mquina. Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 53 EdIrores y Enrornos Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014 54