10 razones por las que el navegador se está convirtiendo en el sistema operativo universal

Hace un millón de años en la época de Internet (también conocido como 1995), Brendan Eich, Marc Andreessen y el resto de Netscape miraron la World Wide Web y vieron un mundo escasamente etiquetado de documentos estáticos: un desierto computacional donde la semilla de un programador no podía encontrar compra.

Tenían una visión diferente: píxeles dentro del rectángulo del navegador tan vivos como cualquier interfaz de usuario. Querían agregar un poco de computabilidad completa de Turing para que los programadores pudieran hacer que las páginas saltaran. JavaScript fue la respuesta.

[¿Cuánto sabe sobre la lengua franca de la Web? Descúbrelo en la prueba de IQ de JavaScript. | Trabaje de manera más inteligente, no más difícil: descargue la Guía de supervivencia para desarrolladores de para obtener todos los consejos y tendencias que los programadores deben conocer. | Manténgase al día con las últimas noticias para desarrolladores con el boletín informativo Developer World. ]

Al principio, los programadores C macho miraban su creación y se reían. Bromearon sobre JavaScript como un juguete para que los niños de la escuela primaria muestren cuadros de alerta. Sin embargo, Eich vio una forma de que los programadores obtengan información de toda la Web. Pronto llegó en forma de XMLHttpRequest.

Trece años después, y aproximadamente ocho años desde que todo el juego fue rebautizado como "AJAX", el lenguaje que alguna vez fue un bebé para los niños se está convirtiendo rápidamente en el lenguaje dominante para casi todo. La combinación de HTML, CSS y JavaScript impulsa servidores, equipos de escritorio y portátiles. Es, en esencia, la plataforma estándar, el nuevo sistema operativo.

Técnicamente, el navegador no ofrece lo que esperamos del sistema operativo tradicional. Los puristas se quejarán: ¿el equipo del navegador pasa algún tiempo preocupándose por la maraña de controladores de dispositivos? ¿El navegador mantiene limpio y sin daños el sistema de archivos? ¿El navegador hace malabarismos con varios subprocesos de diferentes prioridades y los ayuda a compartir los mismos núcleos de procesador de una manera que podría considerarse justa? Los chicos del sistema operativo echan un vistazo a Chrome y se ríen porque el navegador simplemente retrocede, dividiéndose en un proceso diferente para cada página web, dejando que la capa del sistema operativo haga el trabajo.

A pesar de estas legítimas quejas de los genios de los sistemas operativos, el navegador es la capa dominante, el único nexo para el software, la única centralita donde reside todo el poder. Necesita del sistema operativo un rectángulo para dibujar la página web, un poco de espacio de almacenamiento y una fuente TCP / IP. Hace todo lo demás de una manera multiplataforma, es decir, cuando se considera todo, relativamente libre de errores y otros problemas.

A cambio, el navegador libera al sistema operativo de hacer mucho más que proporcionar esos pocos canales de información. Un usuario de PC espera poder insertar cualquier dispositivo antiguo y hacer que funcione con cualquier colección antigua de dispositivos, algo muy raro. Un usuario del navegador quiere un cuadro para escribir una URL y una forma de enviar clics a la capa de JavaScript. Crear un dispositivo solo para navegador es cada vez más fácil. Diablos, Mozilla, un grupo muy pequeño de personas, produjo Firefox OS con una pequeña fracción de los ingenieros que trabajaban en Apple, Google o BlackBerry.

Y los programadores siguen a los usuarios hasta el navegador para ofrecer funcionalidad en el lugar principal que los usuarios esperan encontrar en estos días. Aquí hay 10 razones por las que el navegador ahora es el rey.

El navegador como principal razón del sistema operativo n. ° 1: el surgimiento de aplicaciones web amplias y ricas

En algún momento de la línea, la página web se convirtió en una aplicación completa. La mejor manera de sentir esto es intentar iniciar algo como Gmail con un caché limpio y una conexión a Internet extremadamente lenta. El programa es lo suficientemente grande como para que se tarde demasiado en descargar todos los bits y piezas de JavaScript. Puede haber cerca de 100 archivos en una descarga promedio. Google reconoce cuidadosamente que Gmail puede ser demasiado grande para estas ocasiones, por lo que ofrece una versión HTML básica que es mucho más pequeña.

Gmail es un ejemplo de los miles de grandes programas que se ejecutan regularmente en nuestros navegadores. Muchos nos dejan hacer la mayor parte de las tareas una vez que se dejan a las aplicaciones nativas. Hay entornos de desarrollo integrados (Codio, Cloud 9 y más), paquetes de edición de imágenes (AIE, entre otros) y muchos juegos HTML5 (ver más abajo). El navegador no se limita a documentos estáticos y rellenar formularios.

Hace mucho tiempo, la gente señalaba las aplicaciones estándar para leer el correo o editar fotos y decía: "¿Puede su navegador hacer eso?" Ahora la respuesta es sí.

El navegador como el principal motivo del sistema operativo n. ° 2: fácil ampliación a través de complementos

