Mientras que otros enfatizan que JavaScript es el único lenguaje de programación que los navegadores pueden entender, esto realmente no responde, por qué JS no se está utilizando para otras tareas que no sean el desarrollo web.
Bueno, en primer lugar, JavaScript fue creado para funcionar en el navegador. Históricamente, fue construido como un lenguaje de script para Netscape Navigator. Por lo tanto, todavía cumple su propósito: JavaScript es el lenguaje de secuencias de comandos para todos los navegadores ahora.
Otros expertos aquí recuerdan correctamente NodeJS como la forma más famosa de ejecutar JS fuera del navegador. Sin embargo, lamentablemente, NodeJS utiliza el código fuente del motor V8, una tecnología de programación que ejecuta JavaScript en la familia de navegadores Chrome / Chromium (y todos sus numerosos descendientes). Entonces, aunque es una tecnología que no está directamente relacionada con el desarrollo web (por ejemplo, escribí numerosas herramientas de automatización en NodeJS que estaban lejos del desarrollo web), NodeJS todavía está relacionado de alguna manera con el navegador.
- ¿Qué pila se usa para monitorear las aplicaciones del servidor nodejs? Estoy buscando algo que pueda ser alojado en un servidor personal y que sea ampliamente utilizado por la comunidad.
- Cómo clasificar tu sitio web
- Cómo navegar por un sitio web sin actualizar
- ¿Cuál es el significado de marco?
- ¿Cuáles son las partes esenciales de una pila moderna de desarrollo web?
Pero Node no es el único intento de ejecutar JS fuera del navegador. Ni siquiera es el primer intento exitoso, ni el único que sobrevive.
¿Alguna vez tuvo la oportunidad de escuchar sobre una familia de productos llamada Creative Suit de una compañía llamada Adobe? Apuesto a que escuchaste algo. Bueno, adivina qué: sus aplicaciones son enormes y versátiles, y como tal, ofrecen algo de automatización. Esa automatización está programada, lo has adivinado, en JavaScript.
Hablando de productos de Adobe, es posible que haya escuchado Flash. Sí, ese Flash que compraron en Macromedia y luego se desbordó en la Red con pancartas pesadas y de bajo rendimiento. Bueno, de hecho, solo proporcionaron tecnología para eso. Y esa tecnología, que conocemos colectivamente como Flash, entre otras cosas, tenía un lenguaje de script llamado ActiveScript. De hecho, ese era un dialecto de JavaScript.
Había una vez una empresa tan moderna y tangente a nuestro mundo que una persona popular conocida como Forrest Gump se negó a invertir en ellos. Apple, probablemente no realmente conocida por nadie. Por cierto, solo esa compañía es responsable del declive y la muerte de Adobe Flash, porque Apple se negó a admitir Flash en un teléfono celular moderno con una pantalla enorme y 4 botones que comenzaron a vender en 2007. También produjeron computadoras personales (y todavía hacer), pero al igual que todos los hipsters en este mundo, no estaban satisfechos con el estado de la industria, por lo que desarrollaron todo por sí mismos. Incluso llegaron a desarrollar su propio sistema operativo (de hecho, varias veces seguidas), y ese sistema operativo actualmente se anuncia como macOS. De nuevo, es posible que hayas escuchado ese nombre una o dos veces. Ese sistema operativo, que de nuevo es bastante versátil, también ofrece automatización. No, JS no era el lenguaje de programación principal en esa automatización, el principal se llamaba (¡sorpresa!) AppleScript, pero también era posible usar JavaScript.
Apple era conocida por su oposición a otra compañía llamada Microsoft. Microsoft no era todos los hipsters en absoluto. Pero también eran chicos geniales. Microsoft también ha tenido su propio sistema operativo, esta vez llamado Windows. ¡Qué sistema operativo era! ¡Windows 98, popular a fines del milenio pasado, podría usar una página web como fondo de escritorio! ¡Tenía algunos juegos jugables como widgets en mi escritorio! ¿Qué tan loco es eso? Ninguno de los sistemas operativos actuales ofrece el mismo nivel de integración a la web que Windows 98. Nuevamente, poco se sabía que Windows también ofrece un conjunto de herramientas de automatización, en particular la tecnología Windows Script Host. WSH estaba usando JavaScript para, lo adivinaste, la automatización.
¿No te gusta la automatización? Bueno, tal vez las bases de datos te satisfarán más. En mi opinión, las bases de datos no son lo mismo que el desarrollo web: hice mucho desarrollo web sin siquiera un rastro de bases de datos, y también hice desarrollo de software con el uso de bases de datos pero sin tecnologías web. Entonces, de vuelta al negocio. Hay un motor de base de datos llamado CouchDB. Sí, nombre gracioso. El motor principal en sí no está escrito en JavaScript, pero los programadores que usan esa base de datos deben escribir sus solicitudes en JavaScript.
Hablando de widgets. Sí, esas cosas inútiles de escritorio. Los de Windows 98 eran páginas web puras (incluso eran rectangulares), pero a principios de la década de 2000 había un software para Mac que solo se llamaba Konfabulator. Su propósito era mostrar pequeños widgets interactivos directamente en el escritorio. Y estos no podrían ser tanto rectangulares. Los widgets de Konfabulator se basaron en XML (por lo tanto, no exactamente en páginas web) pero, sin embargo, utilizaron JavaScript para la parte interactiva. Más tarde, Apple lanzó una nueva versión de Mac OS con nombre en código Tiger, donde se incluyeron widgets similares de forma predeterminada (pero eran páginas web, aunque esta vez no rectangulares). Yahoo luego compró la compañía detrás de Konfabulator y la hizo multiplataforma y gratuita. Más tarde, Adobe lanzó una tecnología llamada Adobe Air, un conjunto de herramientas y tiempos de ejecución que permitieron escribir aplicaciones en forma de widgets. Por supuesto, Adobe Air incluyó JS runtime para scripting. Había muchas aplicaciones basadas en Air, aunque no mucha gente realmente las amaba por su bajo rendimiento.
Puedo recordar que durante bastante tiempo pude ejecutar JavaScript desde mi línea de comando en Linux usando algún comando simple, no recuerdo exactamente cuál, pero seguro que su nombre comenzó con ‘j’. Pero eso no fue NodeJS. También había otro llamado Rhino. Entonces, ejecutar JS desde la línea de comandos era bastante posible mucho antes de Node, y lo hice en servidores (es decir, grandes computadoras ruidosas sin monitores), donde instalar un navegador no era una opción.
Ah, y si vuelves a JavaScript como un lenguaje del lado del servidor (esta vez, para sitios web), los chicos geniales de Microsoft, aunque no son realmente hipsters, una vez desarrollaron su propio software de servidor web. Luego desarrollaron una tecnología .NET. Luego cruzaron los dos juntos, para que uno pudiera escribir una aplicación .NET que funcionaría en un servidor web. Pfff, nada especial, ¿verdad? Pero uno de los idiomas en los que podía escribir una aplicación .NET era JS.NET. Eso fue alrededor de 2003–2005, si no estoy muy equivocado. Sí, podría crear una aplicación de servidor mucho antes de que NodeJS existiera.
Ok, lejos de todos esos servidores, bases de datos y automatización. ¿Has oído hablar de Internet de las cosas? Sí, ahí es donde su refrigerador y su aire acondicionado se juntan durante todo el día y comparten selfies, se dan me gusta y comentan con divertidos emojis. Es una broma. Bueno, está bien, para desarrollar más dispositivos inteligentes para Internet de las cosas, las empresas crean cada vez más plataformas de hardware, de hecho, pequeñas computadoras que se pueden usar en varias ocasiones. Esas computadoras, por supuesto, tienen que ser programadas con algo. Adivina qué: C y ASM no son los lenguajes elegidos en estos días. Hay una plataforma llamada Tessel que usa JavaScript (y NodeJS) como el lenguaje de programación principal para su plataforma. Para enfatizar una vez más: usted programa un dispositivo integrado, una computadora pequeña con una variedad de sensores, para leer esos sensores y procesar esos datos. Internet no es el punto principal aquí.
Supongo que fueron suficientes ejemplos de JavaScript que no están en la web. Esto es hoy en día y fue durante mucho tiempo uno de los lenguajes de secuencias de comandos más potentes que muchas personas intentaron usar en diversas aplicaciones además del desarrollo web.