Originalmente denominado LiveScript, fue desarrollado por Brendan Eich para Netscape Communications en 1995 para crear aplicaciones de internet en el cliente. Después de Netscape, la fundación Mozilla continuó desarrollando JavaScript para el navegador Firefox.
Mas o menos en la misma época, Sun Microsystems lanzó el lenguaje de programación JAVA (que originalmente fue llamado Oak), el que adquirió rápidamente popularidad así que por razones netamente comerciales se le cambia el nombre a Java.
ECMA Script (ES) fue desarrollado por ECMA International después de que la organización adoptó JavaScript.
La versión 1.0 apareció con la versión 2.0 del navegador de la misma empresa y mas tarde es incorporado en el iExplorer 3.0 de MiscroSoft. Poco tiempo después aparece también el VBScript (Visual Basic Script) de Microsoft, un buen competidor.
Año | JavaScript | ES | Navegador |
---|---|---|---|
1996 | 1.0 | Netscape 2 | |
1997 | 1 | IE 4 | |
1998 | 1.3 | Netscape 4 | |
1999 | 2 | IE 5 | |
2000 | 1.5 | 3 | IE 5.5 + Netscape 6 + Firefox 1 |
2011 | 1.8.5 | 5 | IE 9 + Firefox 4 |
2012 | Chrome 23 + Safari 6 + IE 10 | ||
2013 | Firefox 21 + Opera 15 | ||
2015 | 2015 | Parcialmente | |
2016 | Edge 14 + Safari 10 | ||
2017 | Chrome 58 + Firefox 54 | ||
2018 | Opera 55 |
Hoy en dia esta estandarizado en todos los navegadores parcialmente.
Un script es una secuencia de ordenes, en un determinado lenguaje, que debe ser ejecutado por un interprete. Actualmente los dos lenguajes de script de lado del cliente, mas usados son JavaScript y VBScript del lado del servidor también tenemos a JavaScript (con Node.js) y PHP. La inclusión de scripts en los documentos HTML hace que éstos sean dinámicos. El contenido se genera en forma dinámica, mientras que los valores introducidos en los formularios pueden comprobar localmente, sin necesidad de contar con un servidor ni emplear un cierto tiempo en ello.
A pesar del nombre, JavaScript, este lenguaje tiene poco que ver con JAVA.
Es un lenguaje de programación del lado del cliente. Actualmente los navegadores Web mas usados son Chrome, FireFox, Netscape Navigator e iExplorer, todos soportan JavaScript, pero solo el iExplorer soporta VBScript.
Es un lenguaje interpretado y no es compilado que se ejecuta del lado del cliente (en el navegador).
Es un lenguaje que se convierte a otro. Por la necesitdad de desarrollar mas rápido y quiero tener mas herramientas.
En el caso de JS, también se les llama Compiladores o Transpiladores, porque lo que se hacen es que tu puedes usar para desarrollar un lenguaje mas avanzado y moderno el cual luego es traducido o convertido a JavaScript clásico que es mas compatible con todos los navegadores
Nos permite resolver malas practicas, avisandonos de errores. Muy bueno para trabajar en grupo.
Cada vez aumentamos mas la complejidad de nuestras apliaciones, asi que para comprobar que todo se encuentra en orden se usan sistemas de testing, para evitar errores.
Son herramientas o utilidades que nos permiten gestionar todas estas tareas de compilacion sin tener que configurar cada tecnología por separado.
Para resolver problemas específicos como la interfaz web, una APP, gestionar datos o una API externa, se usan librerías. Básicamente es código desarrollado por otras personas que están a disposición del desarrollador.
Es una librería gratuita en JavaScript. Es decir agregar funciones avanzadas con el menor esfuerzo.
<Script type="text/javascript" src="jquery.min.js"></Script>
Ver aqui
Es una librería para simplificar CSS. Desarrollado por Twitter. Descargar aqui
<Link rel=StyleSheet href=bootstrap.min.css>
Existen por definicion 4 tamaños de pantalla: small (sm),medium (md), large (lg) y extra large (xl).
<div class=conteiner> <div class=row> <div class=row-sd-12 row-lg-4> </div> <div class=row-sd-12 row-lg-4> </div> <div class=row-sd-12 row-lg-4> </div> </div> </div>
Es un entorno de desarrollo o plataforma que muchas veces contienen librerias.
Son aplicaciones que se instala y ejecutan en el lado del servidor.
Es un entorno de ejecución para JavaScript del lado de servidor construido con el motor de JavaScript V8 de Chrome. Usa un modelo de operaciones E/S sin bloqueo y orientado a eventos, que lo hace liviano y eficiente. El ecosistema de paquetes de Node.js, npm, es el ecosistema mas grande de librerías de código abierto en el mundo.
La meta Node es "proporcionar una manera fácil para construir programas de red escalables". Cuál es el problema con los programas de servidor actuales ? En los lenguajes como Java y PHP, cada conexión genera un nuevo hilo que potencialmente viene acompañado de 2 MB de memoria. En un sistema que tiene 8 GB de RAM, esto da un número máximo teórico de conexiones concurrentes de cerca de 4.000 usuarios. A medida que crece su base de clientes, si usted desea que su aplicación soporte más usuarios, necesitará agregar más y más servidores. Desde luego, esto suma en cuanto a los costos de servidor del negocio, a los costos de tráfico, los costos laborales, y más. Además de estos costos están los costos por los problemas técnicos potenciales — un usuario puede estar usando diferentes servidores para cada solicitud, así que cualquier recurso compartido debe almacenarse en todos los servidores. Por todas estas razones, el cuello de botella en toda la arquitectura de aplicación Web (incluyendo el rendimiento del tráfico, la velocidad de procesador y la velocidad de memoria) era el número máximo de conexiones concurrentes que podía manejar un servidor.
Node.js resuelve este problema cambiando la forma en que se realiza una conexión con el servidor. En lugar de generar un nuevo hilo de OS para cada conexión (y de asignarle la memoria acompañante), cada conexión dispara una ejecución de evento dentro del proceso del motor de Node. Node.js también afirma que nunca se quedará en punto muerto, porque no se permiten bloqueos y porque no se bloquea directamente para llamados E/S. Node afirma que un servidor que lo ejecute puede soportar decenas de miles de conexiones concurrentes.
Node.js no es como Apache o Tomcat que de por si uno los instala y están listo. A Node.js hay que instalarle los módulos que Uds necesite.