SlideShare una empresa de Scribd logo
1 de 59
Descargar para leer sin conexión
Tecnologías Java utilizando
NetBeans 6
Silvana Canuto Cañete
Sun Campus Ambas s ador - UNComahue
s i l vana. canet e@SUN. com
NetBeans 6.0
La plataforma Java
Agenda
Aplicaciones de escritorio
con Matise
Introducción a JavaFX
Aplicaciones móviles con
NB Mobility Pack
¿Qué es Java?
• Java es un lenguaje de programación orientado a objetos
desarrollado a principios de los años 90.
• El lenguaje en sí mismo toma mucha de su sintaxis de C y C++,
pero tiene un modelo de objetos más simple y elimina
herramientas de bajo nivel.
• No tiene aritmética de punteros.
• Es independiente de la plataforma. Las primeras
implementaciones de Java rezaban:“write once, run anywhere”.
• Posee un sistema de administración de memoria automático, el
Garbage Collector.
Un poco de historia
• Fue realizado por un equipo de 13 personas,
dirigidas por James Gosling.
• Los objetivos de Gosling eran implementar una máquina virtual y
un lenguaje con una estructura y sintaxis similar a C++.
• El término “JAVA” fue acuñado en una cafetería frecuentada por
algunos de los miembros del equipo.
• No está claro si es un acrónimo o no, algunas hipótesis indican que
podría tratarse de las iniciales de sus creadores: James Gosling,
Arthur Van Hoff, y Andy Bechtolsheim. Otras abogan por “Just
Another Vague Acronym”.
La plataforma Java
• Una plataforma es el ambiente de software o hardware en el que corre
un programa.
• La plataforma Java consta de dos componentes
> La máquina virtual de Java
> La API de Java (Application Programming Interface)
• La API de Java es una vasta colección de componentes de software
que proveen un conjunto de funciones útiles.
La plataforma Java (II)
• En Java el código fuente se escribe en un archivo de texto plano con
extensión .java.
• Luego, el código es compilado a archivos .class. Un archivo .class no
contiene código nativo a un tipo de procesador, en cambio contiene
bytecodes.
• Finalmente, la aplicación es compilada Just in Time por la maquina virtual
de Java, transformando los bytecodes en código nativo en tiempo de
ejecución.
La plataforma Java (III)
• El bytecode es lenguaje nativo de cualquier implementación de la máquina virtual
de Java. De esta forma se logra que un programa Java corra en cualquier
plataforma que disponga de una JVM.
La plataforma Java (IV)
• La mayoría de los sistemas operativos modernos proveen
grandes cantidades de código reusable.
• Generalmente, este código es provisto en forma de
bibliotecas dinámicas.
• Dado que la plataforma Java no depende de ningún sistema
operativo especifico, las aplicaciones no pueden depender de
bibliotecas existentes.
• En cambio, la plataforma provee un conjunto de bibliotecas
de clases estándar.
La plataforma Java (V)
• Las bibliotecas de clases Java tienen tres propósitos dentro de la
plataforma:
> Proveer un conjunto de funciones para tareas comunes (parsing de
strings, mantener listas, etc)
> Proveer interfaces abstractas a tareas que dependen fuertemente del
sistema operativo y/o hardware (acceso a redes y archivos, por ejemplo)
> Proveer emulación para características que no están presentes en una
plataforma, o al menos chequeos que nos permitan saber si una
característica esta o no presente
La plataforma Java (VII)
• Existen distintas “ediciones” de la plataforma Java:
> Java ME (Micro Edition)
> Java SE (Standard Edition)
> Java EE (Enterprise Edition)
¿Qué es Netbeans?
• Un IDE Java comprensivo y Modular
> Soporte para Java SE(Standard Edition), Java EE(Enterprise Edition),
Java ME(Mobile Edition).
> Largo compendio de Plug-ins
> Desarrollo intuitivo de Arrastrar y Soltar (drag & drop)
> Excellent Code Editor (smarter code completion, formateo automatico
del codigo), Debugger, Profiler, Refactoring (cambiar nombres de
variables, metodos), etc...
• Gratis y Open Source
> Open Source desde Junio del 2000
> Extensa comunidad de usuarios y desarrolladores
• Una plataforma para la creación de Aplicaciones
> Descompone NetBeans en sus componentes para crear nuevas
aplicaciones ( beans )
> Desarrolla lo que desees en Java SE, EE & ME.
¿Qué hay de nuevo en Netbeans 6.0?
• Mejoras en el Editor de Código
• Soporte para Ruby, JRuby, & Ruby on Rails (*)
• Fácil actualización e instalación
• Enlazar datos fácilmente con el Swing GUI
• Profiling integrado, profiling points
• Características Visuales para el desarrollo web
incluídas (*)
• Mobility graphical game builder (*)
• Mejoras en la Plataforma Netbeans
(*) Tema que se tratará en futuras charlas.
http://www.netbeans.org/community/releases/60/index.html
¿Qué hay de nuevo en Netbeans 6.0?
Mejoras en el Editor de Código
• Smarter code completion: editor de código rápido e inteligente, provee completions para
palabras clave, campos y variables.
• Highlights: resaltar el código es una caracteristica fácil de usar y más correcta de sustituir
el buscador de los editores. Los resaltes son marcados con un fondo de color distinto.
¿Qué hay de nuevo en Netbeans 6.0?
• Mejoras en el Editor de Código
• Soporte para Ruby, JRuby, & Ruby on Rails (*)
• Fácil actualización e instalación
• Enlazar datos fácilmente con el Swing GUI
• Profiling integrado, profiling points
• Características Visuales para el desarrollo web
incluídas (*)
• Mobility graphical game builder (*)
• Mejoras en la Plataforma Netbeans
(*) Tema que se tratará en futuras charlas.
http://www.netbeans.org/community/releases/60/index.html
¿Qué hay de nuevo en Netbeans 6.0?
Ruby, Jruby & Ruby on Rails Support
• Desarrolla en Ruby sin salir de Netbeans 6.0
• Exporta tus proyectos de Ruby on Rails directamente a
Netbeans 6.0
¿Qué hay de nuevo en Netbeans 6.0?
• Mejoras en el Editor de Código
• Soporte para Ruby, JRuby, & Ruby on Rails (*)
• Fácil actualización e instalación
• Enlazar datos fácilmente con el Swing GUI
• Profiling integrado, profiling points
• Características Visuales para el desarrollo web
incluídas (*)
• Mobility graphical game builder (*)
• Mejoras en la Plataforma Netbeans
(*) Tema que se tratará en futuras charlas.
http://www.netbeans.org/community/releases/60/index.html
¿Qué hay de nuevo en Netbeans 6.0?
Fácil Actualización e Instalación
http://educationcommons.org/projects/ide_dwn.jpg
¿Qué hay de nuevo en Netbeans 6.0?
• Mejoras en el Editor de Código
• Soporte para Ruby, JRuby, & Ruby on Rails (*)
• Fácil actualización e instalación
• Enlazar datos fácilmente con el Swing GUI
• Profiling integrado, profiling points
• Características Visuales para el desarrollo web
incluídas (*)
• Mobility graphical game builder (*)
• Mejoras en la Plataforma Netbeans
(*) Tema que se tratará en futuras charlas.
http://www.netbeans.org/community/releases/60/index.html
¿Qué hay de nuevo en Netbeans 6.0?
Swing GUI Development
• Fácil desarrollo de Aplicaciones y manejo de datos de
forma visual.
¿Qué hay de nuevo en Netbeans 6.0?
• Mejoras en el Editor de Código
• Soporte para Ruby, JRuby, & Ruby on Rails (*)
• Fácil actualización e instalación
• Enlazar datos fácilmente con el Swing GUI
• Profiling integrado, profiling points
• Características Visuales para el desarrollo web
incluídas (*)
• Mobility graphical game builder (*)
• Mejoras en la Plataforma Netbeans
(*) Tema que se tratará en futuras charlas.
http://www.netbeans.org/community/releases/60/index.html
¿Qué hay de nuevo en Netbeans 6.0?
Netbeans 6.0 Profiler
• El profiler ahora viene incluído en la versión 6.0, ya no
hay necesidad de descargarlo aparte.
• Analiza tu aplicación, Monitorea el Rendimiento y el Uso
de Memoria, etc.
¿Qué hay de nuevo en Netbeans 6.0?
• Mejoras en el Editor de Código
• Soporte para Ruby, JRuby, & Ruby on Rails (*)
• Fácil actualización e instalación
• Enlazar datos fácilmente con el Swing GUI
• Profiling integrado, profiling points
• Características Visuales para el desarrollo web
incluídas (*)
• Mobility graphical game builder (*)
• Mejoras en la Plataforma Netbeans
(*) Tema que se tratará en futuras charlas.
http://www.netbeans.org/community/releases/60/index.html
¿Qué hay de nuevo en Netbeans 6.0?
Caracteristicas Visuales para Desarrollo
Web
• Personaliza queries, agrega entradas, especifica el
criterio, previsualiza los resultados y más con el Visual
Query Editor.
• Soporte para JavaScript mejorado
• Mejor soporte de servicios web.
• Soporte para Ajax mediante componentes de JavaServer
Faces(JSF)
• Fácil migración desde Java Studio Creator 2
• Mejora en la Edición de CSS(hojas de estilo en cascada).
¿Qué hay de nuevo en Netbeans 6.0?
• Mejoras en el Editor de Código
• Soporte para Ruby, JRuby, & Ruby on Rails (*)
• Fácil actualización e instalación
• Enlazar datos fácilmente con el Swing GUI
• Profiling integrado, profiling points
• Características Visuales para el desarrollo web
incluídas (*)
• Mobility graphical game builder (*)
• Mejoras en la Plataforma Netbeans
(*) Tema que se tratará en futuras charlas.
http://www.netbeans.org/community/releases/60/index.html
¿Qué hay de nuevo en Netbeans 6.0?
Mobility Pack
• Nuevo constructor de Juegos
• Nuevo Visual Mobile Designer
• Análisis de Diseño
• Nuevos componentes personalizados
¿Qué hay de nuevo en Netbeans 6.0?
• Mejoras en el Editor de Código
• Soporte para Ruby, JRuby, & Ruby on Rails (*)
• Fácil actualización e instalación
• Enlazar datos fácilmente con el Swing GUI
• Profiling integrado, profiling points
• Características Visuales para el desarrollo web
incluídas (*)
• Mobility graphical game builder (*)
• Mejoras en la Plataforma Netbeans API
(*) Tema que se tratará en futuras charlas.
http://www.netbeans.org/community/releases/60/index.html
¿Qué hay de nuevo en Netbeans 6.0?
Matisse GUI Builder
• Problemas al crear GUI's sin Matisse:
> Complejas Swing APIs
> Por ejemplo: GridBagLayout (se ajusta a la cuadrícula)
> Cambio de tamaño y alineación es difícil
> Diferente comportamiento según cada S.O.
> Difícil enlazar datos a tu GUI
• Matisse Maneja esto por vos!
Matisse GUI Builder
• Drag & Drop
• El diseño se adapta al Look & Feel de cada S.O.
• Agrupar componentes y actuar sobre ellos
• Cambio de Tamaño Inteligente
• “Free Design”
• “Snapping”
• No necesitas amplios conocimientos en Swing para
usarlo.
• Creas GUI's Multiplataforma
Matisse GUI Builder (Demo)
• Creando un ContactEditor form
http://www.netbeans.org/kb/55/quickstart-gui.html
Developer Collaboration
• Conversación Virtual
• Desarrollo de aplicaciones en forma
colaborativa
• Formateo de Código Automático(code aware)
• Comparte el Entorno de Desarrollo completo
• Multi-party file editing
• Conduct code reviews
• Debugging Colaborativo
• share.java.net public collaboration server
Developer Collaboration
• Registro gratis de una cuenta (free)
• Agregar contactos a la lista
• Comenzar una conversacion
• Compartir codigo
• Arreglo de bugs, compilación y ejecución
colaborativa.
http://www.netbeans.org/kb/articles/quickstart-collaboration.html
Developer Collaboration
http://www.netbeans.org/kb/articles/quickstart-collaboration.html
Debugging & Profiling
• Visual debugging (breakpoints, watchpoints)
• Debugging de procesos remotos
• On-the-fly code fixing
• Integración con JUnit testing (www.junit.org)
• Debug JSP, Servlets, monitor HTTP Traffic
• Ver, suspender y ejecutar threads
• Monitor thread activity
• CPU time & visual method call-graph data
• Object-centric view: # allocated, live, age
• JVM telemetry: heap usage, garbage collection
Debugging & Profiling
demo
http://www.javapassion.com/handsonlabs/nbguibuilder/index.html
J2ME
Java 2 Micro Edition (J2ME)
La plataforma Java 2, Micro Edition, es una
colección de APIs (Applications Programming
Interface) en Java orientadas a productos de
consumo como PDAs, teléfonos móviles o
electrodomésticos.
Java ME se ha convertido en una buena opción
para crear juegos en teléfonos móviles debido a
que se puede emular en un PC durante la fase de
desarrollo y luego subirlos fácilmente al teléfono.
Java 2 Micro Edition (J2ME)
El desarrollo de aplicaciones o videojuegos con
estas APIs resulta bastante económico de portar
a otros dispositivos.
Los principales componentes de la Plataforma
J2ME son Connected Device Configurations,
Connected Limited Device Configurations y
Mobile Information Device Profiles
Arquitectura Java ME
Host Operating System
Configuration (JVM / Libraries)
(e.g. CLDC, CDC)
Profile(s)
(e.g. MIDP)
CLDC – CDC - MIDP
• Connected Limited Device Configuration
(CLDC): Para móviles y smartphones, que son
más limitados
• Connected Device Configuration (CDC): Para
Palmtops y Pocket pcs y algunos dispositivos
más poderosos. Connected Limited Device
“Configuration”
• Mobile Information Device Profile (MIDP): Son
Dispositivos de información movil. Trabaja por
encima de CLDC (MIDlet)
MIDP 2.0 User Interface APIs
Displayable
Canvas Screen
Aler
t
For
m
List TextBox SplashScreen WaitScree
n
ChoiceGroup DateFiel
d
Guag
e
ImageItem StringItem TextField
Form Items
Sun Wireless Toolkit para Java
• Implementacion de CLDC y MIDP
> Incluye: WMA, MMAPI, JTWI, J2ME Web Services, PDAP,
Bluetooth and OBEX, Mobile 3D Graphics
• Emulator
• OTA support
• Cryptographic Support
• Obfuscator
• Pre-verifier
Netbeans Mobility Pack
• Usa Sun Wireless Tooklit for Java
• Drag-and-drop graphical user interface
• Soporte Device fragmentation
Ejemplo:
http://wiki.netbeans.org/CreatingJavaMEGamesWithGameBuilder
Java ME Game Demo
• CreatingJavaMEGamesWithGameBuilder
> http://wiki.netbeans.org/CreatingJavaMEGamesWithGameBuilder
MIDP 2.0 Gaming APIs
• High-level API
> Implementación de código Nativo
> Reduce el tamaño de la aplicación
• GameCanvas permite pintar y consultar el estado
de los key
• Sprites y TiledLayers son elementos visuales
> Sprites pueden ser animados, transformados, movidos y
tener detección de colisiones.
> TiledLayers son grid de celdas conteniendo imagenes
> TiledLayers usados para layers virtuales largos (e.g.
Fondos de scrolling largos)
> TiledLayers tienen fondos estaticos y animados.
Java ME Game Demo
• Main Jump class extends MIDlet
> Inicializa game UI
> Escucha por “Commands” exit, pause, y resume
game
> Comienza game thread
public class Jump extends MIDlet implements
CommandListener {
...
}
http://www.microjava.com/articles/techtalk/midp2_games
Java ME Game Demo
• JumpCanvas class extends MIDP GameCanvas
> Pinta game background y pide al LayerManager
pintar las piezas del juego
> Queries para las key presses and updates state
> Pide al LayerManager avanzar las piezas del juego
para el siguiente timestep
public class JumpCanvas extends
javax.microedition.lcdui.game.GameCanvas {
...
}
http://www.microjava.com/articles/techtalk/midp2_games
Java ME Game Demo
• JumpManager class extends MIDP LayerManager
> Pinta las piezas del juego (cowboy, grass,
tumbleweeds)
> Setea el visible window viewport para el juego game
> Update de la animacion para la pieza del juego,
avanza las piezas, chequea las colisiones
public class JumpManager extends
javax.microedition.lcdui.game.LayerManager {
...
}
http://www.microjava.com/articles/techtalk/midp2_games
Java ME Game Demo
• Cowboy y Tumbleweed son MIDP Sprites
> Se avanzan ellos mismos en el game board
> Update de los frames de animación
• El pasto es un MIDP TiledLayer
> Game UI es una secuencia de imagenes
> El Tiled es animado
http://www.microjava.com/articles/techtalk/midp2_games
demo
http://wiki.netbeans.org/CreatingJavaMEGamesWithGameBuilder
JavaFX
Introducción: Que es Java FX?
• JavaFX es una nueva familia de tecnologías Java que ayudarán a crear
rich Internet applications (RIA).
• JavaFX Script es un lenguaje de scripting altamente productivo que
permite a los desarrolladores de contenido crear multimedia y contenido
para plataformas en ambientes java. JavaFX Script es un lenguaje de
programacion declarativo, tipado estaticamente. Tiene funciones de primer
clase, sintaxis declarativa, comprension de listas y evaluacion incremental
dependiente. Puede hacer llamadas directas a cualquier API de Java que
exista en la plataforma
--https://openjfx.dev.java.net/
Introducción: Que es Java FX?
• Java FX Player : el software de RunTime requerido para correr
aplicaciones JavaFX (presente en JRE 1.6.0)
• JavaFX Mobile : un sistema completo (SO y ambiente de
aplicacion) construido con Java, GNU/Linux y otras tecnologías
open source
Arquitectura JavaFX mobile
Arquitectura JavaFX Mobile
JavaFX, la nueva tecnología en interfaces gráficas
Una implementación GPL
http://www.linuxdevices.com/news/NS7539760574.html
¿Por que Java FX?
• Escribir GUIs es dificil (y molesto)
> Sí, Matisse ayuda un poco, pero...
> Todavia hay demasiados listeners .
• GUIs por default son feas
> Una herencia de cajas grises rectangulares (no solo en Java)
> No tan pirotecnicas como los websites FLASH
• Java 2D provee mucho de lo que se necesita, pero...
> Es complicado de usar para este propósito
> No tiene un comportamiento composicional
La sintaxis declarativa de Java FX's, combina los widgets “Swing” tipicos con la
funcionalidad composicional de Java 2D, logrando que escribir interfaces
gráficas sea facil, y con mejores resultados
Muchas Gracias
Silvana Canuto Canete – Nicolás Alonso
Sun Campus Ambassadors
silvana.canete@sun.com
http://blogs.sun.com/Argentina_ambassador

Más contenido relacionado

Destacado

FusionDesign Online Portfolio
FusionDesign Online PortfolioFusionDesign Online Portfolio
FusionDesign Online PortfolioFusionDesign
 
Narika annual report fy11 12
Narika annual report fy11 12Narika annual report fy11 12
Narika annual report fy11 12narikaweb
 
Food&EnvironementalNewsJuly
Food&EnvironementalNewsJulyFood&EnvironementalNewsJuly
Food&EnvironementalNewsJulyMalilu Galluccio
 
SeedCo defies El Nino, post higher FY profit
SeedCo defies El Nino, post higher FY profitSeedCo defies El Nino, post higher FY profit
SeedCo defies El Nino, post higher FY profitZimpapers Group (1980)
 
Condiciones generales todo previsto decesos tu oficina local coslada
Condiciones generales todo previsto decesos tu oficina local cosladaCondiciones generales todo previsto decesos tu oficina local coslada
Condiciones generales todo previsto decesos tu oficina local cosladaAdeslas Coslada
 
RADIX COMM Presentation
RADIX COMM PresentationRADIX COMM Presentation
RADIX COMM PresentationRadixCOMM
 
Place365 - Les ventes confidentielles
Place365 - Les ventes confidentiellesPlace365 - Les ventes confidentielles
Place365 - Les ventes confidentiellesCyril Bros
 
