0
Introducción a la Tecnología Java Miguel Angel Frías Bonfil OSUM Leader UAG Tabasco [email_address]
<ul><ul><li>¿Por qué Java? </li></ul></ul><ul><ul><li>¿Qué es Java? </li></ul></ul>Agenda <ul><ul><li>¿Como funciona Java?...
¿Qué es Java? Lenguaje Plataforma Fenomeno
JAVA ¿Qué es Java? Clase Interfaz Método POO Desarrollado por James Gosling C/C++
Características de Java Simple Orientado a objetos Distribuido Robusto Seguro Arquitectura neutral Portable Interpretado A...
Tipos de Aplicaciones Java Aplicaciones Applets Servelts JavaBeans
Plataformas Java Java Card Java SE Java EE Java ME Java FX
Una pequeña comparativa
Pila de Desarrollo <ul><li>Este es .NET </li></ul>ASP.NET IIS Microsoft Visual Studio Framework .NET Windows ADO.NET LINQ
Pila de Desarrollo <ul><li>Java es más flexible </li></ul>Windows Linux Mac Solaris Sun JDK OpenJDK Oracle JRockit Harmony...
Frameworks y Proyectos Java
¿Por qué Java? <ul><li>¡El lenguaje más popular! </li></ul>
¿Quiénes están con Java?
Bolsa de Trabajo
Práctica, práctica y práctica!! <ul><li>Descargar JRE y JDK </li><ul><li>http://www.java.com/es/download/ </li></ul><li>De...
http://www.gandhi.com.mx/ </li></ul><li>Leer tutoriales y blogs </li><ul><li>http://www.taringa.net/posts/ebooks-tutoriale...
DEMO http://www.mediafire.com/file/gs196z79k01901y/Ejemplo_Java.zip
Preguntas
Upcoming SlideShare
Loading in...5
×

Introduccion java 2010_02

2,003

Published on

En esta presentación se habla acerca de una introducción a la tecnología Java con una demostración al final.

