¿Por qué se usa Javascript principalmente para el desarrollo web?

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.

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.

Como otros han dicho, es el único lenguaje en la web, y debido al enorme crecimiento de la web, JavaScript también ha crecido enormemente. Su diseño original fue hecho para facilitar la programación, y aunque eso suena como un buen plan, realmente no lo es. No requiere mucha disciplina por parte del programador (escritura débil, declaración de var opcional, punto y coma opcionales, etc.). Sin embargo, la computadora necesita saber lo que quiere decir sin ambigüedades y, por lo tanto, los intérpretes de JavaScript intentarán decidir por usted lo que realmente quiso decir, lo que da lugar a problemas difíciles de depurar.

Dado que la web explotó, JavaScript recibió mucha atención para hacerlo un mejor lenguaje, y ahora también ofrece posibilidades fuera de la web. Sin embargo, debido a los problemas mencionados anteriormente, se recibe allí con sentimientos encontrados. Los desarrolladores web que miran fuera de su dominio original están contentos de poder usar el mismo idioma y comenzar a ser productivos de inmediato. Mientras que muchos otros desarrolladores eligen otras herramientas siempre que sea posible.

JavaScript es la única opción en el navegador web, soporte para navegador web * solo * JavaScript.

En términos de JavaScript fuera del navegador web, algunas personas lo usan para back-end web, pero la mayoría usa algo más.

No me gusta JavaScript como lenguaje de uso general, y con todas las otras opciones disponibles, simplemente no hay razón para considerarlo, para el tipo de programación que hago y lo que hace la mayoría de la gente.

Elegir un lenguaje de programación es como entrar en una sala de exposición de automóviles de BMW, Mercedes, Hyundai, Lexus y todas las demás marcas que se te ocurran. La diferencia es que todos los autos son gratis.

En ese escenario, dada la opción, la mayoría de las personas no elegirán JavaScript, pero no elegiré un automóvil para compararlo, pero si lo hiciera, no sería amable.

Se utiliza principalmente para el desarrollo web porque se ejecuta principalmente en navegadores web. Para eso está diseñado el lenguaje. De hecho, el idioma no puede hacer mucho fuera del navegador web. ¿Necesita abrir o guardar un archivo local? No tienes suerte. JavaScript no hace eso. Y nunca lo hará, por razones de seguridad.

Con el reciente aumento de Node.JS, JavaScript se ha aventurado fuera de los navegadores y en el tiempo de ejecución de Node.JS. Con eso viene una funcionalidad adicional (en Node, no JavaScript) para el acceso al sistema de archivos y otras funciones esenciales.

Pero incluso con Node, todavía hay muchos inconvenientes para usarlo para el desarrollo de aplicaciones. Aquí están los que se me ocurren en este momento:

  • No GUI Se ejecuta en la línea de comando. y como ya no es 1990, los usuarios finales prefieren no tener que usar la línea de comando.
  • Se compila cada vez que lo ejecuta, lo que lo hace más lento que la mayoría de los otros idiomas.
  • Javascript fue diseñado con pequeños scripts en mente (de ahí el sufijo Script). La falta de tipeo estático y, hasta hace muy poco, el concepto de clases ha impedido que se utilice para proyectos más grandes, donde los principios de diseño orientados a objetos son el estándar de facto.
  • Hay alternativas mucho mejores. ¿Por qué pasarías el tiempo tratando de forzar a JavaScript a hacer algo que no quiere hacer cuando hay tantos lenguajes que realmente quieren hacerlo?

Porque javascript no solo se usa en el front end, sino también en el back end. Esto hace que la forma de convertirse en desarrollador de pila completa sea más fácil.

Hoy en día, puede escribir aplicaciones multiplataforma a través de Electron, crear aplicaciones iOS y Android a través de Ionic. Todos se basan en javascript, html y css. Eso significa que si sabes cómo desarrollar web, casi sabes desarrollar aplicaciones.

Todo tiene ventajas y desventajas. Javascript también tiene su costilla corta. No puede realizar tareas de rendimiento requeridas. No puede acceder a dispositivos informáticos de nivel inferior. No puede multihilo. Etcétera etcétera.

Si desea aprender un lenguaje de programación para vivir u obtener un trabajo, entonces aprender javascript sería un atajo ahora. Pero si desea comprender la teoría de la computadora, probablemente sea mejor comenzar con c.

No es que JavaScript no pueda realizar las tareas de otros idiomas. De hecho, ofrece muchos beneficios en lo que respecta al desarrollo web.

Ventaja 1: ejecución del lado del cliente

JavaScript ejecuta todos los códigos del lado del cliente. Cada vez que se ingresa el código, se ejecuta en el procesador del usuario en lugar de ejecutarse en el servidor web. Por lo tanto, ahorra el ancho de banda y reduce la carga en el servidor.

Ventaja 2: lenguaje más fácil

JavaScript está escrito en texto plano y simple. Se basa en el modelo DOM que ofrece una serie de funciones preescritas para diferentes objetos, lo que facilita la creación de un script si se utiliza para resolver un problema personalizado.

Beneficio 3: beneficio para el usuario final

Todos los códigos están escritos en la computadora del usuario. El resultado y el procesamiento se llevan a cabo tan pronto como se complete la tarea en JavaScript, ya sea en las páginas web o en el consumidor de memoria. Una ventaja es que no hay necesidad de procesar el servidor web.

Ventaja 4: aumenta la funcionalidad de las páginas web

La presencia de complementos de terceros permite a los desarrolladores escribir fragmentos para ejecutar en páginas web seleccionadas para aumentar la funcionalidad. El beneficio aquí es que puede escribir el código usted mismo y aplicarlo en la página web.

Empresa de diseño y desarrollo web | Servicios de diseño de sitios web India

JavaScript fue creado para la web, por lo que no debería sorprendernos que es donde más se usa. Se está comenzando a usar para crear aplicaciones nativas, el primer ejemplo de mi cabeza son los corchetes: un editor de código fuente moderno y abierto que comprende el diseño web.