miércoles, 29 de abril de 2009

JetBrains RubyMine 1.0 - un nuevo IDE de Ruby y Rails

  PRAGA, 29 de abril /PRNewswire/ -- JetBrains, los creadores de
herramientas de desarrollo inteligentes para mejorar la productividad, han
anunciado la disponibilidad general de RubyMine 1.0, el nuevo IDE (entorno de
desarrollo integrado) de la compañía para desarrollo productivo de Ruby y
Rails.




Nota Completa

lunes, 20 de abril de 2009

Oracle Compra Sun Microsystem

Me llego la noticia a las 09:00 am centro de México, Oracle ha comprado Sun Microsystem y con ello toda la tecnología desarrollada por esta. La nota completa esta aquí: http://www.ticpymes.es/Noticias/General/200904200037/Oracle-compra-Sun-Microsystems.aspx

Ahora la pregunta es, ¿Las aplicaciones que son de licencia dual de Sun? lo seguirán siendo, ¿qué nos espera con Java?, ¿A donde ira OpenSolaris?.

Esperemos que esta compra sea un visto bueno para todos y se mantengan las  actuales políticas de la empresa de Sun, aunque todos sabemos que no será así, y abra muchos cambios.

Aunque aun falta que se apruebe dicha transacción…

domingo, 19 de abril de 2009

Introducción a Java [Elementos de un programa]

Bien ahora que estamos aprendiendo a programar en Java, necesitaremos conocer como esta constituido un programa.

En esta ocasión trabajare con el IDE BlueJ para tener una mayor comodidad, y evitar el problema de licencias.

Comenzaremos por crear un nuevo proyecto de blueJ para ello ejecutamos el programa y nos dirigimos al menú Project –> New Project.

En mi caso personal le pondré el nombre de practicas, para hacer referencia a las practicas que realizaremos durante nuestra introducción al lenguaje.

Bien ya que tenemos nuestro proyecto llamado practicas, crearemos una nueva clase, el nombre de la clase que usare es el de elementos Yo decidí poner este nombre en referencia a los elementos que veremos hoy.

Teniendo nuestra clase elementos ya lista, daremos clic sobre esta para comenzar a editarla, como notarán tenemos ya un código de ejemplo, lo que nosotros realizaremos es borrar esta parte del código.

// instance variables - replace the example below with your own
  private int x;

  /**
   * Constructor for objects of class elementos
   */
  public elementos()
  {
      // initialise instance variables
      x = 0;
  }

  /**
   * An example of a method - replace this comment with your own
   *
   * @param  y   a sample parameter for a method
   * @return     the sum of x and y
   */
  public int sampleMethod(int y)
  {
      // put your code here
      return x + y;
  }

Para crear uno nuevo método principal de la siguiente forma:

/*
     * Este es el método principal llamado main este método  básicamente esta
     * constituido por un vector cadena el cual devolverá algún parámetro introducido
     * en tiempo de ejecución.
     * Public indica que el método es publico y estatico.
     */
    public static void main (String [] args)

/*
        * System.out.println es un método que se encuentra en el paquete
        * java.io el cual sirve para desplegar en consola cualquier cadena
        * de caracteres que introduzcamos.
        */
       System.out.println ("Bienvenido a Java");

Y este es nuestro programa en sí:

/* El nombre de la clase se llama elementos, por lo tanto el archivo
* que se genere se ha de llamar elementos.java y elementos.class.
* el modificador public indica que la clase es publica y accesible.
*/

public class elementos
{
    /*
     * Este es el método principal llamado main este método  básicamente esta
     * constituido por un vector cadena el cual devolverá algún parámetro introducido
     * en tiempo de ejecución.
     * Public indica que el método es publico y estático.
     */
    public static void main (String [] args)
    {
        /*
         * System.out.println es un método que se encuentra en el paquete
         * java.io el cual sirve para desplegar en consola cualquier cadena
         * de caracteres que introduzcamos.
         */
        System.out.println ("Bienvenido a Java");
    }

}

Hacemos clic en el botón compile, para compilar nuestro programa, para ejecutarlo, solo hace falta ir a la parte principal del programa donde se encuentra la clase

image

Y dar clic en el método void main(String [] args), nos aparecerá un recuadro con unos corchetes, simplemente damos clic en Ok para continuar.

image

Y podemos obtener la salida en pantalla.

Para compilar desde la consola de MS-DOS o Shell en Unix, disponemos de los siguientes comandos javac nombre.java y java nombre para correr el archivo de clase. 

