Tuesday, February 27, 2007

Some Desktop Features in Java SE 6

Hola a todos,
Esta vez quería hablarles del nuevo y recien lanzado JDK 6 más que todo de algunas nuevas mejoras que tiene en cuanto a interfaz se refiere. Realmente mejoraron bastente esta parte en este nuevo release. pero sin mas empecemos.
Splash Screens 
Para los que no son familiares con este término, los Splash Screens son pantallas/imagenes que aparecen al momento de lanzar una aplicación y su objetivo es estar ahí mientras el programa se va cargando, lo que hacen es hacer un feedback de lo que esta pasando, algunos programas o aplicaciones tardan en cargar entonces se usan estos Splash Screens para mostrarle al usuario que la aplicación esta cargando. A mi parecer se han vuelto como un standard en las nuevas interfaces de usuario. En fin ahora Java SE 6 provee esta funcionalidad pero de forma mucho mas mejorada, ahora se puede lanzar Splash Screen mucho mas antes incluso antes de que la VM empiece, puede cargar una imagen (gif) en una ventana simple sin nada de decoración. Hay dos formas de probarlo rápidamente la primera es escribiendo lo siguiente en la línea de comandos:
 java -splash:filename.gif SplashTest  
ojo que la imagen debe estar en el mismo path donde lo ejecutan o tb le pueden dar el pathde de la imagen. Esta forma es la mas sencilla de probar esta nueva funcionalidad.
la otra forma es usandola en nuestro archivo jar que lanza nuestra aplicación para esto debemos modificar elmanifest  , lo que se hace es poner el siguiente código en el archivo manifest.mf
  Manifest-Version: 1.0
     Main-Class: SplashTest
     SplashScreen-Image: filename.gif
 Ojo que en esta opción hay que poner la imagen dentro del JAR y darle el path.
Esta para mi es una gran mejora porque antes para poder hacer esto se podia usar Swing o AWT pero tardaba un montón porque primero tenía que cargar la VM, algunas dependencias, en resumen tardaba en aparecer. 
Lo bueno de esto es que tb se puede hacer varias funciones con Splash Screen (cambiar imagen, cerrarla, posición imagen, etc ) desde código usando la clase java.awt.SplashScreen
System Tray 
Esta nueva función es la que mas me gusta personalmente. Java SE 6 nos da al fin la posibilidad de acceder al system tray de windows y/o linux gracias a las clases SystemTray and TrayIcon  ambas en java.awt.
 
 
en las imágenes podemos ver ejemplos en windows y en Gnome. A mi parecer esto es bastante útil. El método estático SystemTray.isSupported() nos devuelve true si es que el system tray es soportado por el SO donde ejecutamos el código y false de no serlo. Yo creo que vale la pena probarlo más, ya que tb soporta el poner menús contextuales, íconos, esta bueno.
Grey Rect Arreglado
Este problema de interfaz lo podíamos ver cuando nuestra aplicación estaba dejabo de otra, cambiamos de ventana para regresar a la nuestra y veíamos como se refrescaba toda nuestra aplicación dejando una ventana ploma por algunos segundos hasta que termine el refrescado. Esto me ocurrió en interfaces Swing y yo creo que a todos. Al fin el equipo de Swing pudo corregir este problema en esta imagen podemos ver una comparativa entre las diferentes versiones:
 Increible como redujeron los tiempos no?