Saludos.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,003
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
56
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Gracias por asistir a esta reunión de nuestro Grupo OSUM . Hoy voy a hacer una introducción a la tecnología Java, hablando de la importancia de utilizar esta tecnología en nuestros proyectos de desarrollo de software . Vamos a ver cómo es que funciona una aplicación desarrollada con Java, y su diferencia con otros lenguajes alternativos. También vamos a tratar sobre las diferentes plataformas y frameworks Java que permiten ejecutar nuestros programas en una amplia gama de dispositivos y arquitecturas de software. A continuación haré una comparación de la pila de desarrollo de una aplicación Java contra una que utiliza .NET. Finalmente, cerraré con algunas sugerencias sobre cómo todos podemos empezar a ser productivos con la tecnología Java.
  • Java es un lenguaje de programación de propósito general que hereda muchas de sus características de los lenguajes C/C++. Fue inventado por James Gosling allá por el año 1995. La compañía propietaria del lenguaje y reponsable de sus mejoras y actualizaciones es Sun Microsystems, Inc. En http://java.sun.com/ se pueden encontrar muchos recursos disponibles para desarrolladores como nosotros. Java fue pensado siguiente la filosofía WORA, que es un acrónimo de “Write Once, Run Anywhere” (Escribir una vez, ejecutar donde sea). Esto fue así para dar solución a los problemas de interoperabilidad existente entre las aplicaciones hechas con otros lenguajes. Una de las grandes ventajas de Java es que es completamente orientado a objetos. Este paradigma de programación es actualmente el estándar en el desarrollo de software de calidad y nos enseña a diseñar nuestros sistemas de manera conceptualmente correcta. Todo en Java es un objeto, hasta un simple método main.
  • Aquí podemos apreciar las características que hacen de Java uno de los mejores lenguajes que existen. Java es simple, pues desde el principio fue pensado para ejecutarse en dispositivos que poseen recursos limitados. Java posee características que lo hacen ideal para su utilización en aplicaciones distribuidas. Es precisamente en estos entornos donde Java ha alcanzado un éxito innegable y es muy popular. Java es robusto y seguro, debido a que sus APIs manejan por nosotros algunos aspectos críticos, como el manejo de la memoria. Java es de arquitectura neutral y puede ser ejecutado en entornos Windows, Linux, Mac, etc… que tengan procesadores Intel, AMD, etc. Java es un lenguaje interpretado por una máquina virtual, sin embargo posee un alto rendimiento gracias a la tecnología HotSpot y los compiladores JIT. Java tiene un gran soporte para la programación multithreaded de forma nativa a través de sus APIs, lo cual lo hace atractivo para desarrollar servidores y aplicaciones embebidas. Además, Java es un lenguaje bastante dinámico que va evolucionando, sobretodo en sus bibliotecas y APIs, cubriendo muchos aspectos de programación que resultan cotidianos para el desarrollador.
  • Diferentes tipos de aplicaciones En Java podemos crear los siguientes tipos de aplicaciones: * Aplicaciones: Se ejecutan sin necesidad de un navegador. * Applets: Se pueden descargar de Internet y se observan en un navegador. * JavaBeans: Componentes software Java, que se puedan incorporar gráficamente a otros componentes. * JavaScript: Conjunto del lenguaje Java que puede codificarse directamente sobre cualquier documento HTML * Servlets: Módulos que permiten sustituir o utilizar el lenguaje Java en lugar de programas CGI (Common Gateway Interface) a la hora de dotar de interactividad a las páginas Web
  • Ahora vamos a hablar acerca de las diferentes plataformas Java existentes que permiten desarrollar aplicaciones en una aplica gama de dispositivos y contextos. Java Card es el plataforma que permite desarrollar software para dispositivos pequeños que utilizan tarjetas inteligentes y software empotrado como lectoras de código de barras o lectoras de tarjetas de créditos. Esta plataforma es más utilizada por los fabricantes de estos dispositivos. Con la versión 1.2, Java se separó en tres plataformas: J2SE (ahora Java SE), J2EE (ahora Java EE) y J2ME (ahora Java ME). La primera de ellas conserva el núcleo original del lenguaje y sus APIs y está pensada para el desarrollo de aplicaciones de escritorio y applets. Cubre muchas funcionalidades como soporte de GUI con Swing y AWT, I/O, multithreading, etc. Java EE es la plataforma para desarrollo de aplicaciones Web empresariales y grandes sistemas distribuidos. Ser encarga de la interacción entre servidores de aplicaciones y de bases de datos, persistencia de datos, seguridad, etc. Java ME es la plataforma que permite que nosotros podamos escribir aplicaciones para nuestros propios celulares, PDAs y PocketPCs. Java ME utiliza solo una parte de las APIs de Java SE y suministra sus propias bibliotecas de soporte. Por último tenemos a Java FX, la plataforma más reciente de Java y que pretende competir con Adobe y Flash y con Microsoft y Silverlight en el desarrollo de aplicaciones RIA (Rich Internet Applications). Estas aplicaciones se caracterizan por ejecutarse en los navegadores y tener una interfaz gráfica muy rica en cuanto a gráficos e interacción con el usuario. Java FX introduce su propio lenguaje script.
  • Ahora vamos a hacer una pequeña comparativa de la pila de desarrollo de una aplicación Java con una aplicación que utilice otroa tecnología, en este caso .NET. Se puede decir que con .NET las reglas están escritas: todo programa .NET solo se puede ejecutar en una máquina con el SO Windows (el proyecto Mono aún no ha llegado a la madurez deseada). El único entorno de ejecución es el framework .NET (que es equivalente a la JVM). Si bien podemos conectarnos a muchos SGBD, para soportar dichas conexiones solo se tiene a ADO.NET. El único IDE existente para .NET es el Visual Studio y el único servidor capaz de ejecutar una aplicación .NET es Internet Information Server (IIS). Por último, para desarrollar aplicaciones Web solo tenemos a ASP.NET. Ahora veamos la pila de desarrollo de Java.
  • Java es muy flexible en este sentido. Como dijimos antes, todo programa Java se puede ejecutar en cualquier SO. Además del entorno de ejecución proporcionado por Sun, tenemos otras opciones como OpenJDK y Harmony. Para conectarnos a una base de datos podemos utilizar, en el nivel más bajo, el API JDBC, que forma parte de Java SE; o podemos utilizar algún framework que implemente la especificación JPA, como Hibernate y TopLink. Existen diversos IDEs para programación en Java. El IDE por excelencia es NetBeans, hecho por Sun. Eclipse es otro IDE bastante conocido y utilizado en la industria. Tenemos también JBuilder, JDeveloper, IntelliJIDEA y, nuestro bloc de notas. El servidor Web más sencillo que hay para desplegar aplicaciones Web Java es Apache Tomcat. Glassfish es un servidor de aplicaciones bastante robusto, al igual que JBoss. Además tenemos a OC4J. Para la capa Web, podemos valernos de los servlets o los JSP para desarrollar nuestras páginas Web. Alternativamente podemos utilizar el framework ZK para programación en Ajax. También existen alternativas al lenguaje Java como Groovy, JRuby y Jython (todos estos tienen una sintaxis diferentes a la del lenguaje Java, pero son compilados a bytecodes e interpretados por la JVM).
  • Por si fuera poco, existe una infinidad de frameworks y proyectos Java creados para resolver un problema específico, y que se encuentran distribuidos de manera libre bajo alguna licencia de software libre. Por lo tanto podemos utilizarlos y aprovechar su funcionalidad en nuestros propias aplicaciones. Esto trae dos ventajas: en primer lugar el tiempo de desarrollo se reduce al no tener que hacer las cosas por nuestra cuenta; y segundo, hace que nuestro software sea de calidad al reutilizar código que ha sido probado y depurado por la comunidad de desarrolladores. Existen frameworks para todos las necesidades y gustos: frameworks para la persistencia de datos (Hibernate, TopLink), frameworks para desarrollo web (struts, spring), frameworks para soporte de la GUI en aplicaciones Web (MyFaces, ExtJS), para diseñar y emitir reportes (JasperReports y iReport), etc, etc y etc.
  • Además Java es el lenguaje más popular en los dos últimos años consecutivos, según un estudio reflejado en la tabla que se puede apreciar en la diapositiva. Esto de ser popular se refiere al nivel de utilización de la tecnología Java por desarrolladores y organizaciones en todo el mundo.
  • Aquí podemos apreciar a algunas de las organizaciones que utilizan y colaboran con la tecnología Java. Sun Microsystems, por ser su propietaria, es la principal empresa que en aporte a Java. También tenemos a los gigantes IBM y Oracle que están bastante involucrados no solamente en aportar a la tecnología Java, sino a otros proyectos de software libre. De la misma manera existen muchas fundaciones como Apache y Red Hat que son activos colaboradores del lenguaje de la tacita de café. Java está embebido en muchos servicios ofrecidos por las redes sociales más importantes y que nosotros utilizamos a diario como Facebook y MySpace. Además la gran mayoría de fabricantes de dispositivos móviles y teléfonos celulares utilizan Java para crear las aplicaciones y utilidades que ofrecen en sus productos. Por último, todos los miembros de la comunidad OSUM somos desarrolladores Java que promueven su uso en todos los campos.
  • Para empezar a programar en Java debe descargar el entorno de ejecución (JRE) y el kit de desarrollo (JDK), que tiene las herramientas para desarrollar en Java (entre otros el compilador). También debe tener un buen IDE que le ahorre tiempo y esfuerzo en la programación. Una gran alternativa es el IDE NetBeans. Siempre es bueno tener libros, además de leer tutoriales y blogs online. Del mismo modo la participación en comunidades y foros es una experiencia muy enriquecedora. Practique mucho.
  • Esperamos que haya disfrutado aprendiendo sobre la tecnología Java tanto como nosotros nos divertimos en esta presentación. Esperamos también que se convierta en un desarrollador Java activo y experimentado. A continuación tiene una relación de sitios web que serán sus amigos durante su aprendizaje de esta hermosa tecnoología que es Java.
  • Transcript of "Introduccion java 2010_02"

    1. 1. Introducción a la Tecnología Java Miguel Angel Frías Bonfil OSUM Leader UAG Tabasco [email_address]
    2. 2. <ul><ul><li>¿Por qué Java? </li></ul></ul><ul><ul><li>¿Qué es Java? </li></ul></ul>Agenda <ul><ul><li>¿Como funciona Java? </li></ul></ul><ul><ul><ul><li>Cómo empezar </li></ul></ul></ul><ul><ul><ul><li>Plataformas Java </li></ul></ul></ul>
    3. 3. ¿Qué es Java? Lenguaje Plataforma Fenomeno
    4. 4. JAVA ¿Qué es Java? Clase Interfaz Método POO Desarrollado por James Gosling C/C++
    5. 5. Características de Java Simple Orientado a objetos Distribuido Robusto Seguro Arquitectura neutral Portable Interpretado Alto rendimiento Multithreaded Dinámico
    6. 6. Tipos de Aplicaciones Java Aplicaciones Applets Servelts JavaBeans
    7. 7. Plataformas Java Java Card Java SE Java EE Java ME Java FX
    8. 8. Una pequeña comparativa
    9. 9. Pila de Desarrollo <ul><li>Este es .NET </li></ul>ASP.NET IIS Microsoft Visual Studio Framework .NET Windows ADO.NET LINQ
    10. 10. Pila de Desarrollo <ul><li>Java es más flexible </li></ul>Windows Linux Mac Solaris Sun JDK OpenJDK Oracle JRockit Harmony JDBC Hibernate HADOOP NetBeans Eclipse JDeveloper IntelliJ IDEA Tomcat Glassfish OC4J Groovy JRuby Jython Rhino JS Servlet JSP ZK Ajax
    11. 11. Frameworks y Proyectos Java
    12. 12. ¿Por qué Java? <ul><li>¡El lenguaje más popular! </li></ul>
    13. 13. ¿Quiénes están con Java?
    14. 14. Bolsa de Trabajo
    15. 15. Práctica, práctica y práctica!! <ul><li>Descargar JRE y JDK </li><ul><li>http://www.java.com/es/download/ </li></ul><li>Descargar NetBeans IDE </li><ul><li>http://netbeans.org/ </li></ul><li>Comprar buenos libros </li><ul><li>Javier Ceballos
    16. 16. http://www.gandhi.com.mx/ </li></ul><li>Leer tutoriales y blogs </li><ul><li>http://www.taringa.net/posts/ebooks-tutoriales/ </li></ul><li>Participar en comunidades y foros </li><ul><li>http://osum.sun.com/ </li></ul></ul>Java Cómo Empezar
    17. 17. DEMO http://www.mediafire.com/file/gs196z79k01901y/Ejemplo_Java.zip
    18. 18. Preguntas
    19. 19. ¡Muchas gracias! http://www.slideshare.com/Micky2 Miguel Angel Frías Bonfil OSUM Leader [email_address]
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×