Puedes hacerlo mejor en "tu" lenguaje de programacion?
viernes, enero 16, 2009 at 2:56AM Esta serie de posts no está destinada a demostrar la superioridad de un lenguaje de programación sobre otro, el objetivo es encontrar la mejor manera de escribir códigos que un programador de GUIs enfrenta a diario. Cuando digo "la mejor manera", me refiero a un equilibrio adecuado entre agilidad y legibilidad, que en mi opinión, define la calidad de un lenguaje. La idea es que si conoces un lenguaje que permite mejorar la forma de codificar el fragmento mostrado aquí (seguramente que si), entonces lo publiques, para entre todos evaluar los mejores. También son bienvenidas versiones mejoradas de las que he escrito, y por supuesto, comentarios en general.
La principal razón por la que elegí JavaFX, es que francamente creo que es el lenguaje que permite ser más ágil para "programar" gráficos (hasta el momento).
Esta primera parte tiene como objetivo mostrar la forma de enlazar (binding) dos objetos, en este caso, el color de un objeto es determinada por el texto en un campo de texto. Si el texto dentro del campo de texto es 'aeiou' entonces el círculo se pinta de color verde, de lo contrario de color rojo.
Viendo la función processTheText como el "controlador", se puede notar la total separación entre la vista y la lógica.
/*
* DoItBetter1.fx
*
*/
package doitbetter;
import javafx.scene.control.TextBox;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
var theText = "";
Stage {
title: "Binding between GUI controls"
width: 400
height: 200
scene: Scene {
content: HBox {
spacing: 10
content: [
TextBox{
text: bind theText with inverse
}
Circle{
radius: 10 centerY: 10
fill: bind processTheText(theText)
}
]
}
}
}
function processTheText(auxText){
if(auxText == "aeiou") Color.GREEN else Color.RED
}
otro 
Reader Comments