Native Client: tecnología de Google para ejecutar código nativo en tu navegador

Google está trabajando en una tecnología que permitirá a los desarrolladores web ejecutar código nativo en el propio ordenador del cliente, pudiendo así aprovechar toda la capacidad de la cpu del cliente, la cual está ahora limitada por el navegador. Lógicamente no se trataría de algo permisivo, sino que tendría limitaciones para evitar ejecutar código maligno.
Es necesario instalar un plugin para que funcione el cliente en nuestro navegador (yo lo he hecho para Firefox, ni idea de si funciona para otro navegador). Si tenéis instalado Firefox en otro directorio distinto al “por defecto”, deberéis modificar el archivo firefoxinstall.py e indicar la ruta correcta en la variable PLUGINDIR (línea 203 para Windows).
Los ejemplos que se ven son bastante atractivos: quake, mandelbrot, … Veremos a ver qué éxito tiene esta tecnología, aunque sinceramente, a veces se pretenden hacer muchas cosas vía web. Además, Java ya permite más o menos lo que pretenden, ¿no?, ¿es esto su propia versión de los Java applets y de Adobe Air?
Native Client

Project Kenai: proyectos open source alojados por Sun

Project Kenay es una especie de SourceForge que ha realizado Sun y que aún está en fase beta. Dispone de pocos proyectos alojados (la mayoría basados en Java y Ruby) pero está empezando y vamos a tener que estar pendiente de este proyecto.
Kenai provee a los proyectos de SVN y Mercurial, foros, listas de correo, wikis, sistemas de bugs y personalización de tu página.
Porject Kenai

Nueva versión de Sphinx

Sphinx es un buscador de texto bastante rápido y potente (pensado para bases de datos grandes), que permite ser integrado con otras bases de datos como MySQL.

Acaban de sacar la versión 0.9.8 después de 15 meses de trabajo (y justo después de que yo ayer me bajara la versión anterior y la instalara). Existen más de 70 nuevas características, de las cuales destacaría:

  • Soporte para libstemmer, permitiendo stemmers para nuevos lenguajes.
  • Posibilidad de eliminar elementos HTML.
  • Decodificar entidades HTML.
  • Añadidas nuevos modos de crear excerpts.
  • Mejorado el motor para obtener queries.
  • Nuevos modos de ordenación de resultados.
  • Nuevas APIs para Java, C y Ruby.

Sphinx

Sun llevará Java al iPhone

Sun está desarrollando una JVM para el iPhone y planea sacarlo para junio, permitiendo así ejecutar aplicaciones Java en este dispositiv. Aunque Apple no ha mostrado interés en que se pudiera ejecutar Java en su iPhone, Sun pretende adelantarse a que esa situación se dé, intentando dar soporte a las funcionalidades nativas del iPhone en la mayor medida.
Las funcionalidades que puede ofrecer Java va entre juegos, ERP, CRM, seguridad SSL y mucho más.
Una noticia muy interesante que puede dar muchas opciones a los desarrolladores.
Sun: We’ll put Java on the iPhone

Prefuse: herramienta de visualización Java

Prefuse es una aplicación que nos permite crear gráficas (visualizaciones) de datos. El origen es crear unas herramientas que provean un framework para ver datos mediante Java. Actualmente ofrece también herramientas para ActionScript y Adobe Flash Player.
prefuse.png
Ofrece una variedad de caracteristicas para el tratamiento de datos, su visualización e interacción. Provee estructuras optimizadas de datos para tablas, gráficas, árboles, animación, queries dinámicas, búsqueda integrada y conectividad de la base de datos.
Está escrito totalmente en Java, usando la libreria Java 2D y se puede integrar fácilmente en cualquier aplicación Swing o applet.
Prefuse
Vía / OpenSourceCommunity.org

ZH: framework Ajax

ZH es un framework Java que nos permite desarrollar aplicaciones web con la posibilidad de usar Ajax y widgets con XUL y XHTML. No es necesario que el navegador soporte XUL ya que ZH lo convertirá a XHTML.
Dispone de un lenguaje de etiquetas propio llamado ZUL que facilita la creación de componentes incluso para no desarrolladores. Basado también en un sistema de eventos, hace mas intuitivo la creación de aplicaciones tipo desktop.
Soporta los siguientes navegadores: Internet Explorer 6+/7, Firefox 1+, Safari 2+, Mozilla 1+, Opera 9+ y Camino 1+.
ZH