Adiestramiento cognitivo-emocional
Adiestramiento cognitivo-emocionalAdiestramiento cognitivo-emocional
Adiestramiento cognitivo-emocionalAgility Merida
 
Red Laical Compañía de María Cono Sur
Red Laical Compañía de María Cono SurRed Laical Compañía de María Cono Sur
Red Laical Compañía de María Cono Surredlaicalconosur
 
Lean Six Sigma for Nurse Scheduling
Lean Six Sigma for Nurse SchedulingLean Six Sigma for Nurse Scheduling
Lean Six Sigma for Nurse SchedulingWilliam Reau
 

Destacado (18)

FusionDesign Online Portfolio
FusionDesign Online PortfolioFusionDesign Online Portfolio
FusionDesign Online Portfolio
 
Narika annual report fy11 12
Narika annual report fy11 12Narika annual report fy11 12
Narika annual report fy11 12
 
Guia clinica influenza_2012_v4.2
Guia clinica influenza_2012_v4.2Guia clinica influenza_2012_v4.2
Guia clinica influenza_2012_v4.2
 
Teleducacion en el Siglo 21
Teleducacion en el Siglo 21Teleducacion en el Siglo 21
Teleducacion en el Siglo 21
 
Food&EnvironementalNewsJuly
Food&EnvironementalNewsJulyFood&EnvironementalNewsJuly
Food&EnvironementalNewsJuly
 
