PROGRAMACION EN JAVA, NETBEANS Y GNU/LINUX Victor Leonel Orozco Con información y material del netbeans world tour 2007-2008.

Slides:



Advertisements
Presentaciones similares
Características Generales y Entornos de Desarrollo
Advertisements

Curso de Java Capitulo 1: Introducción a Java Profesor:
Programación Interactiva Introducción a Java
Esta obra está bajo una licencia de Creative Commons.
Plataforma Microsoft.NET
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
TIPOS DE SOFTWARE Se denomina software a un programa, equipamiento lógico o soporte lógico necesario para hacer posible la realización de una tarea con.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
Desarrollo DE apps móviles
¿ Por que utilizar Java y la POO
Entorno de Trabajo e Introducción a Java Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 1.
¿Que es Yii ? Framework para PHP de alta performance basado en componentes web para desarrollar aplicaciones web de gran escala. Yii es un framework que.
Migrando al mundo del ñu/pingüino/... Victor Leonel Orozco López Presentacion con colaboracion de: Eddy Ruiz Javier Alvarez.
Utilización y administración avanzadas de sistemas GNU/Linux y aplicaciones Software Libre para estudiantes universitarios Recursos de programación en.
Informática es una ciencia que estudia métodos, procesos, técnicas, con el fin de almacenar, procesar y transmitir información y datos en formato digital.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
QTJAMBI Victor Leonel Orozco Shekalug.
ASPECTOS GENERALES. Introducción. ¿Qué es Moodle? Arquitectura. Especificaciones técnicas. Características generales. ¿Cómo puede ayudar Moodle en clase?
Sistema Online de Firma Electrónica
Herencia Multiple en Java
INGENIERÍA DE INFORMACIÓN Y APLICACIONES
Diseño y Programación Orientados a Objetos
Nombres: Jhonatan Naranjo Daniel Mejía Curso: 901
SPRING ROO Víctor Orozco.
EL ESTADO DE SALUD DE JAVA
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
Diseño y Programación Orientados a Objetos
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Diseño y Programación Orientados a Objetos
FECHA ÚLTIMA REVISIÓN: 13/12/11
Ingeniero en Computación José Alfredo Cobián Campos
Agustín J. González Programación de Sistemas: ELO-330
Clasificación de Software
Hibernate y ORM Victor Leonel Orozco.
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Aplicaciones Web 1 CAPITULO 1 Introducción a las aplicaciones Web Ing. Jeffery Naranjo Msc
Lenguaje de Programación Java
Lenguajes de programación Lara Pedraza Cindy Denise Alvarez Guzman Marco Antonio Reyes Valdespino Israel ALA Gomez Cañedo natanael.
Tecnología de la Información Software
Ing. Victor Padilla Farías. LINUX INTRODUCCIÓN Si conserva un antiguo 386 ó 486, puede que lo quiera aprovechar con Linux. No va a alcanzar velocidades.
Ing. Victor Padilla Farías. LINUX INTRODUCCIÓN Si conserva un antiguo 386 ó 486, puede que lo quiera aprovechar con Linux. No va a alcanzar velocidades.
Tecnología de la Información Profesora Ariana Rosenthal Software
 PhoneGap es un framework de código libre para el desarrollo de aplicaciones móviles. Su principal característica: multiplataforma, es decir, con un.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Prof. Ofelia Verónica Méndez Lemus Prof. Erika C. Calderón García
Cristian Chocarro Mellado Implantación de sistemas operativos 1º ASIR
R.A 2.1:EDITORES Y PROCESADORES DE TEXTO
Tema 1 El entorno de desarrollo de C#
INTRODUCCIÓN A JAVA.
Diseño y Programación Orientados a Objetos
Java Historia Datos ¿ Por qué eligen Java ?.
Faber Orozco PROGRAMACIÓN DE DISPOSITIVOS MÓVILES
SOL GUTIÉRREZ Y MARIANA HEINTZ 4°C Prof. Gustavo price
Instituto Universitario Tecnológico Rodolfo Loero Arismendi
EL SISTEMA OPERATIVO Es un conjunto de programas hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la computadora.
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
TIPOS DE SISTEMAS OPERATIVOS ● Sistemas Operativos de multiprogramación (o sistemas operativos de multitarea). ● Sistemas Operativos distribuidos. ● Sistemas.
QUE ES UN SISTEMA OPERATIVO ANDROID  Es un Sistema Operativo además de una plataforma de Software basada en el núcleo de Linux.  Permite controlar dispositivos.
Características Generales y Entornos de Desarrollo
Java Enterprise edition
Entendiendo PHP En diseño de software en el Front-end es la parte del software que interactúa con los usuarios. Es la persona que se encarga del diseño.
“Conceptos Básicos de Java”
Prepa Yucatán Mons. Luis Miguel cantón Marín Nombre de editores gratuitos de HTML, CSS y JavaScript Timna Jiménez Pérez.
Diseño y Programación Orientados a Objetos
Ingeniería de Sistemas. Programación II Python ¿Qué es Python? Python es un lenguaje de programación creado por Guido Van Rossum a principios de los.
Diseño y Programación Orientados a Objetos
Adm. Sistemas Operativos Arquitectura de Plataformas y Servicios Tic.
ESTRUCTURA DE LO SISTEMAS OPERATIVOS Presentado por: Jennifer.
Navegadores y buscadores. ¿Qué es un Navegador? Un navegador o navegador web, o browser, es un software que permite el acceso a Internet, interpretando.
Transcripción de la presentación:

PROGRAMACION EN JAVA, NETBEANS Y GNU/LINUX Victor Leonel Orozco Con información y material del netbeans world tour

¿Víctor Orozco? ● Orgullosamente sampedrano ● Apasionado por la informática desde 1994 ● Experiencia con windows 3.1 hasta windows XP ● Estudiante de ingeniería en ciencias y sistemas, ● Experiencia con lenguajes de programación de ultima generación, especializado en java y oracle 10g sobre GNU/Linux(certificado por tatta consulting services ).

¿Víctor Orozco? ● Usuario GNU/Linux desde 2003 – Mandrake – Suse ● Usuario full time de GNU/Linux desde 2005 – Suse – Mandriva – Fedora/Centos – Gentoo – Experimentando siempre con free software (solaris, bsd y lo que venga) ● Administrador del LoCo team ubuntu-guatemala ● Miembro fundador de shekalug ● Adicto a la cafeína, heavy metal y free software, especialmente en gentoo linux

Agenda ● Programación multiplataforma ● Java ● Un programa hola mundo ● Netbeans ● Netbeans y GNU/Linux ● Conociendo la herramienta y haciendo un hola mundo gráfico

Es imposible aprender un lenguaje con mas de 10 años de existencia en un taller de 2 horas, no digamos un paradigma de programación orientado a objetos.

Programación multiplataforma Multiplataforma es un término usado para referirse a los programas, sistemas operativos, lenguajes de programación, u otra clase de software, que puedan funcionar en diversas plataformas. Por ejemplo, una aplicación multiplataforma podría ejecutarse en Windows en un procesador x86, en GNU/Linux en un procesador x86, y en Mac OS X en uno x86 (solo para equipos Apple) o en un PowerPC. Fuente: Wikipedia

Lenguajes multiplataforma – Código, el código es portable pero necesita ser recompilado (C,C++) – Aplicación, el código se escribe una ves y se interpreta, total o parcialmente (java, ruby, python, perl)

Lenguajes multiplataforma – Perl – Ruby – Python – Java –.net (parcialmente)

Java 1991: Sun Microsystems diseña un lenguaje diseñado para sistemas embebidos,(set-top-boxes), electrodomésticos. Lenguaje sencillo, pequeño, neutro. Ninguna empresa muestra interés por el lenguaje 1995: Java se introduce en Internet, lenguaje muy apropiado Netscape 2.0 introduce la primera JVM en un navegador WWW (Máquina virtual Java) Filosofía Java: “Write once, run everywhere” 1997: Aparece Java 1.1. Muchas mejoras respecto a : Java 1.2 (Java 2). Plataforma muy madura Apoyado por grandes empresas: IBM, Oracle, Inprise, Hewtlett- Packard, Netscape, Sun 1999: Java Enterprise Edition. Java comienza a ser una plataforma de desarrollo profesional.

Java Basado en: C++ SmallTalk Caracteristicas: OOP puro Sencillo No hay gestión de memoria (Garbage Collector) Librerías estándar Multiplataforma Interpretado/Compilado (Bytecode)

Como funciona Maquina virtual java + API's desarrolladas Mi programa java Sistema operativo

Donde esta java Encontramos java en: Escritorio (Swing,AWT,SWT) Servidores Web (JSP,Servlets) SOA(RMI,CORBA,EJB) WWW(Applets) Grafica(Java2D,Java3D) En casi cualquie plataforma programable

Herramientas necesarias JDK (Java Developer Kit): Compilador Depurador Maquina Virtual Documentacion Classpath Entorno de desarrollo Gedit Emacs Eclipse Jdeveloper (Gratis) Netbeans