|

IT Mill Toolkit: framework para crear GUIs

IT Mill Toolkit es un framework open source para crear interfaces de usuario, ofreciendo widgets y herramientas para desarrollar aplicaciones web de alta calidad. Podrás crear RIAs sin tener que preocuparte por imcompatibilidades de navegadores o el DOM de Javascript, tan solo usando herramientas Java.
itmill.png
Además ofrece varios widgets con soporte para AJAX, seguridad para evitar ataques mediante Javascript, está basado en Google Web Toolkit, faclidad para cambiar los estilos y muchas cosas más.
IT Mill Toolkit
Vía / WebAppers

|

Hadoop: plataforma para trabajar con gran cantidad de datos

hadoop.pngHadoop es una plataforma que nos permite desarrollar aplicaciones que tengan que tratar con grandes cantidades de datos, hasta petabytes. Se trata de un subproyecto de Lucene, un proyecto de Apache que desarrolla software para realizar búsquedas.
Hadoop es muy útil cuando vamos a realizar proyectos que necesiten de escalabilidad, ya hemos dicho que puede almacenar y procesar petabytes de informacion. A su vez, es perfecto para un cluster de servidores, distribuyendo la información entre los nodos, siendo posible disponer de miles de nodos. Al disponer los datos de forma distribuida, la búsqueda se puede realizar muy rápidamente ya que Hadoop puede acceder a ella de forma paralela. Y aunque los datos estén distribuidos, no hay que preocuparse de fallos ya que dispone de un sistema de seguridad.
hadoop.gif
Hadoop implemente el MapReduce de Google, usando un sistema distribuido para dividir las aplicaciones en pequeñas tareas.
Hadoop se ha llegado a probar en un cluster de 2.000 máquinas y se está intentando alcanzar la cifra de 10.000 máquinas. Es necesario Java para su desarrollo y Linux, aunque se puede usar Windows para desarrollo, aunque el cluster no funciona del todo bien.
Hadoop

Groovy: lenguaje dinámico para Java

groovy.pngGroovy es un lenguaje dinámico para la JVM (Java Virtual Machine) que nos permite construir aplicaciones web usando la potencia de Java y añadiendo características inspiradas en otros lenguajes como Python, Ruby y Smalltalk.
Añade características de programación modernas para los desarrolladores Java con una curva de aprendizaje muy baja. Mejora la productividad de los programadores cuando se trata de aplicaciones web, GUIs, bases de datos o aplicaciones de consola. Y algo bastante importante, simplifica la etapa de testing.
Un framework que nos facilitará la labor con Groovy es Grails.
Groovy
Gracias diarioTHC por el enlace.

PreciseJava: buenas técnicas de programación en Java

Aunque normalmente hablamos de PHP, Java también es un lenguaje a tener en cuenta, muchos proyectos en empresas se desarrollan en Java, habiendo un problema bastante frecuente: “te doy un curso y te mando a este proyecto que se hace en Java”. ¿Qué suele ocurrir? que muchas veces no se aprende lo suficiente y las carencias son importantes.

En PreciseJava agrupan consejos y tutoriales Java que muestran cómo desarrollar código más óptimo en Java. Está dividido en dos categorías J2EE y J2SE, y en cada categoría encontraremos otras subcategorías que nos mostrarán técnicas específicas. Por ejemplo, encontraremos comentarios sobre EJB, Servlets, JSP, JDBC, o consejos sobre Strings, excepciones, objetos.

A mí si me gustaría comentar dos cosas, evitar el uso de las Hashtables, sí, son muy cómodas, pero requieren muchos recursos. Y sobre como inicializar Strings:

// Correcto
String s = "Hola Mundo";
// No tan eficiente (incorrecto)
s = new String("Hola Mundo");

En el segundo ejemplo se están creando dos objetos String, por lo que se está malgastando recursos.

PreciseJava.com

Vía / dzone