Hasta aquí hemos aprendido como mostrar mensajes en la consola de Java usando BlueJ en entregas posteriores iremos adentrándonos aún más en el lenguaje.

sábado, 18 de abril de 2009

JavaFX [Manejo de TextField, Buttons y Variables]

 

Continuando con nuestro aprendizaje de JavaFX, esta vez realizaremos una aplicación gráfica que nos permita sumar dos números x,y para ello ejecutaremos nuestro IDE NetBeans y realizaremos un nuevo proyecto JavaFX al que llamare sumas o como gusten ponerle.

Ya que tenemos nuestro nuevo proyecto, borraremos todo el contenido a excepción de la palabra package

comenzaremos por importar las siguientes librerías para trabajar:

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.ext.swing.SwingTextField;
import javafx.ext.swing.SwingLabel;
import javafx.ext.swing.SwingButton;

Ahora declare tres variables que necesitare para almacenar la información.

var x1;
var x2;
var result;

Estas variables nos servirán para que los resultados que introduzcamos por medio de los TextField se almacenen en ellas.

El siguiente punto es la creación de los TextField, a diferencia de los JFrames, Applets, y Frames o Panels, la declaración de los TextField con JavaFX Script se realiza como si fuesen variables, de hecho son variables.

var numero1 = SwingTextField {
    columns: 10
    text: "0"
    editable: true
    translateX: 125
    translateY: 5
}

var numero2= SwingTextField {
    columns: 10
    text: "0"
    editable: true
    translateX: 125
    translateY: 35
}

var resultado = SwingTextField {
    columns: 10
    text: "0"
    editable: false
    translateX: 125
    translateY: 65

}

Entendiendo un poco más lo que estamos viendo en el código:

columns: Indica el número de caracteres que puede almacenar nuestro SwingTextField.

text: Indica el texto que contendrá nuestro SwingTextField.

editable: Indica si nuestro SwingTextField es editable o no.

translateX: Indica la posición en el eje X de la aplicación de nuestro SwingtextField.

translateY: Indica la posición en el eje Y de la aplicación de nuestro SwingTextField

Una vez que ya hemos dejado en claro algunas palabras de Java FX Script, pasaremos a crear nuestra aplicación, la cual hemos de realizar del tipo Stage.

Stage {
    title : "Suma Simple con JavaFX"
     width: 255
     height: 200

    scene: Scene {
        content: [

        //Cuadros de Información
        numero1,
        numero2,
        resultado,

                SwingLabel {
            text: "Escriba 1er Número:"
            translateX: 0
            translateY: 10
        }

        SwingLabel {

            text: "Escriba 2do Número: "
            translateX: 0
            translateY: 40

        }

        SwingLabel
        {
            text: "Resultado: "
            translateX: 0
            translateY: 70
        }

        SwingButton {
            text: "Sumar"
            translateX: 0
            translateY: 110
            action: function() {

                x1  = Integer.parseInt(numero1.getJTextField().getText());
                x2 = Integer.parseInt(numero2.getJTextField().getText());

                result = x1 + x2;

                resultado.getJTextField().setText("{result}");

                //println("La suma de {x1} + {x2} = {result}");

                }
        }

        // Boton para Borrar

                SwingButton {
            text: "Borrar"
            translateX: 80
            translateY: 110
            action: function() {

            numero1.getJTextField().setText("0");
            numero2.getJTextField().setText("0");
            resultado.getJTextField().setText("0");

            }
        }

        ]
    }
}

Entendiendo mejor el código.

los corchetes significan el inicio de la aplicación { } y el final de la misma.

title: Indicare el título en la barra de títulos (que titulo queremos ponerle a la aplicación)

width: Indica el ancho de nuestra aplicación

height: Indica el largo de nuestra aplicación

scene: Scene {}: Dentro de esta se encontrarán aquellas funciones del programa tal como llamar botones, etiquetas etc pero para ello se necesita de la siguiente palabra.

content: [] marca el contenido de la aplicación.

ahí pueden ver numero1, numero2, result, básicamente son llamadas a las variables para que nuestros JSwingTextField puedan incluirse en el Stage, de otra forma marcarían error.

SwingLabel: son las declaraciones de etiqueta

text: es el texto que ha de contener la etiqueta

SwingButton: Un botón

text: el texto del botón

action: function () {} indica que función va a realizar el botón cuando sea presionado.

Integer.parseInt: Convierte una cadena de texto a un valor entero

.getJTextField().getText(): Indicamos que queremos obtener un valor del campo.