Transparencia fiscal abril 2013
Transparencia fiscal  abril 2013Transparencia fiscal  abril 2013
Transparencia fiscal abril 2013
 
SeedCo defies El Nino, post higher FY profit
SeedCo defies El Nino, post higher FY profitSeedCo defies El Nino, post higher FY profit
SeedCo defies El Nino, post higher FY profit
 
Condiciones generales todo previsto decesos tu oficina local coslada
Condiciones generales todo previsto decesos tu oficina local cosladaCondiciones generales todo previsto decesos tu oficina local coslada
Condiciones generales todo previsto decesos tu oficina local coslada
 
Career Forward Info
Career Forward InfoCareer Forward Info
Career Forward Info
 
RADIX COMM Presentation
RADIX COMM PresentationRADIX COMM Presentation
RADIX COMM Presentation
 
Place365 - Les ventes confidentielles
Place365 - Les ventes confidentiellesPlace365 - Les ventes confidentielles
Place365 - Les ventes confidentielles
 
Psych 30 module 4
Psych 30 module 4Psych 30 module 4
Psych 30 module 4
 
13. 14.maijs
13. 14.maijs13. 14.maijs
13. 14.maijs
 
Adiestramiento cognitivo-emocional
Adiestramiento cognitivo-emocionalAdiestramiento cognitivo-emocional
Adiestramiento cognitivo-emocional
 
Red Laical Compañía de María Cono Sur
Red Laical Compañía de María Cono SurRed Laical Compañía de María Cono Sur
Red Laical Compañía de María Cono Sur
 
Telnor
TelnorTelnor
Telnor
 
Limperialisme
LimperialismeLimperialisme
Limperialisme
 
Lean Six Sigma for Nurse Scheduling
Lean Six Sigma for Nurse SchedulingLean Six Sigma for Nurse Scheduling
Lean Six Sigma for Nurse Scheduling
 

Similar a Tecnologias de java usando netbeans por gio

NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017Diego Bersano
 
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasNetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasFelipe Cerda
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Rodolfo Finochietti
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 
.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .Net.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .NetGlobant
 
Alta disponibilidad y balanceo de carga con Linux y nginx
Alta disponibilidad y balanceo de carga con Linux y nginxAlta disponibilidad y balanceo de carga con Linux y nginx
Alta disponibilidad y balanceo de carga con Linux y nginxPlain Concepts
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EEanyeni
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EEAnyeni Garay
 
SonarQube: ¿cómo de malo es mi software?
SonarQube: ¿cómo de malo es mi software?SonarQube: ¿cómo de malo es mi software?
SonarQube: ¿cómo de malo es mi software?Tomás Moreno Bernal
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaglfloresgilberto
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoManuel Carrasco Moñino
 