Otros detalles 
En fin para resumir un poco porqueno quiero aburrirlos, hicieron tb otras mejoras respecto al despliegue de texto en LCD's que usan subpixel para mejorar la resolución del texto ahora ya viene soportado en esta nueva versión sin importar que look and feel utilices en tus programas, aún lo probe pero apenas tenga tiempo lo hago :)
Otra cosa que ví y me intereso mucho es que viene con soporte para look and feel nativo, por ejemplo en JDK 5 traía soporte para poder utilizar los themes que venían en XP pero en vista microsooft cambio estos recursos y ya no son disponibles, clásico de ellos. En fin para resolver esto usaron un API llamando UxTheme que fue hecho por Windows Blinds, en teoria cualquiera puede utilizar este API para extenderlo y lo que se desee, bueno lo probaron en Windows Vista y funcionó perfectamente. Esto si que habría que probarlo el problema es que no hay windows vista para probar en casa :( 
Bueno esto ya se hizo muy largo en otro post hablare un poco sobre las mejores en tablas , ventanas, el nuevo Desktop API y algunas otras cosillas, para los que quieran ver mas sobre estas mejoras les recomiendo leer esteartículo  donde todo esta mucho mas explicado y con varios ejemplos y lecturas recomendadas.
salu2. 

Thursday, February 22, 2007

Ciencia y Fe

Hola a todos,
Quería compartir este diagrama de flujo con ustedes
 
Interesante no?
via microsiervos

salu2.

Problemas de acceso a Ajayu

Hola a todos,

No sé si últimamente han experimentado problemas al ingresar a Ajayu desde fuera de la U, yo personalmente tardo un montón en cargar la página y a veces  no carga y sale puro código o carga a medias y eso que tengo una conexión rápida. Es por que estan en inscripciones en la U?  y el tráfico esta saturado?

Thursday, February 15, 2007

Cuan importante es el Coding Style?

Hola a todos,
 Que tan seguido nos preocupamos por el code style que usamos al momento de programar? estoy casi seguro que si ponemos a 3 programadores en un proyecto ya sea pequeño y o no los 3 tendrán diferentes formas de presentarnos su código. Esto es un problema si es que queremos estandarizar o tener un código consistente para  que todos los que programan lo entiendan y si integración sea mas fácil.

Mayormente los proyectos grandes definen el code style antes de empezar para que así sea mas fácil entenderlo para todos. Es verdad que muchos diran que ya hay herramientas que nos hacen ese trabajo automáticamente, por ejemplo varios ID's ya vienen con standares predefenidos que nos hacen la vida mas fácil y que tb son configurables a nuestras necesidades. Incluso existen herramientas como CheckStyle que nos ayudan a encontrar posibles problemas en el code style.

 Yo creo que usar esas herramientas que formatean tu código automáticamente a un estandar predefinido es una buena práctica si es que no se la hace seguido, concuerdo con que se la deba hacer una vez cada cierto avance para ver los posibles problemas y demas, pero hacerla seguido lo veo pérdida de tiempo, en un ambiente ideal si el code style es definido al principio para todos entonces no debería que hacer este chequeo constantemente no creen?

Cada lenguaje tiene su propio estandar y estilo de codificación  el de java nos dice como declarar clases, variables, constantes, manejo de espacios, archivos etc,etc, yo creo que vale la pena si quiera por curiosidad saber algunos de estos estandares e incluso empezar a aplicarlos ya sea en el trabajo o en los proyectos de la U, a mi parecer es una práctica que es necesaria hacerla.

Yo no me acuerdo haber tenido algún docente en mi formación formal que me haya hablado sobre esto no sé si ya lo hacen y si no, tal vez sería bueno empezar a enseñar esto o inculcarlo desde un principio. Yo creo que es algo que ayudaría en los talleres para que así al momento de integrar las partes sea mucho mas fácil y entendible y a futuro en el ambiente laboral.

Uds que opinan tienen algún code style personal? o siguen aguno ya predefinido por un lenguaje en específico?

salu2.

Wednesday, February 14, 2007

Que paso con google

Hola a todos,

 Estaba tranquilo hoy en la mañana y como es de costumbre abrí el navegador y por defecto tengo la página de google como es costumbre para muchos y miren con lo que me tope

que ya no se llama google? XD
foto via testblog 

salu2.

Monday, February 12, 2007

OOP is dead

Hola a todos,

 Este artículo compuesto por parte 1, parte 2, y parte 3 me pareció bastante interestante, algo extenso pero intresante. El autor se basa en varios ejemplos y algunos eventos que han pasado para consolidar su opinión de que los lenguajes orientados a objetos estan perdiendo su escencia y muriendo, esto debido a que varios de estos como java y C# estan añadiendo cada vez mas funcionalidades o mejor dicho facilidades a los programadores que son características de lenguajes funcionales para ser mas exactos. Esto podemos ver en los reviews de las siguientes versiones de java 7 y C# 3 donde los delegates quedan obsoletos y la aparición de los extension methods. Incluso en un post de Alexey nos habla algo de esto y tb Pablo aquí.

En cierta forma es verdad, cada vez las evoluciones de los lenguajes OO nos llevan a usar paradigmas distintos a este.

En otras opiniones dicen que OO no esta muerto que si no que esta madurando.

Ustedes que piensan al respecto, será que los lenguajes OO estan perdiendo su escencia? Son realmente tantas la limitaciones del paradigma OO que llevan a estos lenguajes a buscar las soluciones en otros paradigmas?, Si me preguntan a mí aún no tengo una respuesta clara a estas preguntas Ustedes?.

saludos.

Thursday, February 8, 2007

Interfaces Gráficas

Hola a todos,

Se imaginan una interface cmo esta? muy buena!! pero debe ser cansador ademas que estar de pie no me llama mucho la atención XD

Trate de poner el video como Rolando dijo pero no funcinó tal vez porque no era de YouTube, que raro osea que aquí se los dejo:
http://link.brightcove.com/services/link/bcpid271543545/bctid42256

Vía microsiervos 

salu2.

Friday, February 2, 2007

BLaugh

Hola a todos,

Para dar algo de diversión para el fin de semana, les recomiendo visitar el blog de bLaugh o tb llamdo (Un)Official Comic of the Blogosphere!, incluso ya me suscribí a sus feeds, porque realmente sus caricaturas son muy buenas una mezcla de realidad  e ironía, tb tiene un repositorio donde pueden ver todos sus comics.
Algunos buenos son:

 

buenos no?

salu2 a todos.