domingo, julio 13, 2014
|
Si me preguntan, ¿cuál es el navegador web más avanzado del mundo jamás creado? Mi respuesta no sería ni Google Chrome, ni el Safari de Apple, ni Mozilla Firefox, ni Microsoft Internet Explorer, ni el navegador Opera...
Sería un navegador del cual estoy seguro la mayoría de los lectores de eliax nunca han escuchado, y que salió públicamente en 1995 gracias a unos hackers de Sun Microsystems (los mismos creadores de Java, y hoy día propiedad de Oracle). Ese navegador se llamó HotJava, y fue un proyecto ambicioso pero lamentablemente muy adelantado a su tiempo... HotJava fue un navegador web escrito enteramente en el lenguaje de programación Java, y que tenía la particularidad de que era totalmente dinámico y extensible en Java mismo. Eso significa que cualquier desarrollador podía ofrecer módulos en Internet que al ser instalados por los usuarios con un par de clics, modificaban y extendían el mismo núcleo del navegador en formas inimaginables. Y ojo, que no hablo de simples extensiones como es común hoy día en cualquier navegador, sino el poder cambiar el navegador mismo para que este evolucione dinámicamente con nuevas tecnologías. Hablamos de por ejemplo el poder soportar nuevos estándares de video dinámicamente sin necesidad de tener que esperar a que los que desarrollaron el navegador mismo agregaran tal funcionalidad. Pero aun siendo una de las obras de ingeniería de software más asombrosas de todos los tiempos, HotJava fue un fracaso... ¿Por qué fracasó? Pues lamentablemente aunque la arquitectura de software del navegador en sí estaba adelantada a su tiempo, el hardware ni los otros elementos necesarios para hacer a HotJava lo suficientemente rápido, estaban disponibles hace 19 años atrás. HotJava era relativamente lento en comparación a otros navegadores de la época, y además Sun Microsystems, no tenía experiencia mercadeando sus productos fuera del sector empresarial. HotJava necesitaba en esos tiempos no solo hardware más potente, sino además un runtime basado en máquinas virtuales (en donde ejecutaba Java) que fuera más potente, como lo es la JVM (Máquina Virtual de Java) de hoy día, que no solo interpreta código sino que incluso lo compila a formato nativo para aumentar considerablemente su rendimiento a niveles casi de código nativo. Pero avancemos ahora 19 años al día de hoy, y ha surgido una nueva opción que podría hacer el sueño de HotJava realidad: Breach. Breach es un navegador que un grupo de talentosos hackers inició a finales del año pasado, y que por fin revelan públicamente ahora, y que tiene la particularidad de ser construido sobre una plataforma dinámica de Javascript. Javascript es un lenguaje originalmente pensado para simples tares interactivas en páginas web, pero cuya importancia ha crecido considerablemente en años recientes, gracias principalmente a la rivalidad entre los distintos fabricantes de navegadores web que desean siempre poder mostrar las páginas web más rápidas en sus renderizadores, que en los navegadores de sus competidores. Eso ha llevado a que se hayan creado unos runtimes para Javascript extremadamente optimizados, en donde el código ejecuta ya a velocidades no muy distantes de aplicaciones nativas, y en algunos casos incluso mucho más rápido que aplicaciones nativas en hardware de apenas 5 años atrás. El crecimiento de Javascript ha sido tal, que lo considero incluso el nuevo lenguaje más importante a aprender en entornos no solo de clientes (en navegadores) sino de servidores, gracias a herramientas como Node.js. Breach entonces toma ventaja de todo este nuevo ecosistema de Javascript, mezclando justamente muchos de los elementos de Node.js, con el motor de Javascript open source desarrollado por Google para Chrome llamado V8, para con un poco de código adicional crear toda una nueva plataforma para lo que sería el primer navegador web realmente dinámicamente extensible desde HotJava hace casi dos décadas atrás. Breach quizás no se convierta en el navegador web que finalmente acabe con el reinado de Google Chrome (que debo agregar por años ya ha sido mi navegador web favorito), pero de no hacerlo es posible que inspire a quien finalmente lo haga, sino es que alguien como Google mismo lo adopte (o imite) como la arquitectura para sus futuros navegadores... En Breach, todo es un módulo escrito con Javascript y renderizado con HTML5 (si tiene un componente visual), y toda su estructura puede cambiarse dinámicamente y de forma segura (a diferencia de node-webkit, que realmente fue diseñado para aplicaciones locales y por tanto no tiene un requerimiento de seguridad muy fuerte), permitiendo por ejemplo que los usuarios modifiquen por completo la funcionalidad y la forma en que se ve su navegador. Esta personalización obviamente no será para todo el mundo, ya que la mayoría quizás prefiera un ambiente sencillo y funcional sin muchas complicaciones (por eso existen por ejemplo las opciones de Android y iOS en el mundo, o de Windows vs Linux), pero sí servirá cuando menos para dejar las bases de una nueva generación de software que literalmente evoluciona por sí solo, de forma dinámica, sin la necesidad de un control centralizado. O en otras palabras, de una forma similar a como funciona la evolución en todas sus formas en la naturaleza. Si están curiosos de probar a Breach, visiten el website oficial y descarguen el software. Lo he probado en mi entorno Mac y he quedado totalmente sorprendido. Aun siendo software en etapa "Alpha" (es decir, ni siquiera "Beta" para pruebas), me ha sorprendido su velocidad. Las páginas inicialmente cargan más lentas que en otros navegadores, pero desde que ocurre esa primera descarga el navegador y su motor V8 optimizan su código interno, y subsiguientes descargas ocurren casi inmediatamente, con posterior velocidad casi indistinguible de cualquier otro navegador en la mayoría de los casos. Así mismo noten que software al estilo Alpha no es para todo el mundo, y que es bueno saber lo que hacen (y lean lo que les pone Breach en pantalla la primera vez que lo lanzan, o no entenderán cómo utilizarlo), pero como un vistazo al futuro, lo considero invaluable. El próximo paso para los creadores de Breach es congelar la funcionalidad básica para exponer un API (interfaz de programación) ya estandarizada al cual cualquier desarrollador pueda tener acceso, algo que posiblemente veremos en la primera versión Beta en los próximos meses. página oficial de Breach información técnica de Breach autor: josé elías |
18 comentarios
249,706 vistas |
Futuro Digital , Opinión / Análisis , Predicciones , Software |
Comentarios
Añadir Comentario |
"No jugamos a ser dioses, la raza humana tiene que desarrollar este tipo de cosas, esta dentro de su misma evolución. Hay quienes se oponen, y sin duda creo que el avance de estas técnicas puede desarrollar cosas malas pero a la vez son necesarias ya que este planeta no es eterno, algún dia tendremos que mudarnos a otros mundos utilizando esta tecnología para poder crearnos en base a las necesidades del ambiente."
en camino a la singularidad...
©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax
Seguir a @eliax
Eliax una vez nos preguntaste por qué nos gusta este blog y hoy te voy a sumar otra razón: Entré para leer sobre Breach pero salí aprendiendo también de HotJava del cual nunca había escuchado hablar antes. Siento que me enseñas cosas que me hacen crecer como profesional y como persona y por eso te doy muchas gracias aunque ya no escribas con la regularidad que lo hacías antes.