getJTextField().setText(“"): Indicamos que queremos colocar otro valor al campo.

Los corchetes con variables indican que las  variables se van a imprimir dentro de la cadena, así nos ahorran un poquito de código de conversión.

Y el resultado de la aplicación JFX viene quedando como se muestra en la imagen de abajo:

image

Creando un ejemplo de JavaFX

Java FX, es la nueva tecnología de Sun para competir contra Silverlight de Microsoft, Apollo de Adobe.

JavaFX puede definirse esencialmente como la evolución de JavaScript, puesto que algunas de sus sentencias son parecidas a JavaScript, y cuando no mucho similar, en esta ocasión presentare un pequeño ejemplo basado en los tutoriales en Inglés de la página.

Lo necesario:

  1. NetBeans 6.5.1 con soporte para JavaFX (puede descargase el plugin desde la página del IDE).
  2. La última versión del compilador Java.

Si disponemos de estas herramientas podemos proceder a elaborar nuestra aplicación.

Lo primero es pedir un proyecto nuevo de JavaFX, para ello nos vamos al menú File –> New Project –> JavaFX –> JavaFX Script Aplication

Seleccionamos siguiente y ponemos el nombre a nuestra aplicación, en mi caso particular he puesto operaciones.

Observarán que se carga un código por defecto, como nuestra aplicación ejecutar en consola algunas operaciones, borramos toda las líneas de código exceptuando aquella que tiene package

Comenzaremos a declarar las variables, para ello defenimos las siguientes variables:

def numero1 = 60;
def numero2 = 20;
var resulta ;

Ahora creamos los nombres de las funciones y el orden en que se ejecutarán.

suma();
resta();
producto();
division();

 

Por último creamos las funciones con el mismo nombre que colocamos en las llamadas.

function suma () 
{
resulta = numero1 + numero2;
println ("La suma de {numero1} + {numero2} = {resulta}"
}
function resta ()

resulta = numero1 - numero2; 
println ("La resta de {numero1} - {numero2} = {resulta}"
}
function producto ()

resulta = numero1 * numero2; 
println ("El producto de {numero1} * {numero2} = {resulta}"
}
function division() 
{
resulta = numero1 / numero2;
println ("La división de {numero1 } / {numero2} = {resulta}")
}

Ahora no queda más que ejecutar nuestra aplicación  presionado la tecla de función F6, y ver los resultados en la salida.

image

Esto ha sido una pequeña introducción al manejo de funciones y variables con JavaFX, aunque es una tecnología algo nueva, presenta mucho potencial, puesto que las aplicaciones Applets basadas en JavaFX pueden “sacarse” del navegador y portarse en el escritorio.

Los manuales de introdución a javaFx: http://java.sun.com/javafx/1/tutorials/core/

Definición de Java

Comenzare el primer post de este blog haciendo una pequeña introducción al lenguaje de programación Java, para ello definiremos que es Java.

Java es un lenguaje de programación orientado a objetos que deriva de C++ (con esto me refiero a que su sintaxis es parecida a C++), el proyecto inicio en 1993 por parte de Sun MicroSystem bajo el nombre de Oak, el propósito inicial del lenguaje era poder controlar electrodomésticos.

Java, es un lenguaje de programación muy portable a diferentes plataformas, ya que cualquier programa, applet, que se desarrolle por ejemplo en un Sistema que tenga GNU/Linux con procesador Motorola, no requerirá cambios si lo deseamos ejecutar en una máquina Intel con Windows instalado, esta es una de las ventajas que presenta este lenguaje su portabilidad, ya que cuando compilamos un programa, se genera un bytecode. ¿Qué es un bytecode? un bytecode formalmente es un archivo binario que contiene un programa ejecutable, Java utiliza este tipo de tecnología, los bytecode son interpretados por la JVM (Java Virtual Machine o Maquina Virtual de Java), también conocido como Java Runtime Enveroment, la cual esta disponible para diferentes sistemas.

El modelo de programación de Java, como se menciono anteriormente es orientado a objetos, entre las características del lenguaje esta la reducción y reutilización de código, eliminación de algunas ambigüedades de C++ aportando mejoras, utilerías que reducen considerablemente nuestro código fuente.

La filosofia del lenguaje en marca lo que actualmente es y maneja:

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

A lo largo del desarrollo de este blog, aprenderemos las diferentes tecnologias manejadas por Java, haciendo una pequeña introducción en el manejo de las mismas, y ayudando al usuario que quiera aprender este lenguaje. Espero que este blog te sirva de apoyo y ayuda.