Todos los principales navegadores tienen su propia arquitectura de complementos. Si desea hacer algo inteligente con el navegador, la capa de complemento está lista para tomar su código. Escribe un código en JavaScript y el navegador lo agrega como una característica. Puede agregar nuevas rutinas para limpiar el diseño o recopilar cierta información valiosa, como citas para su artículo. La capa de complementos para los navegadores abre el interior a la manipulación, y lo hace de una manera más limpia y segura que la que se puede lograr con los sistemas operativos tradicionales.

El navegador como último motivo del sistema operativo n. ° 3: su base de código abierto

Hay muchos significados diferentes cargados en la frase "código abierto" y el navegador ilustra uno de los más influyentes. Los lenguajes de la Web siempre han sido fáciles de entender, al menos en comparación con los códigos binarios nativos, y cuando los primeros desarrolladores incluyeron la opción "ver código fuente", facilitaron que los programadores aprendieran unos de otros.

La apertura fomenta la innovación, y esta es una de las principales razones por las que hemos visto crecer la capa del navegador con tantas adiciones inteligentes. La creación de software para la capa del navegador es más fácil, lo que fomenta que se realice más trabajo allí. El ritmo de la innovación es deslumbrante porque las buenas ideas se emulan y mejoran rápidamente. Todos pueden aprender del trabajo de los demás y luego enseñar a todos a cambio. Esta característica por sí sola ha creado tantos programadores que los comités de Washington que siempre están haciendo campaña para crear más estudiantes STEM deberían considerarla un tesoro nacional.

El navegador como último motivo del sistema operativo n. ° 4: metaprogramación

La apertura no solo significa que el código fuente está disponible para que otros lo copien, revisen y amplíen, sino que también se aplica a los datos en el navegador en este momento. Algunos paquetes de software como Greasemonkey permiten escribir software que se ejecuta sobre el software que se ejecuta en una página web. Greasemonkey puede acceder directamente al código de la página web y cambiar el tamaño de un elemento, cambiar una variable o reescribir el texto en sí. Es como la codificación de código abierto en tiempo real.

Ha habido intentos de ofrecer este tipo de característica a los sistemas operativos clásicos, pero los sistemas de scripting nunca han tenido un acceso similar al de Greasemonkey en el navegador. Incluso las herramientas de scripting más sofisticadas, como AppleScript, acceden al código solo a través de una API. Puede que a los puristas no les guste que alguien juegue con sus variables, pero no se divierten tanto. Es por eso que algunas de las herramientas más inteligentes están disponibles en los navegadores.

El navegador como el último motivo del sistema operativo n. ° 5: simplicidad y mutabilidad multiplataforma

Los dispositivos móviles vienen con navegadores. Los refrigeradores vienen con navegadores. ¿Pueden quedarse atrás los refrigeradores móviles con navegadores? Por qué no? Todo el mundo quiere poner HTML, JavaScript y CSS a cargo de un rectángulo en sus máquinas porque es fácil de adaptar. ¿Su pantalla es corta y ancha o es alta y delgada? No importa porque HTML fluye hacia el espacio que se le da. El motor de diseño impulsado por CSS lo resuelve.

Habrá algunos que señalarán, con bastante razón, que no todas las páginas web se ven bien en pantallas de formas extrañas. Algunos sitios web se ven como si un automóvil los golpeara cuando se ven en una pantalla móvil alta y delgada. Los elementos están esparcidos por todas partes y nada se alinea. Algo salió mal con los estilos de flotadores.

Esos problemas se están desvaneciendo a medida que los diseñadores web aprenden a planificar con anticipación la gama más amplia de oportunidades basadas en navegadores que están apareciendo. Están aprendiendo a ser flexibles y elegantes para que el contenido pueda fluir fácilmente independientemente del dispositivo en el que aparezca.

El navegador como última razón del sistema operativo n. ° 6: una capa de abstracción limpia

La base de código abierto de la Web fomenta la rápida evolución de las mejores prácticas para el diseño. Todavía hay algunos rincones del mundo de la tecnología, por ejemplo, Apple, donde algunos diseñadores insisten en que todo se haga a su manera utilizando su marco nativo. Pero a pesar de todo el éxito de Apple en el manejo del control de grado Vader, no puede vencer a la Web. Cada innovación creada para iOS se imita rápidamente y se incorpora a los principales marcos que dominan el mundo HTML5.

El populismo democrático del navegador permite que surjan las mejores ideas mientras todo el mundo experimenta constantemente. Esto se debe en gran parte a HTML y CSS, que se han convertido en una capa de abstracción clara que separa las preocupaciones, lo que facilita la colaboración para todos. Los diseñadores y programadores pueden apuntar a su capa específica y, cuando sea posible, incorporar bibliotecas y marcos prediseñados para aprovechar el trabajo de otros diseñadores y programadores en su propio código.

El navegador como el último motivo del sistema operativo n. ° 7: mejores modelos de intercambio para bibliotecas

Las bibliotecas siempre han sido una de las mayores fuentes de dolores de cabeza para los programadores. Una aplicación en la computadora quiere usar la versión 3.4.666 de una biblioteca y la otra quiere la versión 3.4.667, pero el sistema operativo solo puede encontrar la versión incorrecta. Cuando las cosas no se alinean, algunos lo llaman "bitrot" y otros lo llaman "errores de versiones". De cualquier manera, todos pierden.

El mundo de los navegadores ofrece una mejor forma de distribuir bibliotecas. Muchas páginas web enlazan con algunas copias centralizadas de bibliotecas populares como jQuery o Dojo. En lugar de utilizar su propia versión alojada en el sitio web, enlazan a una versión central ofrecida por una de las empresas de infraestructura web como Yahoo. Es más probable que sean capturados por el caché, lo que ahorra a la siguiente página web el tiempo de descargar esta versión de la biblioteca.

Estas versiones centralizadas están cuidadosamente numeradas. Si dos páginas web utilizan la versión 1.9.1 de jQuery, la caché hará su trabajo. Si uno cambia a una versión más nueva, ambos funcionarán. Es posible que el caché no ahorre mucho tiempo hasta que comiencen a usar la misma versión nuevamente, pero el interruptor funciona sin problemas.

El enfoque no es perfecto. Si las copias centrales están dañadas o infectadas con malware, todos los sitios web que las utilicen podrían verse amenazadas. Pero, ¿cuándo fue la última vez que sucedió esto? Cambiar a una versión local de las bibliotecas, la solución más simple, no sería difícil.

El navegador como último motivo del sistema operativo n. ° 8: mercado fértil y competitivo

Érase una vez, solo existía Netscape. Luego dominó Internet Explorer. Ahora parece que todo el mundo tiene un navegador que compite. Chrome, Firefox, IE, Safari y Opera son solo el comienzo. Hay docenas de otros navegadores menores con sus propios devotos. La plataforma móvil tiene aún más.

Todos ellos están compitiendo por una participación visual. El mejor gana, pero solo hasta el próximo ciclo de actualización. Entonces la competencia comienza de nuevo.

Esta batalla genera calidad. Los mejores navegadores con las características más útiles florecen mientras desaparecen los trucos casuales. Esto no siempre sucede en el mundo, pero cuando sucede, es genial para los consumidores. Cuando es bueno para los consumidores, demuestra el poder de la capa del navegador.

El navegador como el último motivo del sistema operativo n. ° 9: SVG, lienzo, gráficos vectoriales, excelentes interfaces de usuario

Las primeras páginas web pueden haber sido un poco aburridas, pero eso fue antes de que los programadores inteligentes descubrieran cómo animar las propiedades CSS de un DIV o un SPAN. Ahora los rectángulos y las palabras dentro pueden voltearse, girar, girar, desvanecerse, parpadear e incluso, perecer el pensamiento, simplemente sentarse allí.

Si eso no es suficiente, los mejores navegadores nuevos están estrechamente integrados con tarjetas de video y ofrecen casi todas las funciones al programador de JavaScript. Si bien los diseñadores de juegos todavía necesitan código nativo para realizar algunos trucos extremos que empujan a las tarjetas de video a fundirse, casi todas las funciones de su software están disponibles de una forma u otra para el programador de JavaScript. El SVG animado, el objeto de lienzo y algunos videos pueden hacer casi cualquier cosa. Incluso hay una capa 3D llamada WebGL que maneja el renderizado tridimensional. El navegador nunca podrá competir con las consolas o los juegos nativos, pero hará un buen trabajo cuando los gráficos no sean demasiado complicados. Eso es más que suficiente para grandes juegos.

Todo esto significa que crear una interfaz de usuario para una página web es ahora mucho más simple que crear una para una aplicación básica. Los diseñadores pueden trabajar con HTML, JavaScript y CSS, tres lenguajes sencillos que son mucho más simples que Java, C ++ u Objective-C que se utilizan para las aplicaciones nativas. Una vez más, la codificación más sencilla atrae a más programadores que crean más código y hacen que la plataforma domine.

El navegador como último motivo del sistema operativo n. ° 10: Node.js

Quizás la prueba definitiva del éxito del navegador como plataforma se puede encontrar en Node.js, el marco del lado del servidor que permite a los programadores de navegadores impregnados de JavaScript y cierres escribir instrucciones para el servidor sin aprender PHP o Java.

El paquete ofrece un rendimiento espectacular para algunos trabajos simplemente descartando el modelo de rosca común en generaciones pasadas. En su lugar, adopta la función de devolución de llamada, uno de los modismos de la programación del navegador, para hacer malabares con la carga de trabajo. En las manos adecuadas, los programadores pueden evitar los peligros y producir un mecanismo limpio que distribuya la información del servidor de forma rápida y eficiente.

Esto es un poco una victoria para el mundo de JavaScript porque muchos se burlaron de los complicados cierres y devoluciones de llamada de la programación del navegador, viéndolos como complicados y demasiado anidados. Sin embargo, ahora que los resultados son rápidos, la gente está siendo más tolerante. La velocidad y el ahorro tienen una forma de ganarse a los conversos.