Net Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptxNet Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptxLuis775803
 
Novedades visual studio 2015
Novedades visual studio 2015Novedades visual studio 2015
Novedades visual studio 2015Francesc Jaumot
 

Similar a Tecnologias de java usando netbeans por gio (20)

Netbeans Osum
Netbeans OsumNetbeans Osum
Netbeans Osum
 
NetBeanside
NetBeansideNetBeanside
NetBeanside
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017
 
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasNetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitas
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
 
Introducción a Java FX
Introducción a Java FXIntroducción a Java FX
Introducción a Java FX
 
.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .Net.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .Net
 
Programación
ProgramaciónProgramación
Programación
 
Alta disponibilidad y balanceo de carga con Linux y nginx
Alta disponibilidad y balanceo de carga con Linux y nginxAlta disponibilidad y balanceo de carga con Linux y nginx
Alta disponibilidad y balanceo de carga con Linux y nginx
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
 
Net Beans
Net BeansNet Beans
Net Beans
 
SonarQube: ¿cómo de malo es mi software?
SonarQube: ¿cómo de malo es mi software?SonarQube: ¿cómo de malo es mi software?
SonarQube: ¿cómo de malo es mi software?
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Desarrollo en c++, vision aplicada
Desarrollo en c++, vision aplicadaDesarrollo en c++, vision aplicada
Desarrollo en c++, vision aplicada
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Net Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptxNet Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptx
 
Novedades visual studio 2015
Novedades visual studio 2015Novedades visual studio 2015
Novedades visual studio 2015
 

Más de Robert Wolf

Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gioRobert Wolf
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gioRobert Wolf
 
Tema 14 imágenes en java por gio
Tema 14   imágenes en java por gioTema 14   imágenes en java por gio
Tema 14 imágenes en java por gioRobert Wolf
 
Tema 13 gráficas en java por gio
Tema 13   gráficas en java por gioTema 13   gráficas en java por gio
Tema 13 gráficas en java por gioRobert Wolf
 
Tema 12 hilos en java por gio
Tema 12   hilos en java por gioTema 12   hilos en java por gio
Tema 12 hilos en java por gioRobert Wolf
 
Tema 11 expresiones regulares en java por gio
Tema 11   expresiones regulares en java por gioTema 11   expresiones regulares en java por gio
Tema 11 expresiones regulares en java por gioRobert Wolf
 
Tema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfazTema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfazRobert Wolf
 
Tema 10 entrada y salida por gio
Tema 10   entrada y salida por gioTema 10   entrada y salida por gio
Tema 10 entrada y salida por gioRobert Wolf
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gioRobert Wolf
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gioRobert Wolf
 
Tema 8 entrada y salida por gio
Tema 8   entrada y salida por gioTema 8   entrada y salida por gio
Tema 8 entrada y salida por gioRobert Wolf
 
Tema 8 desarrollo de aplicaciones en java por gio
Tema 8   desarrollo de aplicaciones en java por gioTema 8   desarrollo de aplicaciones en java por gio
Tema 8 desarrollo de aplicaciones en java por gioRobert Wolf
 
Tema 7 gui, swing y java beans por gio
Tema 7   gui, swing y java beans por gioTema 7   gui, swing y java beans por gio
Tema 7 gui, swing y java beans por gioRobert Wolf
 
Tema 7 desarrollo de aplicaciones en java - lsia por gio
Tema 7   desarrollo de aplicaciones en java - lsia por gioTema 7   desarrollo de aplicaciones en java - lsia por gio
Tema 7 desarrollo de aplicaciones en java - lsia por gioRobert Wolf
 
Tema 6 gui, swing y java beans por gio
Tema 6   gui, swing y java beans por gioTema 6   gui, swing y java beans por gio
Tema 6 gui, swing y java beans por gioRobert Wolf
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gioRobert Wolf
 
Tema 5 arreglos y cadenas por gio
Tema 5   arreglos y cadenas por gioTema 5   arreglos y cadenas por gio
Tema 5 arreglos y cadenas por gioRobert Wolf
 

Más de Robert Wolf (20)

Tema6resumido
Tema6resumidoTema6resumido
Tema6resumido
 
Tema4 herencia
Tema4 herenciaTema4 herencia
Tema4 herencia
 
Tema 6
Tema 6Tema 6
Tema 6
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gio
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
Tema 14 imágenes en java por gio
Tema 14   imágenes en java por gioTema 14   imágenes en java por gio
Tema 14 imágenes en java por gio
 
Tema 13 gráficas en java por gio
Tema 13   gráficas en java por gioTema 13   gráficas en java por gio
Tema 13 gráficas en java por gio
 
Tema 12 hilos en java por gio
Tema 12   hilos en java por gioTema 12   hilos en java por gio
Tema 12 hilos en java por gio
 
Tema 11 expresiones regulares en java por gio
Tema 11   expresiones regulares en java por gioTema 11   expresiones regulares en java por gio
Tema 11 expresiones regulares en java por gio
 
Tema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfazTema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfaz
 
Tema 10 entrada y salida por gio
Tema 10   entrada y salida por gioTema 10   entrada y salida por gio
Tema 10 entrada y salida por gio
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gio
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Tema 8 entrada y salida por gio
Tema 8   entrada y salida por gioTema 8   entrada y salida por gio
Tema 8 entrada y salida por gio
 
Tema 8 desarrollo de aplicaciones en java por gio
Tema 8   desarrollo de aplicaciones en java por gioTema 8   desarrollo de aplicaciones en java por gio
Tema 8 desarrollo de aplicaciones en java por gio
 
Tema 7 gui, swing y java beans por gio
Tema 7   gui, swing y java beans por gioTema 7   gui, swing y java beans por gio
Tema 7 gui, swing y java beans por gio
 
Tema 7 desarrollo de aplicaciones en java - lsia por gio
Tema 7   desarrollo de aplicaciones en java - lsia por gioTema 7   desarrollo de aplicaciones en java - lsia por gio
Tema 7 desarrollo de aplicaciones en java - lsia por gio
 
Tema 6 gui, swing y java beans por gio
Tema 6   gui, swing y java beans por gioTema 6   gui, swing y java beans por gio
Tema 6 gui, swing y java beans por gio
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gio
 
