texto:   A-   A+
eliax

Breach, un navegador web en Javascript, y sobre HotJava. Un avance al futuro de navegadores web
eliax id: 11237 josé elías en jul 13, 2014 a las 01:04 PM (13:04 horas)
navegador web BreachSi 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

Comentarios

  • 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.

  • No, el primer paso es sacar una versión para Windows, porque sino aquí muere este proyecto.

    • Si exactamente!!!

    • No se si es una comparación justa, ya que Linux es un sistema operativo al igual que Windows, pero Linux es un buen ejemplo de algo que no necesitó de Windows en sí para hacerse grande y popular... ;)

      Otros ejemplos fueron Android, iOS, y un sinnúmero de servicios web como GMail, Google Docs, etc.

      Por otro lado, no dudes que ya para la versión a algunos se le habrá ocurrido crear un wrapper para que funcione con Windows (que debe ser relativamente trivial)... ;)

  • dice disponible en linux y mac, entonces no funciona en windows verdad? alguien sabe?

    gracias

  • Creo que este paradigma es un paso más que acerca las aplicaciones web a lo que deben ser, aplicaciones con capacidad de acceder a resursos del sistema, archivos, drivers, etc. tal como aplicaciones de escritorio, pero con todas las ventajas de la distribución dinámica web. Las limitaciones que imponen los navegadores deben ser solucionadas para entrar a una nueva generación de aplicaciones, los desarrolladores esperamos con ansias la maduración de estas tecnologías!!

    Saludos Eliax!

  • Excelente artículo Elías !!!

    pregunta : me quedé pensando en que este tipo de navegadores le abría la puerta de manera increíble al malware, ¿ que píensas al respecto ??

    Muchas gracias

    • La idea es que surjan repositorios de los cuales unos serán más respetados que otro, y en donde incluso en unos de ellos se harán estrictos controles, similar a como controla Apple su tienda de aplicaciones versus a como hasta hace poco lo hacía Google con su tienda Google Play.

      Por el momento sin embargo, debido a que cada módulo funciona en su propio contexto, estos malware cuando menos podrán ser más contenidos, aunque ciertamente nada evitaría que estos funcionen como spyware.

      Es bueno también recordar que aplicaciones web con matices nativas están todavía en pañales, y que queda mucho terreno por recorrer. Sin embargo, este es el momento de experimentar, precisamente para empezar desde ahora a buscar soluciones como a los temas de seguridad, escalabilidad, confiabilidad, etc...

  • Jose !
    impresionante review !!
    como tu dices nos permite darle una mirada al futuro
    gracias por tu trabajo.


    Jose

  • Buenos, como hago para hackiarlo y usarlo en windows? :)

  • si quieren tener exito deberia salir version para windows

    • Leyendo el post más reciente del blog de los desarrolladores,es que una de las herramientas que tiene usa GTK+ el cual no tiene buena integración con Windows,pero al cambiar a otro,se hace la compatibilidad en automático,ahora el proyecto es más una prueba de concepto que incluso una Alfa si llega a funcionar harían muy pronto la versión para Windows.

  • Maxthon es un navegador muy bueno poco conocido!!!....

  • es una buena noticia que haya buen software que este disponible para los buenos sistemas operativos y no esté en Windows. muajajaja, j***os winlosers

  • al leer el articulo, se me paso por la cabeza esta pregunta:

    de seguir por este camino,
    ...sera la web diriamos casi 100% java dentro de
    ...digamos 5 años?

    • o HTML 5 en su defecto!!!!

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
4 + 7 = requerido (control anti-SPAM)
¿De qué color es el cielo?: requerido (control anti-SPAM)
 

"Es increíble nunca pensé que llegáramos a esto! que feliz me siento de vivir en esta era de verdaderos cambios :)"

por "axia4" en mar 2, 2011


en camino a la singularidad...

©2005-2019 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax