Documentos relacionados
INF 473 Desarrollo de Aplicaciones en

Seminario de Java. Contenido

Tema 1. Introducción a JAVA

INTRODUCCIÓN A JAVA. Índice

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Programador en Plataforma Java y XML

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN:

Desarrollo de Aplicaciones Empresariales en Java INTRODUCCIÓN A JAVA

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

Java en 2 horas. Rodrigo Santamaría

Tema 1. Java: Conceptos generales

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

Módulo 2. Inicio con Java

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

III Jornadas de Tecnología Java. Java Destilado. Francisco Morero Peyrona Sun Ambassador Sun Awarded Engineer

Java Básico. Introducción a Java. Copyright

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

JAVA. 40 horas 60 días

TEMA 2. Agenda. Fundamentos de JAVA

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI

Introducción al lenguaje de programación java

Tema 2: La Tecnología Java

Guía de Instalación de la JDK y del Eclipse

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

Introducción a la programación. Java

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de:

picojava TM Características

El lenguaje de programación Java

Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

CAPÍTULO 3 VISUAL BASIC

U.T.4.EL ENTORNO DE DESARROLLO

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California

TÈCNICO EN PROGRAMACIÒN DE SOFTWARE SERVICIO NACIONAL DE APRENDIZAJE, SENA Material de Apoyo Plataforma.NET LA PLATAFORMA.NET

Java Básico. El entorno de desarrollo. Copyright

PROGRAMACIÓN DE APLICACIONES PARA ANDROID. 30 horas 45 días

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

CARRERA: LICENCIATURA EN INFORMATICA

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Objetivo de aprendizaje del tema

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

HERRAMIENTAS DE DESARROLLO

Introducción a la plataforma.net

Generación de código para Hibernate desde modelos UML

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Java es el lenguaje de programación que

Visión General GXplorer. Última actualización: 2009

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Introducción a la Programación en Java. Page 1

Tema 1. Introducción a Java EE

TECNOLOGÍAS DE DESARROLLO: JAVA

Programación en Java. Temario. David Contreras Bárcena

Curso de Doctorado: Tecnologías de Objetos

JAVA PARA PRINCIPIANTES

Novedades. Introducción. Potencia

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Oficina virtual IFAPA. Preguntas y respuestas frecuentes /Presenta-PCT

Arquitectura de Software

Programación Interactiva Introducción a Java. Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle

Pseudocódigo, algoritmo, programación, implementación y pruebas. M. en C. Erika Vilches

1. INTRODUCCIÓN Y OBJETIVOS

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes

JAVA SE STANDARD EDITION

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid

Intervención General de la Administración del Estado

Lic. Sofia J. Vallejos

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

(volver a Tabla de Contenidos)

Compilación y ejecución de programas en Java.

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas

GUÍA PARA LA CONFIGURACIÓN Y UTILIZACIÓN DE LA IDE DRJAVA

(Integrated Development Environment) Herramienta de soporte para el desarrollo de sotfware: Editor (escribir y editar programas); un

RMI [Remote Method Invocation]

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación )

INTRODUCCIÓN A LA PROGRAMACIÓN DE DISPOSITIVOS MÓVILES

Tema 2: Introducción a Android

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

Módulo 1 El lenguaje Java

Procesadores de lenguaje Tema 5 Comprobación de tipos

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

Herramientas Libres para Desarrollo de Aplicaciones en la Industria del Software. Por Gustavo González

Transcripción:

Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO

Programación orientada a objetos Aparece a finales de los 60, pero es a principios de los 80 cuando con el lenguaje Smalltalk comienza un interés claro hacia este paradigma La programación orientada a objetos es el paradigma de programación y análisis y diseño de aplicaciones claramente dominante en la actualidad Hoy prácticamente no se concibe un lenguaje de programación sin características de orientación a objetos: Eiffel, C++, Java, C#, etc. Alan Kay, creador de Smalltalk Bjarne Stroustrup, creador de C++ James Gosling, responsable de Java Programación orientadaa a objetos

Las ventajas del paradigma OO son múltiples: Es intuitiva, describe un problema en términos similares a los que utiliza la mente humana Permite construir soluciones más seguras y con un mantenimiento más sencillo Fomenta la reutilización y el trabajo en equipo. Escalabilidad de las aplicaciones Las características principales del paradigma OO: Incorpora los conceptos de abstracción, ocultación de información y encapsulación heredados de los tipos de datos abstractos Incorpora mecanismos específicos y extremadamente poderosos como son la herencia, el polimorfismo y la ligadura dinámica Admite de manera muy natural en algunos lenguajes el soporte de genericidad (patrones) y la definición de operadores. soportados por Java Programación orientadaa a objetos

El desarrollo siguiendo el enfoque orientado a objetos es un proceso integral que incluye métodos específicos de análisis y diseño, notación gráfica (UML) y lenguajes de programación orientados a objetos Las soluciones obtenidas durante la fase de análisis y diseño no son específicas para ningún lenguaje de programación orientado a objetos class Producto { int id; string titulo; float precio; int cantidad;... } stema stema Análisis y diseño Implementación class Usuario{... } class VentaInternet {... } Programación orientadaa a objetos

El lenguaje Java Desarrollado en los laboratorios de Sun, es uno de los lenguajes de programación orientado a objetos que mayor repercusión ha tenido en los últimos años Basado en C++ pero simplificado, mucho más fácil de usar, de más alto nivel y menos propenso a errores Amplísima biblioteca estándar de clases predefinidas Las aplicaciones Java pueden ser ejecutadas indistintamente en cualquier plataforma sin necesidad de recompilación Amplio espectro: programación tradicional, distribuida, GUI, Web, dispositivos móviles, etc. Gestión avanzada de memoria mediante el uso de un recolector de basura Gestión avanzada de errores, tanto en tiempo de compilación como de ejecución Soporte sencillo de múltiples hebras de ejecución Pueden integrarse módulos escritos en C/C++ Lenguaje abierto. Kits de desarrollo y documentación gratuitos en la red El lenguaje Java

Existen distintas ediciones de Java para el desarrollo de aplicaciones en distintos ámbitos: Aplicaciones de propósito general (J2SE) Aplicaciones de gestión en entornos empresariales (J2EE) Aplicaciones para teléfonos móviles, PDAs y otros dispositivos electrónicos que permitan aplicaciones empotradas (J2ME) El lenguaje Java

La más utilizada es sin duda la edición estándar (J2SE). Los ejemplos de código Java que veremos a lo largo de los siguientes capítulos pertenecen a esta edición, aunque también utilizaremos algunas clases pertenecientes a J2EE El lenguaje Java

Existen dos kits diferentes que pueden ser descargados de la página oficial de Sun: El Java Development Kit (JDK) permite desarrollar y ejecutar aplicaciones Java El Java Runtime Environment (JRE) permite únicamente la ejecución J2SE incluye bibliotecas muy extensas y completas, que permiten la implementación de casi cualquier tipo de aplicación: Seguridad EEDDs Componentes (JavaBeans) Internacionalización E/S XML Redes y acceso a Internet Programación distribuida (RMI, CORBA) Matemática de precisión arbitraria Sonido Interfaz de usuario (AWT, SWING) Gráficos 2D Manipulación, carga y descarga de imágenes Impresión Acceso a bases de datos (JDBC) Gestión de preferencias y configuraciones El lenguaje Java

Compilación, bytecode y JVMs Java sigue un esquema no tradicional de compilación/ ejecución: La compilación genera un ejecutable en bytecode o código intermedio independiente Para su ejecución se requiere un JRE específico de la plataforma. El JRE está formado por una máquina virtual java (JVM) y las librerías de clases. La JVM interpreta el bytecode o realiza su compilación just in time para que su ejecución sea más eficiente Ventas.java class Producto { int id; string titulo; float precio; int cantidad;... } Producto.class javac Usuario.class class Usuario{... } VentaInternet.class class VentaInternet {... } Código fuente Compilación Ficheros de clases en bytecode o código intermedio (no son binarios ejecutables directamente) java (Windows) java (Linux) Biblioteca de clases Java java ( Sun OS) Ejecución interpretada o compilada just in time con máquina virtual Java específica Compilación, bytecode y JVMs

Ventajas de este sistema: Se compila la aplicación una única vez y los ejecutables en bytecode obtenidos son válidos para cualquier plataforma. El código fuente queda a salvo Es muy robusto. La máquina virtual Java es capaz de detectar y notificar gran cantidad de errores durante la ejecución de la aplicación (como accesos a elementos fuera de un vector) El recolector de basura no ocupa espacio en el ejecutable, ya que viene integrado en la JVM Los ejecutables son pequeños porque las librerías de clases vienen proporcionadas junto a la JVM en el JRE de la plataforma concreta Inconvenientes: Velocidad. Evidentemente la interpretación o incluso compilación just in time del bytecode produce aplicaciones más lentas que en el caso de la ejecución directa de un binario. El recolector de basura puede suponer una sobrecarga adicional al procesador La generalidad tiene como inconveniente que no se aprovecha totalmente la potencia de la máquina y del sistema operativo. Por ejemplo, el aspecto de una aplicación Java puede resultar simple y poco atractivo en comparación con las aplicaciones nativas Compilación, bytecode y JVMs

Entornos de desarrollo Java JDK. El kit de desarrollo básico proporcionado por Sun. Es lo mínimo que se necesita para desarrollar. Útil si se necesita compilar aplicaciones Java de manera esporádica o en general para programadores con espiritu espartano. Puede bajarse gratuitamente para cualquier plataforma de java.sun.com netbeans. El IDE Java más popular, realizado íntegramente en Java (y por tanto multiplataforma). Consume bastantes recursos. Tiene una arquitectura extensible con módulos específicos para desarrollo web, aplicaciones móviles, diseño UML, etc. Puede obtenerse gratuitamente de www.netbeans.org Entornos de desarrollo Java

Eclipse. Junto a netbeans, el entorno de desarrollo Java gratuito más utilizado. También permite el desarrollo en C++ y otros lenguajes de programación. Puede descargarse en www.eclipse.org Borland JBuilder. Excelente entorno integrado de desarrollo Java de Borland. Existen versiones limitadas que pueden bajarse de www.borland.com Microsoft Visual J++. Uno de los más populares, aunque las aplicaciones obtenidas pueden presentar problemas de compatibilidad con el SDK oficial de Java, por el uso de librerías especificas de Microsoft. Permite construir aplicaciones Java dentro de la plataforma.net. La versión express puede obtenerse gratuitamente. Entornos de desarrollo Java

Java vs otros lenguajes OO Java C# C++ Eiffel Smalltalk Año Aparición ntaxis 1995 ins. C++ 2000 ins. Java 1985 ins. C 1985 ins. Pascal 1970 original Difusión Librería de clases Recolector basura Manejo objetos Tipo ejecutable Ejecución Velocidad ejecutable Soporte excepciones Herencia múltiple Soporte operadores Soporte plantillas Amplia Muy Amplia Dinámico Bytecode mediante JVM media Muy Limitado Amplia Muy Amplia Dinámico IL code mediante CLR media Limitado Amplia Escasa Est./Din. binario directa muy alta Limitada Amplia Est./Din. binario directa alta Limitada Amplia Dinámico Byte codes mediante SVM baja Java vs otros lenguajes OO