40
Introducción a las Aplicaciones Web con Java Eudris Cabrera Rodríguez 13 de septiembre 2014,Santiago, R. D. @eudriscabrera @eudriscabrera Diplomado en Programación Java Primeros pasos con la plataforma Java

[ES] Primeros pasos con la Plataforma Java

Embed Size (px)

DESCRIPTION

Introducción a la plataforma Java

Citation preview

Page 1: [ES] Primeros pasos con la Plataforma Java

Introducción a las Aplicaciones Web con Java

Eudris Cabrera Rodríguez

13 de septiembre 2014,Santiago, R. D.

@eudriscabrera @eudriscabrera

Diplomado en Programación JavaPrimeros pasos con la plataforma Java

Page 2: [ES] Primeros pasos con la Plataforma Java

Objetivos

Introducir al participante en el mundo de la programación en la plataforma JAVA.

Page 3: [ES] Primeros pasos con la Plataforma Java

Agenda

1. Entendiendo el ecosistema Java.2. Introducción a la programación en Java.3. Configuración del Entorno de Desarrollo.4. Definición de una clase

Page 4: [ES] Primeros pasos con la Plataforma Java

Entendiendo el ecosistema Java

● Plataforma Java:○ Multi-plataforma.○ Utiliza una máquina virtual para su ejecución

(JVM)○ Esta dividida en:

■ Java SE■ Java EE■ Java ME■ Javafx

○ El estandar es manejado por Java Community Process (JCP) James Gosling,

Creador de Java

Page 5: [ES] Primeros pasos con la Plataforma Java

Ecosistema Java● Popularidad del lenguaje Java por TIOBE

Septiembre 2014, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Page 6: [ES] Primeros pasos con la Plataforma Java

!Java donde quiera¡

● 5 trillones SIMS y Smart Cards● 3 trillones dispositivos móviles.● 80 millones TV, incluyendo Blu-ray, printers, maquinas bancarias, eBooks

Reader y Carros

Trillones, representa el término inglés de 10^12, http://www.oracle.com/us/technologies/java/embedded/overview/index.html

Page 7: [ES] Primeros pasos con la Plataforma Java

Introducción al lenguaje de programación Java

Page 8: [ES] Primeros pasos con la Plataforma Java

Introducción al lenguaje de programación Java

El lenguaje Java se creó con cinco objetivos principales:

1. Debería usar la metodología de la programación orientada a objetos. 2. Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos. 3. Debería incluir por defecto soporte para trabajo en red. 4. Debería diseñarse para ejecutar código en sistemas remotos de forma segura. 5. Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.

Page 9: [ES] Primeros pasos con la Plataforma Java

Introducción al lenguaje

Orientado a Objetos La primera característica, orientado a objetos (“OO”), se refiere a un método de programación y al diseño del lenguaje. Una primera idea es diseñar el software de forma que los distintos tipos de datos que use estén unidos a sus operaciones. Así, los datos y el código (funciones o métodos) se combinan en entidades llamadas objetos.

Page 10: [ES] Primeros pasos con la Plataforma Java

Introducción al lenguaje de programación Java

Independencia de plataforma:

