Javascript
JavaScript (JS menudo abreviado) es un lenguaje de programación de script utilizado principalmente en páginas Web. Se trata de un prototipo de lenguaje orientado a objetos, es decir que los fundamentos del lenguaje y sus principales interfaces son proporcionados por los objetos que son instancias de clases, pero que están equipadas por los fabricantes para crear sus propiedades, incluyendo una propiedad que permite la creación de prototipos para crear objetos heredados personalizados. Además, las funciones son objetos de primera clase.
El código JavaScript se puede integrar directamente en las páginas Web, que se ejecutará en el cliente. Fue entonces cuando el explorador Web compatible con la ejecución de estos programas se les llama scripts.
Generalmente, JavaScript se utiliza para controlar los datos introducidos en los formularios HTML, o interactuar con el documento HTML a través de la interfaz Document Object Model, que proporciona el navegador (esto se refiere a veces como HTML dinámico o DHTML).
JavaScript no se limita a la manipulación de documentos HTML y puede ser usado para manipular SVG, y otros dialectos de XML documentos XUL.
Incompatibilidades
Netscape y Microsoft (con JScript en Internet Explorer) han desarrollado su propia variante de este lenguaje, cada uno de los cuales soporta casi totalmente el estándar ECMAScript, tiene una funcionalidad adicional e inconsistente, de uso frecuente en las páginas Web de programación. Sin embargo, JavaScript es a menudo una fuente de dificultades. Debido al apoyo de diferentes versiones el modelo de objetos (DOM) proporcionado por los navegadores a la portabilidad crea problemas del lenguaje (las diferentes implementaciones respetando relativamente bien ECMAScript).
Otro método consiste en comprobar el lado del servidor, el navegador utilizado por el cliente y enviar el código correspondiente. Sin embargo esto no es recomendable, ya que es mucho mejor para probar directamente la existencia, el comportamiento de una función, propiedad, etc. en lugar de hacer suposiciones basadas en la detección del navegador.
AJAX
JavaScript utiliza en el método Ajax (Asynchronous JavaScript And XML) se utiliza para modificar el contenido de las páginas Web mediante programación. El resultado de la manipulación de los scripts de usuario en JavaScript enviará solicitudes al servidor Web mediante el objeto XMLHttpRequest. Después los scripts modificarán los contenidos de la página Web en base a la respuesta recibida; la respuesta está en formato XML y el scripts se encarga de todos los objetos DOM que representa el contenido de la página. Tecnologías XMLHTTPRequest, XML y DOM se han añadido a los navegadores Web entre 1995 y 2005 el método Ajax permite que aplicaciones de Internet, proporcionen comodidad y un manejo superior, este es uno de los temas claves de movimiento de la Web 2.0.
JSON (JavaScript Object Notation) es un formato mediante la notación de objetos de JavaScript para transmitir información estructurada en una forma más compacta y más cerca de la forma en lenguajes de programación, XML.
A pesar de la existencia de DOM y la reciente introducción de E4X en la especificación de JavaScript, JSON es la forma más sencilla de acceder a los datos, ya que JSON queda en un medio simple de acceder a los datos ya que cada flujo no es más que un objeto de JavaScript serializado. Por otra parte, a pesar de su historia (y técnica) enlace con JavaScript, JSON sigue siendo un formato de datos estructurado, y puede ser utilizado fácilmente por todos los lenguajes de programación.
Desde 2009, los exploradores comienzan a integrar el soporte nativo para JSON, lo que facilita el manejo, la seguridad (evaluación contra scripts maliciosos incrustados en una cadena JSON), y la velocidad de procesamiento. Así Firefox e IE7 integran respectivamente a las versiones 3.5 y 8.
JavaScript también puede ser utilizado como un lenguaje de programación en una petición al servidor HTTP como PHP, ASP, etc. Por otra parte, el proyecto CommonJS trabaja para especificar un ecosistema JavaScript fuera del navegador (por ejemplo, en el servidor o las aplicaciones de escritorio nativas). El proyecto fue lanzado por Kevin Dangoor en enero de 2009. CommonJS proyecto no está afiliado con el grupo de ECMA International TC39 trabajando en ECMAScript, pero algunos miembros del TC39 participantes.
Históricamente, JavaScript fue propuesto en los servidores de Netscape posteriormente distribuidos por Sun Microsystems bajo los nombres de iPlanet y Sun ONE, pero JScript también se puede utilizar en los servidores Internet Information Services de Microsoft. JScript también se puede utilizar para la escritura de una plataforma Microsoft Windows a través de Windows Scripting Host (WSH).
También hay proyectos independientes y la implementación de código abierto de los servidores de JavaScript. Entre ellos, podemos distinguir Node.js, un desarrollo de aplicaciones de red plataforma versátil basado en el motor V8 de JavaScript y especificaciones CommonJS.
También podemos mencionar ActionScript se utiliza en Macromedia Flash es también la implementación de ECMAScript. Permite manipular todos los elementos de animación, considerados como objetos. JavaScript puede ser utilizado para scripting aplicaciones de Adobe (Photoshop, Illustrator …), lo que permite una plataforma de scripting independiente (Mac / Windows).
JavaScript se utiliza finalmente en el desarrollo de la plataforma Mozilla, que se basa en varios programas como navegadores Web, para las tareas relacionadas con la interfaz de usuario y la comunicación interna (por ejemplo: Firefox y Thunderbird están instalando en función archivos XPI utilizando JavaScript. Prefs.js).
Desde 2004, los «js» objeto entorno Max / MSP programación gráfica se abre una ventana para la programación en JavaScript, incluso dentro de un programa de Max / MSP.
Software ImageJ se proporcionan CaRMetal JavaScript consola, lo que les permite escribir secuencias de comandos en un contexto gráfico. Y Algobox utiliza funciones sintácticas de JavaScript.
JavaScript también se usa en un contenido BIFS a los eventos de operación. Para ello, la especificación BIFS proporciona un nodo de secuencias de comandos para incorporar el ECMAScript.
La suite de oficina OpenOffice.org le permite utilizar JavaScript como lenguaje de macros (Linux / Mac / Solaris / Windows).
JavaScript también se utiliza en shell8 o aparatos de Vista.
Encontramos la mayoría de código Javascript en las páginas web, incluso si ver que se muestre. De hecho, es el único lenguaje que permite dictar a un navegador web (Internet Explorer, Firefox, Chrome …) lo que debe hacer sin necesidad de instalar nada. La gran mayoría de los navegadores web «habla» el Javascript.
La mayor parte del código Javascript en las páginas Web sirve para que la página Web pueda responder. Funciona de la siguiente manera:
El usuario hace clic en un enlace o entre una dirección.
Navegador carga la página Web. Él ve el texto, los colores, las imágenes.
Si la página Web contiene código JavaScript, el navegador lee el código Javascript y siga las instrucciones del código.
Generalmente, el código Javascript en una página Web es:
Mover, aparecer o desaparecer de los elementos de la página (título, menú, un párrafo, una imagen).
Actualización de elementos de la página sin necesidad de recargar la página (cambiar el texto, vuelva a calcular un número, etc.)
Pregunte al servidor después de una nueva página y la inserta en la página actual sin necesidad de recarga.
Espere a que el rostro de usuario algo (hacer clic, escribir en el teclado, mueva el ratón) y responder (a uno de los citados resultados de esta acción).
Así que el código Javascript es empleado para dar dinamismo a la página. Sin ella, la página se parece a una página de un libro.
Por ejemplo, aquí están algunas de las características que se pueden ver en una página Web que involucran Javascript:
Un menú acordeón.
Un selector de fecha.
Una barra de progreso.
Esto no quiere decir que no podamos tener otras características con algo más que el Javascript, pero en nuestro caso fueron producidos Javascript.
Algunos sitios Web simplemente no podrían funcionar sin Javascript. Este es el caso de Facebook, Youtube o Twitter utilizando el lenguaje de casi toda su pantalla. La página de búsqueda de Google, por el contrario, puede funcionar sin Javascript.
Aquí por ejemplo, dos páginas similares. A Javascript (haga clic sobre el texto para ver el efecto):
JavaScript es leído y ejecutado en el navegador Web en el equipo del usuario.
Esto se conoce como el código «del lado del cliente». Y no puede interactuar directamente con el código «servidor» (el que produce la página Web); y por lo tanto no se puede comunicar directamente con el lado del servidor en el cliente Javascript y PHP, por ejemplo.
A medida que el usuario tiene el control de su máquina, puede optar por desactivar el soporte de Javascript en su navegador. En este caso, se ignorará el código Javascript y hace como si no estuviera allí. Verá la página, pero todos los elementos que trabajan con Javascript no funcionará.
Las páginas Web también están cubiertos por los navegadores que no soportan JavaScript y robots que no son navegadores Web. Muchos motores de búsqueda (como Google, Bing o DuckDuckGo) tienen de hecho tales robots para mostrar todas las páginas Web, ya menudo ignoran sus robots Javascript.
Javascript cuando se encuentra en el navegador Web, también tiene la peculiaridad de estar limitado a lo que le deja el navegador. Esto es lo que hace que sea lo suficientemente seguro. Pero cada navegador tiene sus propias características y, a veces incluye Javascript diferentes. Además, la ejecución de código Javascript siempre ha sido algo lento.
Esto ha hecho que el lenguaje sea impopular, dificultad de uso, limitaciones importantes y su bajo rendimiento.
Ahora Javascript se utiliza en gran medida en todos los sitios Web principales. Las herramientas como jQuery, se han desarrollado para facilitar su uso y los navegadores se han convertido en mucho más eficaz en su tratamiento.
La creciente popularidad en la década de 2000 una herramienta llamada AJAX, que permite Javascript para actualizar una página sin tener que recargar, impulsó el idioma en la parte delantera del escenario. El uso de AJAX, si se hace bien, el sitio puede consultar más rápido y fluido, se incluyo rápidamente en todos los sitios más populares.
La consecuencia es que ahora es imposible desarrolla Web si no es capaz de escribir un mínimo de código Javascript. Si desarrollas sitios Web, necesita aprender al menos los conceptos básicos de Javascript.
Javascript permite hoy en día, con el apoyo de otras tecnologías (Flash, HTML5, Canvas, CSS3, WebGL), hacer cosas muy avanzadas como 3D, manipulación de imágenes, sonidos y videos. Pronto, con innovaciones como WebRTC, permite Javascript to Peer-to-peer conferencias dentro de la vista del navegador Web:
Si ve un juego de video o una película en una página Web, un código Javascript está involucrado en alguna parte. Esta tecnología actualmente es uno de los que tienen el mayor potencial para el desarrollo.
Se espera innovaciones importantes del lado Javascript con la maduración de herramientas como MeteorJs que pueden codificarse en Javascript, la generación de páginas de código del lado del servidor y el navegador del cliente, mientras que el interactuar de forma automática.
Con la mejora del rendimiento de JavaScript, el lenguaje ha sido utilizado cada vez más fuera del explorador Web. Se encuentra en todas partes hoy en día:
En los servidores, el ejemplo más famoso es NodeJS, una herramienta para generar páginas Web antes de enviarlas al navegador.
Interfaces en los equipos, pueden mostrar ventanas y botones (Scripting QT, Gnome Shell).
En los teléfonos actualmente en FirefoxOS y PhoneGap, que le permite escribir aplicaciones.
Javascript nace como la tecnología minimalista. El lenguaje es poderoso, pero no hace nada por sí mismo. Con su profesionalización surgió los marcos, es decir, colecciones de código que hacen que el desarrollo en JavaScript más rápido, más fácil y más potente.
En el navegador, el más conocido y utilizado es, sin duda, jQuery. También es el que se prefiere usar a Sam y Max, y casi no hay razón para no utilizarlo hoy. Por defecto, si no hay nada obvio opone fuertemente no incluir jQuery, siempre recomendamos agregarlo automáticamente a la primera letra del código Javascript mecanografiado en un proyecto Web.
Si no sabe cómo utilizar jQuery pero si JavaScript debe establecer para una página Web, empiece por aprender a usar jQuery. Javascript es instructivo, pero no es muy productivo.
Todavía hay otros marcos: Mootools, Prototype.js, YahooUI. Los que todavía existe hoy en día son los que sobrevivieron el efecto de la moda, y todos ellos son herramientas sólidas hoy.
Luego están biblioteca especializada en temas tales como el enrutamiento, los modelos de manejo, plantillas, etc. De nuevo, si estos términos no le suenan es que ni siquiera necesita estas bibliotecas. Encontrados en la spine.js Backbone.js lote, mustache.js y muchos otros.
Marcos híbridos que abarcan muchos temas ambos llegados en los últimos años, incluyendo Knockout.js AngularJS Microsoft y Google.
A pesar de mi lucidez acerca de la creciente importancia de Javascript, me gustaría compartir las cosas que los aficionados no dicen.
En primer lugar, se trata de un lenguaje muy feo. Sé que parece trivial, pero requiere un tiempo mayor de aprendizaje. Un tiempo mucho mayor repetición (y leer los códigos de cientos de veces al día). Más largo también el tiempo de depuración Y muchos más errores porque JS es muy permisiva. En resumen, este es un lenguaje muy improductivo cuando se compara con Ruby, Python o PHP.
El código Javascript tiene como errores posibles: variables no declaradas funcionan, pero se comparten con el resto del código. El console.log también se ejecutará en un servidor y en algunos navegadores, pero se bloqueará otros navegadores que no tienen acceso a este objeto. Puede ser reemplazado por document.writeln pero entonces el código no funcionará en un servidor.
Requisitos previos para codificar un simple trozo de código JavaScript sin error se requiere una mayor vigilancia.
Entonces, es difícil encontrar buenos programadores Javascript. Los perfiles más comunes son los diseñadores que hacer un poco de JS, o codificadores PHP que ocasionalmente insertan JS en sus páginas forzados. Especialistas en Javascript son raros, caros y no es fácil contratar.
Por otra parte, para capacitar a alguien o entrenar Javascript, los recursos son escasos. No estoy hablando de miles de secuencias de comandos ya preparados listos para ser utilizados. Hablo, por supuesto, para convertirse en un programador serio, y de la relación a los desarrolladores Web que la mayoría son aficionados Javascript.
Navegador Side JavaScript está maduro. Sin embargo, fuera del navegador, es una tecnología que todavía está en su infancia. Sí, apuesto a que va a ser costoso muy dominante en los próximos años. Pero mientras tanto, los que están metiendo ahora va a pagar los platos rotos: libs no probado, pobremente documentada, incoherente
Javascript no es adecuado para todos, si necesita hacer la programación de servidor o GUI, prefiero recomendar Rubí o Python, con una preferencia por este último en conjunto sesgado por el uso intensivo de hecho de la misma.