Licencia del JDK Actualmente Sun Microsystems publica el JDK oficial con una licencia de uso gratis pero no libre, sin embargo esta en proceso de liberación del mismo en el proyecto conocido como OpenJDK y disponible en Ubuntu y Fedora. Libres ● OpenJDK ● Gcj y gnu classpath Propietarias ● IBM jdk ● Bea jrockit

Sintaxis

Tipos de dato

Recordemos objetos Atributos -Color -Alto -Ancho Metodos -establecerColor -obtenerColor... Cuadrado

Clases

Una agrupación de datos (variables y campos) y de funciones (métodos) para acceder a ellos

Clases Una agrupación de datos (variables y campos) y de funciones (métodos) para acceder a ellos

Hola mundo 1) Hacer el programa 2) Compilarlo “javac” 3) Ejecutarlo “java”

NETBEANS (Instalemos netbeans)

¿Que no es netbeans?

No es un simple editor de java o únicamente exclusivo para java

No es una herramienta costosa

No es producto de años de investigación en un laboratorio secreto

¿Que es netbeans?

Un proyecto open source ● Patrocinado por Sun Microsystems ● 100% desarrollado en java ● Disponible para windows, linux, solaris, macos ● Simplemente una de las mejores herramientas de desarrollo que se puedan imaginar Es tanto una plataforma como un IDE de desarrollo

La plataforma netbeans ● Un conjunto de plug-ins(modulos) ● Un framework para desarrollo de aplicaciones ● Lo que queda cuando hacemos a un lado el IDE ● IDE=Plataforma+Modulos especificos IDE ● Entorno integrado de desarrollo (por sus siglas en ingles).

El IDE ● Si el IDE esta pensado para ser una aplicación basada en la plataforma netbeans, prácticamente puedo elaborar mi propio IDE a base de plug-ins.

¿Porque netbeans me ayuda frente a un editor de texto? ● Los frameworks no son nada nuevos. ● 37% de codigo para diseñar interfaces gráficas sobre swing es idéntico al 37% de otras aplicaciones basadas en swing.

¿Porque netbeans me ayuda frente a un editor de texto? ● Los frameworks no son nada nuevos. ● 37% de código para diseñar interfaces gráficas sobre swing es idéntico al 37% de otras aplicaciones basadas en swing.

Algunas otras razones ● La plataforma soporta dependencias y actualizaciones automáticas ● Ayuda a mi aplicación a crecer ● Ayuda a invertir mi tiempo en la lógica del negocio del programa y no en todo el programa en general

No estamos solos ● Swing Application Framework (JSR-296) ● Eclipse ● Spring ● Otras más de las cuales no tengo ni idea y por eso no menciono

Swing Application Framework ● Soporte para necesidades básicas en el desarrollo de interfaces gráficas (geometría de botones) ● Solamente...

Eclipse RCP ● Es el otro jugador fuerte ● Un proyecto bastante maduro ● Infinidad de características ● Open Source (EPL) ● Documentación y ejemplos ● Bastante ligero frente a netbeans ● Utiliza SWT ● Limitantes de plataforma (menores) ● Es difícil utilizar código swing

Spring RCP ● Un subproyecto de spring frameworks (el reemplazo ligero de J2EE). ● Es bastante reciente y prometedor ● Pocos plugins ● No podemos esperar mas de algo que inicio hace un par de años como proyecto experimental

La plataforma netbeans ● Proyecto maduro (2001) ● Open Source (CDDL variante de MPL, GPL a excepcion del classpath y plug-ins con licencia propia) ● 99% java ● Apuesta por el uso de swing ● Documentación y ejemplos ● Infinidad de características

Características de netbeans ● Módulos con administración de dependencias ● Actualizaciones automáticas ● Sistema de ventanas ● Ayuda java integrada ● Administración de sistema de archivos flexible ● Construcciones con ANT

Netbeans no solo es java ● Ruby ● C/C++ ● JavaScript ● UML ● SOA ● PHP(Aun en desarrollo inicial)

Netbeans es modular ● Modulo ● Partes simples de aplicaciones ● Partes que proveerán características a nuestra aplicación ● ¿Que contiene un modulo? ● Un XML descriptor ● Recursos embedidos ● JAR y bibliotecas nativas ● Posiblemente ayuda en formato java

Llevemos nuestro hola mundo a netbeans

Netbeans the only IDE you need! ● Shekalug – – ● Su servidor – – ● Ubuntu-Guatemala – ● En la red (tuxtor) Gracias