Tema 5 arreglos y cadenas por gio
Tema 5   arreglos y cadenas por gioTema 5   arreglos y cadenas por gio
Tema 5 arreglos y cadenas por gio
 

Tecnologias de java usando netbeans por gio

  • 1. Tecnologías Java utilizando NetBeans 6 Silvana Canuto Cañete Sun Campus Ambas s ador - UNComahue s i l vana. canet e@SUN. com
  • 2. NetBeans 6.0 La plataforma Java Agenda Aplicaciones de escritorio con Matise Introducción a JavaFX Aplicaciones móviles con NB Mobility Pack
  • 3. ¿Qué es Java? • Java es un lenguaje de programación orientado a objetos desarrollado a principios de los años 90. • El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel. • No tiene aritmética de punteros. • Es independiente de la plataforma. Las primeras implementaciones de Java rezaban:“write once, run anywhere”. • Posee un sistema de administración de memoria automático, el Garbage Collector.
  • 4. Un poco de historia • Fue realizado por un equipo de 13 personas, dirigidas por James Gosling. • Los objetivos de Gosling eran implementar una máquina virtual y un lenguaje con una estructura y sintaxis similar a C++. • El término “JAVA” fue acuñado en una cafetería frecuentada por algunos de los miembros del equipo. • No está claro si es un acrónimo o no, algunas hipótesis indican que podría tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otras abogan por “Just Another Vague Acronym”.
  • 5. La plataforma Java • Una plataforma es el ambiente de software o hardware en el que corre un programa. • La plataforma Java consta de dos componentes > La máquina virtual de Java > La API de Java (Application Programming Interface) • La API de Java es una vasta colección de componentes de software que proveen un conjunto de funciones útiles.
  • 6. La plataforma Java (II) • En Java el código fuente se escribe en un archivo de texto plano con extensión .java. • Luego, el código es compilado a archivos .class. Un archivo .class no contiene código nativo a un tipo de procesador, en cambio contiene bytecodes. • Finalmente, la aplicación es compilada Just in Time por la maquina virtual de Java, transformando los bytecodes en código nativo en tiempo de ejecución.
  • 7. La plataforma Java (III) • El bytecode es lenguaje nativo de cualquier implementación de la máquina virtual de Java. De esta forma se logra que un programa Java corra en cualquier plataforma que disponga de una JVM.
  • 8. La plataforma Java (IV) • La mayoría de los sistemas operativos modernos proveen grandes cantidades de código reusable. • Generalmente, este código es provisto en forma de bibliotecas dinámicas. • Dado que la plataforma Java no depende de ningún sistema operativo especifico, las aplicaciones no pueden depender de bibliotecas existentes. • En cambio, la plataforma provee un conjunto de bibliotecas de clases estándar.
  • 9. La plataforma Java (V) • Las bibliotecas de clases Java tienen tres propósitos dentro de la plataforma: > Proveer un conjunto de funciones para tareas comunes (parsing de strings, mantener listas, etc) > Proveer interfaces abstractas a tareas que dependen fuertemente del sistema operativo y/o hardware (acceso a redes y archivos, por ejemplo) > Proveer emulación para características que no están presentes en una plataforma, o al menos chequeos que nos permitan saber si una característica esta o no presente
  • 10. La plataforma Java (VII) • Existen distintas “ediciones” de la plataforma Java: > Java ME (Micro Edition) > Java SE (Standard Edition) > Java EE (Enterprise Edition)
  • 11. ¿Qué es Netbeans? • Un IDE Java comprensivo y Modular > Soporte para Java SE(Standard Edition), Java EE(Enterprise Edition), Java ME(Mobile Edition). > Largo compendio de Plug-ins > Desarrollo intuitivo de Arrastrar y Soltar (drag & drop) > Excellent Code Editor (smarter code completion, formateo automatico del codigo), Debugger, Profiler, Refactoring (cambiar nombres de variables, metodos), etc... • Gratis y Open Source > Open Source desde Junio del 2000 > Extensa comunidad de usuarios y desarrolladores • Una plataforma para la creación de Aplicaciones > Descompone NetBeans en sus componentes para crear nuevas aplicaciones ( beans ) > Desarrolla lo que desees en Java SE, EE & ME.
  • 12. ¿Qué hay de nuevo en Netbeans 6.0? • Mejoras en el Editor de Código • Soporte para Ruby, JRuby, & Ruby on Rails (*) • Fácil actualización e instalación • Enlazar datos fácilmente con el Swing GUI • Profiling integrado, profiling points • Características Visuales para el desarrollo web incluídas (*) • Mobility graphical game builder (*) • Mejoras en la Plataforma Netbeans (*) Tema que se tratará en futuras charlas. http://www.netbeans.org/community/releases/60/index.html ¿Qué hay de nuevo en Netbeans 6.0?
  • 13. Mejoras en el Editor de Código • Smarter code completion: editor de código rápido e inteligente, provee completions para palabras clave, campos y variables. • Highlights: resaltar el código es una caracteristica fácil de usar y más correcta de sustituir el buscador de los editores. Los resaltes son marcados con un fondo de color distinto.
  • 14. ¿Qué hay de nuevo en Netbeans 6.0? • Mejoras en el Editor de Código • Soporte para Ruby, JRuby, & Ruby on Rails (*) • Fácil actualización e instalación • Enlazar datos fácilmente con el Swing GUI • Profiling integrado, profiling points • Características Visuales para el desarrollo web incluídas (*) • Mobility graphical game builder (*) • Mejoras en la Plataforma Netbeans (*) Tema que se tratará en futuras charlas. http://www.netbeans.org/community/releases/60/index.html ¿Qué hay de nuevo en Netbeans 6.0?
  • 15. Ruby, Jruby & Ruby on Rails Support • Desarrolla en Ruby sin salir de Netbeans 6.0 • Exporta tus proyectos de Ruby on Rails directamente a Netbeans 6.0
  • 16. ¿Qué hay de nuevo en Netbeans 6.0? • Mejoras en el Editor de Código • Soporte para Ruby, JRuby, & Ruby on Rails (*) • Fácil actualización e instalación • Enlazar datos fácilmente con el Swing GUI • Profiling integrado, profiling points • Características Visuales para el desarrollo web incluídas (*) • Mobility graphical game builder (*) • Mejoras en la Plataforma Netbeans (*) Tema que se tratará en futuras charlas. http://www.netbeans.org/community/releases/60/index.html ¿Qué hay de nuevo en Netbeans 6.0?
  • 17. Fácil Actualización e Instalación http://educationcommons.org/projects/ide_dwn.jpg
  • 18. ¿Qué hay de nuevo en Netbeans 6.0? • Mejoras en el Editor de Código • Soporte para Ruby, JRuby, & Ruby on Rails (*) • Fácil actualización e instalación • Enlazar datos fácilmente con el Swing GUI • Profiling integrado, profiling points • Características Visuales para el desarrollo web incluídas (*) • Mobility graphical game builder (*) • Mejoras en la Plataforma Netbeans (*) Tema que se tratará en futuras charlas. http://www.netbeans.org/community/releases/60/index.html ¿Qué hay de nuevo en Netbeans 6.0?
  • 19. Swing GUI Development • Fácil desarrollo de Aplicaciones y manejo de datos de forma visual.
  • 20. ¿Qué hay de nuevo en Netbeans 6.0? • Mejoras en el Editor de Código • Soporte para Ruby, JRuby, & Ruby on Rails (*) • Fácil actualización e instalación • Enlazar datos fácilmente con el Swing GUI • Profiling integrado, profiling points • Características Visuales para el desarrollo web incluídas (*) • Mobility graphical game builder (*) • Mejoras en la Plataforma Netbeans (*) Tema que se tratará en futuras charlas. http://www.netbeans.org/community/releases/60/index.html ¿Qué hay de nuevo en Netbeans 6.0?
  • 21. Netbeans 6.0 Profiler • El profiler ahora viene incluído en la versión 6.0, ya no hay necesidad de descargarlo aparte. • Analiza tu aplicación, Monitorea el Rendimiento y el Uso de Memoria, etc.
  • 22. ¿Qué hay de nuevo en Netbeans 6.0? • Mejoras en el Editor de Código • Soporte para Ruby, JRuby, & Ruby on Rails (*) • Fácil actualización e instalación • Enlazar datos fácilmente con el Swing GUI • Profiling integrado, profiling points • Características Visuales para el desarrollo web incluídas (*) • Mobility graphical game builder (*) • Mejoras en la Plataforma Netbeans (*) Tema que se tratará en futuras charlas. http://www.netbeans.org/community/releases/60/index.html ¿Qué hay de nuevo en Netbeans 6.0?
  • 23. Caracteristicas Visuales para Desarrollo Web • Personaliza queries, agrega entradas, especifica el criterio, previsualiza los resultados y más con el Visual Query Editor. • Soporte para JavaScript mejorado • Mejor soporte de servicios web. • Soporte para Ajax mediante componentes de JavaServer Faces(JSF) • Fácil migración desde Java Studio Creator 2 • Mejora en la Edición de CSS(hojas de estilo en cascada).
  • 24. ¿Qué hay de nuevo en Netbeans 6.0? • Mejoras en el Editor de Código • Soporte para Ruby, JRuby, & Ruby on Rails (*) • Fácil actualización e instalación • Enlazar datos fácilmente con el Swing GUI • Profiling integrado, profiling points • Características Visuales para el desarrollo web incluídas (*) • Mobility graphical game builder (*) • Mejoras en la Plataforma Netbeans (*) Tema que se tratará en futuras charlas. http://www.netbeans.org/community/releases/60/index.html ¿Qué hay de nuevo en Netbeans 6.0?
  • 25. Mobility Pack • Nuevo constructor de Juegos • Nuevo Visual Mobile Designer • Análisis de Diseño • Nuevos componentes personalizados
  • 26. ¿Qué hay de nuevo en Netbeans 6.0? • Mejoras en el Editor de Código • Soporte para Ruby, JRuby, & Ruby on Rails (*) • Fácil actualización e instalación • Enlazar datos fácilmente con el Swing GUI • Profiling integrado, profiling points • Características Visuales para el desarrollo web incluídas (*) • Mobility graphical game builder (*) • Mejoras en la Plataforma Netbeans API (*) Tema que se tratará en futuras charlas. http://www.netbeans.org/community/releases/60/index.html ¿Qué hay de nuevo en Netbeans 6.0?
  • 27. Matisse GUI Builder • Problemas al crear GUI's sin Matisse: > Complejas Swing APIs > Por ejemplo: GridBagLayout (se ajusta a la cuadrícula) > Cambio de tamaño y alineación es difícil > Diferente comportamiento según cada S.O. > Difícil enlazar datos a tu GUI • Matisse Maneja esto por vos!
  • 28. Matisse GUI Builder • Drag & Drop • El diseño se adapta al Look & Feel de cada S.O. • Agrupar componentes y actuar sobre ellos • Cambio de Tamaño Inteligente • “Free Design” • “Snapping” • No necesitas amplios conocimientos en Swing para usarlo. • Creas GUI's Multiplataforma
  • 29. Matisse GUI Builder (Demo) • Creando un ContactEditor form http://www.netbeans.org/kb/55/quickstart-gui.html
  • 30. Developer Collaboration • Conversación Virtual • Desarrollo de aplicaciones en forma colaborativa • Formateo de Código Automático(code aware) • Comparte el Entorno de Desarrollo completo • Multi-party file editing • Conduct code reviews • Debugging Colaborativo • share.java.net public collaboration server
  • 31. Developer Collaboration • Registro gratis de una cuenta (free) • Agregar contactos a la lista • Comenzar una conversacion • Compartir codigo • Arreglo de bugs, compilación y ejecución colaborativa. http://www.netbeans.org/kb/articles/quickstart-collaboration.html
  • 33. Debugging & Profiling • Visual debugging (breakpoints, watchpoints) • Debugging de procesos remotos • On-the-fly code fixing • Integración con JUnit testing (www.junit.org) • Debug JSP, Servlets, monitor HTTP Traffic • Ver, suspender y ejecutar threads • Monitor thread activity • CPU time & visual method call-graph data • Object-centric view: # allocated, live, age • JVM telemetry: heap usage, garbage collection
  • 36. J2ME
  • 37. Java 2 Micro Edition (J2ME) La plataforma Java 2, Micro Edition, es una colección de APIs (Applications Programming Interface) en Java orientadas a productos de consumo como PDAs, teléfonos móviles o electrodomésticos. Java ME se ha convertido en una buena opción para crear juegos en teléfonos móviles debido a que se puede emular en un PC durante la fase de desarrollo y luego subirlos fácilmente al teléfono.
  • 38. Java 2 Micro Edition (J2ME) El desarrollo de aplicaciones o videojuegos con estas APIs resulta bastante económico de portar a otros dispositivos. Los principales componentes de la Plataforma J2ME son Connected Device Configurations, Connected Limited Device Configurations y Mobile Information Device Profiles
  • 39. Arquitectura Java ME Host Operating System Configuration (JVM / Libraries) (e.g. CLDC, CDC) Profile(s) (e.g. MIDP)
  • 40. CLDC – CDC - MIDP • Connected Limited Device Configuration (CLDC): Para móviles y smartphones, que son más limitados • Connected Device Configuration (CDC): Para Palmtops y Pocket pcs y algunos dispositivos más poderosos. Connected Limited Device “Configuration” • Mobile Information Device Profile (MIDP): Son Dispositivos de información movil. Trabaja por encima de CLDC (MIDlet)
  • 41. MIDP 2.0 User Interface APIs Displayable Canvas Screen Aler t For m List TextBox SplashScreen WaitScree n ChoiceGroup DateFiel d Guag e ImageItem StringItem TextField Form Items
  • 42. Sun Wireless Toolkit para Java • Implementacion de CLDC y MIDP > Incluye: WMA, MMAPI, JTWI, J2ME Web Services, PDAP, Bluetooth and OBEX, Mobile 3D Graphics • Emulator • OTA support • Cryptographic Support • Obfuscator • Pre-verifier
  • 43. Netbeans Mobility Pack • Usa Sun Wireless Tooklit for Java • Drag-and-drop graphical user interface • Soporte Device fragmentation Ejemplo: http://wiki.netbeans.org/CreatingJavaMEGamesWithGameBuilder
  • 44. Java ME Game Demo • CreatingJavaMEGamesWithGameBuilder > http://wiki.netbeans.org/CreatingJavaMEGamesWithGameBuilder
  • 45. MIDP 2.0 Gaming APIs • High-level API > Implementación de código Nativo > Reduce el tamaño de la aplicación • GameCanvas permite pintar y consultar el estado de los key • Sprites y TiledLayers son elementos visuales > Sprites pueden ser animados, transformados, movidos y tener detección de colisiones. > TiledLayers son grid de celdas conteniendo imagenes > TiledLayers usados para layers virtuales largos (e.g. Fondos de scrolling largos) > TiledLayers tienen fondos estaticos y animados.
  • 46. Java ME Game Demo • Main Jump class extends MIDlet > Inicializa game UI > Escucha por “Commands” exit, pause, y resume game > Comienza game thread public class Jump extends MIDlet implements CommandListener { ... } http://www.microjava.com/articles/techtalk/midp2_games
  • 47. Java ME Game Demo • JumpCanvas class extends MIDP GameCanvas > Pinta game background y pide al LayerManager pintar las piezas del juego > Queries para las key presses and updates state > Pide al LayerManager avanzar las piezas del juego para el siguiente timestep public class JumpCanvas extends javax.microedition.lcdui.game.GameCanvas { ... } http://www.microjava.com/articles/techtalk/midp2_games
  • 48. Java ME Game Demo • JumpManager class extends MIDP LayerManager > Pinta las piezas del juego (cowboy, grass, tumbleweeds) > Setea el visible window viewport para el juego game > Update de la animacion para la pieza del juego, avanza las piezas, chequea las colisiones public class JumpManager extends javax.microedition.lcdui.game.LayerManager { ... } http://www.microjava.com/articles/techtalk/midp2_games
  • 49. Java ME Game Demo • Cowboy y Tumbleweed son MIDP Sprites > Se avanzan ellos mismos en el game board > Update de los frames de animación • El pasto es un MIDP TiledLayer > Game UI es una secuencia de imagenes > El Tiled es animado http://www.microjava.com/articles/techtalk/midp2_games
  • 52. Introducción: Que es Java FX? • JavaFX es una nueva familia de tecnologías Java que ayudarán a crear rich Internet applications (RIA). • JavaFX Script es un lenguaje de scripting altamente productivo que permite a los desarrolladores de contenido crear multimedia y contenido para plataformas en ambientes java. JavaFX Script es un lenguaje de programacion declarativo, tipado estaticamente. Tiene funciones de primer clase, sintaxis declarativa, comprension de listas y evaluacion incremental dependiente. Puede hacer llamadas directas a cualquier API de Java que exista en la plataforma --https://openjfx.dev.java.net/
  • 53. Introducción: Que es Java FX? • Java FX Player : el software de RunTime requerido para correr aplicaciones JavaFX (presente en JRE 1.6.0) • JavaFX Mobile : un sistema completo (SO y ambiente de aplicacion) construido con Java, GNU/Linux y otras tecnologías open source
  • 56. JavaFX, la nueva tecnología en interfaces gráficas
  • 58. ¿Por que Java FX? • Escribir GUIs es dificil (y molesto) > Sí, Matisse ayuda un poco, pero... > Todavia hay demasiados listeners . • GUIs por default son feas > Una herencia de cajas grises rectangulares (no solo en Java) > No tan pirotecnicas como los websites FLASH • Java 2D provee mucho de lo que se necesita, pero... > Es complicado de usar para este propósito > No tiene un comportamiento composicional La sintaxis declarativa de Java FX's, combina los widgets “Swing” tipicos con la funcionalidad composicional de Java 2D, logrando que escribir interfaces gráficas sea facil, y con mejores resultados
  • 59. Muchas Gracias Silvana Canuto Canete – Nicolás Alonso Sun Campus Ambassadors silvana.canete@sun.com http://blogs.sun.com/Argentina_ambassador