La promesa inicial de James Gosling era Write Once, Run Anywhere (Escríbelo una vez, ejecútalo en cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de ejecución (la JVM) ligero y gratuito para las plataformas más populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma.

Page 11: [ES] Primeros pasos con la Plataforma Java

Introducción al lenguaje de programación Java

El recolector de basura:Un argumento en contra de lenguajes como C++ es que los programadores se encuentran con la carga añadida de tener que administrar la memoria solicitada dinámicamente de forma manual. En Java, este problema potencial es evitado en gran medida por el recolector automático de basura (o automatic garbage collector).

Page 12: [ES] Primeros pasos con la Plataforma Java

Sintaxis :

La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de éste, que combina la sintaxis para programación genérica, estructurada y orientada a objetos, Java fue construido desde el principio para ser completamente orientado a objetos. Todo en Java es un objeto (salvo algunas excepciones), y todo en Java reside en alguna clase (recordemos que una clase es un molde a partir del cual pueden crearse varios objetos).

Introducción al lenguaje de programación Java

Page 13: [ES] Primeros pasos con la Plataforma Java

Cómo java compila e interpreta el código ?

Introducción al lenguaje de programación Java

Page 14: [ES] Primeros pasos con la Plataforma Java

Introducción al lenguaje de programación Java

Page 15: [ES] Primeros pasos con la Plataforma Java

Rendimiento:El rendimiento de una aplicación está determinado por multitud de factores, por lo que no es fácil hacer una comparación que resulte totalmente objetiva. En tiempo de ejecución, el rendimiento de una aplicación Java depende más de la eficiencia del compilador, o la JVM, que de las propiedades intrínsecas del lenguaje.

El bytecode de Java puede ser interpretado en tiempo de ejecución por la máquina virtual, o bien compilado al cargarse el programa, o durante la propia ejecución, para generar código nativo que se ejecuta directamente sobre el hardware. Si es interpretado, será más lento que usando el código máquina intrínseco de la plataforma destino.

Introducción al lenguaje de programación Java

Page 16: [ES] Primeros pasos con la Plataforma Java

Si es compilado, durante la carga inicial o la ejecución, la penalización está en el tiempo necesario para llevar a cabo la compilación. El uso de un recolector de basura para eliminar de forma automática aquellos objetos no requeridos, añade una sobrecarga que puede afectar al rendimiento, o ser apenas apreciable, dependiendo de la tecnología del recolector y de la aplicación en concreto. Las JVM modernas usan recolectores de basura que gracias a rápidos algoritmos de manejo de memoria, consiguen que algunas aplicaciones puedan ejecutarse más eficientemente.

Introducción al lenguaje de programación Java

Page 17: [ES] Primeros pasos con la Plataforma Java

Configuración del Entorno de Desarrollo

Page 18: [ES] Primeros pasos con la Plataforma Java

Diagrama Conceptual de Java SE

Page 19: [ES] Primeros pasos con la Plataforma Java

Instalar el JDK (Java Development Kit)

Antes de que pueda desarrollar aplicaciones Java, el JDK debe estar instalado en su sistema. Además, el sistema puede necesitar ser configurado para trabajar con el JDK.

Una vez instalado el JDK, usted estará listo para crear su primera aplicación Java.

http://java.com/en/download/help/index_installing.xml

Configuración del Entorno de Desarrollo

Page 20: [ES] Primeros pasos con la Plataforma Java

Un resumen de los directorios y archivos del JDK El directorio bin contiene todas las herramientas necesarias para desarrollar y probar un programa, incluyendo el compilador de Java.

El directorio lib contiene librerías y ficheros de apoyo requeridos por las herramientas de desarrollo. El directorio jre contiene el intérprete de Java o Java Runtime Environment (JRE), que se necesita para ejecutar aplicaciones Java, una vez que han sido recopilados. Aunque el JDK utiliza esta versión interna de la JRE, también puede descargar una versión de JRE desde el sitio web de Java.

Estructura del JDK (Java Development Kit)

Page 21: [ES] Primeros pasos con la Plataforma Java

Java Virtual Machine:Entorno de ejecución para los programas Java.

A pesar de que la JVM fue creada principalmente a ejecutar programas compilados en Java, ahora podemos ejecutar otros lenguajes en la misma maquina virtual java.

Entre los cuales podemos mencionar a Clojure, Groovy, Scala, entre muchos más.

Configuración del Entorno de Desarrollo

Page 22: [ES] Primeros pasos con la Plataforma Java

Lenguajes Alternativos de la Java Virtual Machine

● Scala● Groovy● Xtend● Ceylon● Kotlin● Fantom

Configuración del Entorno de Desarrollo

Page 23: [ES] Primeros pasos con la Plataforma Java

Lenguajes existentes con capacidad Java

● Existe un grupo de lenguajes que pueden ser llevados a una JVM. Muchos lenguajes como Python o Ruby, pueden interactuar con los APIs de Java y son populares para generar escripts y prototipos en forma rápida.

● Otro lenguaje muy popular que se puede llevar a la JVM es Clojure o Lisp. En forma adicional, Oracle recientemente lanzo Nashron, un proyecto que permite ejecutar código JavaScript en la JVM.

Configuración del Entorno de Desarrollo

Page 24: [ES] Primeros pasos con la Plataforma Java

Definición de una clase

Para definir una clase en Java, consideramos la siguiente sintaxis:Código:<control de acceso> class <nombre clase> {<atributos><constructores><métodos>}

Page 25: [ES] Primeros pasos con la Plataforma Java

donde:tipo de dato puede ser cualquiera, incluyendo otra clase. control de acceso puede ser: private, public o protected

Nota: Veamos que los controles de acceso, son tal y como están escritos(en idioma ingles), que traducidos dicen:

private = privado (declaramos una propiedad o evento privado)public = público (declaramos una propiedad, o evento publico, que puede ser llamado desde otra clase)

protected = protegido (una propiedad de solo lectura, que no se puede modificar)Class, Public, Private,Protected... son palabras reservadas del lenguaje Java, y otros...

Definición de una clase

Page 26: [ES] Primeros pasos con la Plataforma Java

Primer programa en Java Hola Mundo // Hola.javapublic class Hola { public static void main(String[] args) { System.out.println("Hola, mundo!"); } }

Definición de una clase

Page 27: [ES] Primeros pasos con la Plataforma Java

Java tiene dos grupos de tipos de datos, tipos de datos primitivos y referencias a objetos.

Los tipos de datos primitivos de Java son: byte, short , int , long, float , double , char, boolean.

Datos de tipo numérico - Números enteros byte, short, int, long - Números en coma flotante float, double

Datos de tipo carácter charDatos de tipo booleano boolean

Tipos de datos

Page 28: [ES] Primeros pasos con la Plataforma Java

La clase String-String no es un tipo primitivo, sino una clase predefinida-Una cadena (String) es una secuencia de caracteres-Las cadenas de caracteres, en Java, son inmutables: no se pueden modificar los caracteres individuales de la cadena.

Concatenación de cadenas de caracteresEl operador + sirve para concatenar cadenas de caracteres

Tipos de datos

Page 29: [ES] Primeros pasos con la Plataforma Java

Datos de tipo booleanRepresentan algo que puede ser verdadero (true) o falso (false) y ocupa un bit en espacio de memoria.

Expresiones de tipo booleano * Se construyen a partir de expresiones de tipo numérico con operadores relacionales.

* Se construyen a partir de otras expresiones booleanas con operadores lógicos o booleanos.

Tipos de datos

Page 30: [ES] Primeros pasos con la Plataforma Java

Referencias de objetos de Java

Referencias a objetos de Java son variables que contienen referencias a los objetos.

A diferencia de los tipos de datos primitivos de Java que almacenan los datos reales, las referencias objeto almacenar sólo una referencia a los datos reales objeto.

Tipos de datos

Page 31: [ES] Primeros pasos con la Plataforma Java

Operadores aritméticos

Java incluye cinco operadores para realizar operaciones aritméticas: + Suma

- - Resta o cambio de signo

* Multiplicación

/ División

% Módulo (resto de la división)

Page 32: [ES] Primeros pasos con la Plataforma Java

-Operadores de comparación válidos para números y caracteres- Generan un resultado booleano Operador Significado == Igual != Distinto < Menor > Mayor <= Menor o igual >= Mayor o igual

Operadores relacionales

Page 33: [ES] Primeros pasos con la Plataforma Java

Tienen menos precedencia que los operadores de comparación. ! NOT Negación lógica

&& AND ‘y’ lógico

|| OR ‘o’ inclusivo

^ XOR ‘o’ exclusivo

Operadores lógicos / booleanos

Page 34: [ES] Primeros pasos con la Plataforma Java

- NOT (!) cambia el valor booleano.

- AND (&&) devuelve true si los dos son operandos son true. No evalúa el segundo operando si el primero es false

- OR (||) devuelve false si los dos son false. No evalúa el segundo operando si el primero es true

- XOR (^) devuelve true si los dos operandos son diferentes. Con operandos booleanos es equivalente a !=

Operadores lógicos / booleanos

Page 35: [ES] Primeros pasos con la Plataforma Java

Se pueden utilizar a nivel de bits con números enteros.

-No se pueden usar con datos de otro tipo (p.ej. reales).Los operadores NOT (~), AND (&), OR(|) y XOR (^)Si alguno de los operandos es de tipo long, el resultado es long.

Si no, el resultado es de tipo int.-NOT (~) realiza el complemento a 1 de un número entero:Cambia los 0s por 1s y viceversa - AND(&), OR(|) y XOR(^) funcionan

Operadores a nivel de bits

Page 36: [ES] Primeros pasos con la Plataforma Java

Los operadores de desplazamiento <<, >> y >>>

-El operador de desplazamiento a la izquierda (<<) desplaza los bits del primer operando tantas posiciones a la izquierda como indica el segundo operando. Los nuevos bits se rellenan con ceros.

El operador de desplazamiento a la derecha con signo (>>) desplaza los bits del primer operando tantas posiciones a la derecha como indica el segundo operando. Los nuevos bits se rellenan con unos (si el primer operando es negativo) y con ceros (si es positivo).

Operadores de desplazamiento

Page 37: [ES] Primeros pasos con la Plataforma Java

Libros para iniciarse en Java

Page 38: [ES] Primeros pasos con la Plataforma Java

Referencias

Todas las marcas registradas, así como todos los logotipos, imágenes, fotografías, audio y vídeos mostrados en esta presentación son propiedad de sus respectivos propietarios y/o representantes.

Su utilización es solamente para fines ilustrativos.

Enlaces:http://www.oracle.com/technetwork/topics/newtojava/overview/index.htmlhttp://introcs.cs.princeton.edu/java/home/

Page 39: [ES] Primeros pasos con la Plataforma Java

¿Preguntas?

Page 40: [ES] Primeros pasos con la Plataforma Java

@eudriscabrera

@eudris

@ecabrerar

@eudriscabrera

Eudris Cabrera Rodríguez Ingeniero Telemático

Desarrollador de Software / Consultor Informático

[email protected]