12 de agosto de 2014

J2ME

Java Micro Edition (Java ME), o anteriormente Java 2 Micro Edition (J2ME)



Java ME, es un subconjunto de Java para el desarrollo de aplicaciones Mobiles, PDA (del inglés: personal digital assistant (asistente digital personal)), aunque con los nuevos teléfonos inteligentes (Android) esta plataforma no es necesaria, y Oracle termino el  soporte para móvil como lo dice su "Release Notes"

Oracle Java ME SDK 8 release:

Terminated support for Mobile (CLDC) and CDC platforms.

Ver: Release Notes

Ya que Java ME no tiene soporte para móvil, Oracle se enfoco en el IoT (Internet of Things)  Internet de las Cosas, así que Java ME viene recargado para pequeños dispositivos (Ej: Raspberry PI).

Ultima versión con soporte móvil: Java ME SDK 3.4 (No existen versiones intermedias entre 3.4 y 8.0).

Y se viene un nuevo producto llamado Java Embedded (Java Embebido) que se clasifica en:
  • Java ME Embedded
  • Java SE Embedded
  • Java Card
 Hablemos de los dos primeros.

Java ME Embedded: Enfocado para pequeños dispositivos, heredando y actualizando el api existente del antiguo j2me, pero sin la parte mobil, es decir este pequeño java no tiene capacidad visual. (NO tiene interfaz gráfica de usuario), pero tiene una nueva api Device I/O, para usar los GPIO, I2C, SPI.... entre otros.

Java SE Embedded: Es el mismo JDK, es un subconjunto del JDK que solo incluye JRE (ejdk),  solo para procesadores ARM, (También funciona en Raspberry PI), enfocado y optimizado para sistemas embebidos, pero con la api completa de la versión normal. Para ser usado en produccion requiere licensia, solo es "free" para evaluacion y desarrollo, aplica para ejdk y jdk 8, para uso comercial se la version jdk 7 para ARM.

Saber mas: Java Embedded



25 de abril de 2014

La Etiqueta del Mal

<blink> La Etiqueta del Mal </blink>

"blink" es una etiqueta HMTL no estandar, que vuelve un texto parpadeante (visible/invisible). Actualmente los navegadores no la soportan. La wiki de la W3 dice: No, really, don't use it. It's simply evil., para otros es simplemente es perturbador; Pero esta etiqueta fue muy popular en los 90s con el navegador Netscape Navigator en la cual funcionaba perfectamente.


Para el que quiera saber como usar la etiqueta puede usar un simple JavaScript para emular su funcionamiento.

 <script type="text/javascript">
  function blink() {
    var blinks = document.getElementsByTagName('blink');
    for (var i = blinks.length - 1; i >= 0; i--) {
      var s = blinks[i];
      s.style.visibility = (s.style.visibility === 'visible') ? 'hidden' : 'visible';
    }
    window.setTimeout(blink, 1000);
  }
  if (document.addEventListener) document.addEventListener("DOMContentLoaded", blink, false);
  else if (window.addEventListener) window.addEventListener("load", blink, false);
  else if (window.attachEvent) window.attachEvent("onload", blink);
  else window.onload = blink;
</script>

.Nota: script tomado de Wikipedia.
 Este scrip funciona para: IE, Chrome, Firefox. Pero si ve este texto parpadear es que el scrip funciona.

Aquí su historia: blink 

Otras referencias:
 

3 de marzo de 2014

Log4j

Log4j es una libreria Java (algunos dicen Framework) que permite registrar (log) mensajes que se registran en un aplicativo.

Los mensajes tiene varios niveles de registro:
  • trace : maximo nivel de detalle, cualquier mensaje
  • debug :  para mensajes de depuracion
  • info : mensajes informativos
  • warn : mesajes de alerta por posibles problemas
  • error : errores en el aplicativo
  • fatal  : es igual que error, pero cuando el aplicativo ya no funciona mas.
Hay dos niveles que son para controlar la salida:
  •  off : para no mostrar lo mensajes.
  • all: mostrar todo los mensajes.
Ejemplo basico de uso y  configuracion:
+ + +
package org.andrexweb.logger; 

import org.apache.log4j.Logger; 

/**
 * Hello world!
 *
 */ 
public class App {
private static Logger LOGGER = Logger.getLogger(App.class);

public static void main( String[] args ) {
LOGGER.trace( "Hello World!" ); 
}
+ + +