Vous êtes sur la page 1sur 5

Introduccion e Historia de JavaScript (ochi)

caracteristicas? ajax? parte practica da ejemplos el mas groso babe

JavaScript
JavaScript es un prototipo basado en el lenguaje de scripting que es dinmico , tipos dbiles y tiene funciones de primera clase . Se trata de un multi-paradigma del lenguaje, el apoyo orientado a objetos , imperativo y funcional estilos de programacin. JavaScript es una implementacin de la ECMAScript lenguaje estndar y se utiliza principalmente en forma de JavaScript en el cliente , implementado como parte de un navegador Web con el fin de ofrecer mejores interfaces de usuario dinmicas y sitios web . Esto permite programtica acceso a los objetos de clculo dentro de un entorno de acogida. El uso de JavaScript en aplicaciones fuera de las pginas Web - por ejemplo, en PDFdocumentos, navegadores especficos del lugar , y los widgets de escritorio - tambin es importante. Ms nuevo y ms rpido JavaScript mquinas virtuales y los marcos construidos sobre ellas (en particular Node.js ) tambin han aumentado la popularidad de JavaScript para aplicaciones web del lado del servidor. JavaScript se utiliza la sintaxis influenciado por el de C . JavaScript copias muchos nombres y convenciones de nombres de Java , pero las dos lenguas son de otra manera no relacionadas y tienen una semntica muy diferente. Los principios de diseo clave dentro de JavaScript se toman de la Ser y Plan de lenguajes de programacin.

Historia
JavaScript fue desarrollado originalmente por Brendan Eich de Netscape bajo el nombre de Mocha, que despus se llam a LiveScript, y finalmente a JavaScript. LiveScript fue el nombre oficial de la lengua cuando por primera vez embarcados en las versiones beta de Netscape Navigator 2,0 en septiembre de 1995, pero fue rebautizado como JavaScript en un anuncio conjunto con Sun Microsystems el 4 de diciembre de 1995, cuando se despleg en la versin del navegador Netscape 2.0B3. El cambio de nombre de LiveScript a JavaScript coincida aproximadamente con el apoyo de Netscape para aadir la tecnologa Java en su Netscape Navigator navegador web. La eleccin final del nombre caus confusin, dando la impresin de que la lengua era un spin-off dellenguaje de programacin Java , y la eleccin se ha caracterizado por muchos como una estratagema de marketing para dar por Netscape JavaScript el prestigio de lo que entonces era el calor nuevo lenguaje de programacin web. Tambin se ha afirmado que el nombre de la lengua es el resultado de un acuerdo de co-marketing entre Netscape y dom , a cambio de tiempo de ejecucin de Netscape agrupacin de Java de Sun con su entonces dominante navegador . JavaScript muy rpidamente se gan el xito generalizado de un lenguaje de script del lado del cliente para las pginas web. Como consecuencia de ello, Microsoft nombr a su puesta en prctica de JScript para evitar problemas de marca. JScript aadido nuevos mtodos para fijar la fecha Y2K mtodos problemticos en JavaScript, que se basan en Java java.util.Date clase. JScript fue incluido en Internet Explorer 3.0, lanzado en agosto de 1996. En noviembre de 1996, Netscape anunci que haba presentado JavaScript para Ecma International para su consideracin como un estndar de la industria, y el trabajo posterior dio lugar a la versin estndar denominado ECMAScript . JavaScript se ha convertido en uno de los lenguajes de programacin ms populares en la web. Inicialmente, sin embargo, muchos programadores profesionales denigrado la lengua debido a que su pblico objetivo fue autores de pginas web y otros "aficionados", entre otras razones. La llegada de Ajax volvi JavaScript para el centro de atencin y llev ms la atencin de programacin profesional.

El resultado fue una proliferacin de amplia marcos y las bibliotecas , la mejora de las prcticas de programacin JavaScript, y un mayor uso de JavaScript fuera de los navegadores web, como se ve por la proliferacin de JavaScript del lado del servidor plataformas. En enero de 2009, el CommonJS proyecto nace con el objetivo de especificar una biblioteca estndar comn, principalmente para el desarrollo de JavaScript fuera del explorador.

Caractersticas
imperativo y estructurado
JavaScript soporta programacin estructurada sintaxis de C (por ejemplo, if los estados, while los bucles, switch los estados, etc.) Una excepcin parcial es de alcance : C-estilo en bloque a nivel de evaluacin no es compatible (en cambio, tiene una funcin de JavaScript a nivel de alcance). JavaScript 1.7, sin embargo, apoya a nivel de bloque con el alcance let la palabra clave. Al igual que C, JavaScript hace una distincin entre expresiones y declaraciones . Una de las diferencias sintcticas de C es la insercin automtica de punto y coma , en el que los puntos y comas que terminen las declaraciones se puede omitir.

Dinmica
tipado dinmico Al igual que en la mayora de los lenguajes de scripting, tipos se asocian con los valores , no con las variables . Por ejemplo, una variable x puede ser obligado a un nmero, luego de rebote a una cadena . JavaScript soporta varias maneras de probar el tipo de un objeto, incluso escribiendo pato . basada en objetos JavaScript es casi enteramente basada en objetos . JavaScript los objetos son los arrays asociativos , aumentada con los prototipos. Los nombres de objetos de propiedad son claves de tipo cadena: obj.x = 10 y obj['x'] = 10 son equivalentes, la notacin de puntos que se sintcticas . Propiedades y sus valores se pueden agregar, cambiar o eliminar en tiempo de ejecucin. La mayora de las propiedades de un objeto (y los de su cadena de herencia de prototipo) se pueden enumerar usando una for...in bucle. JavaScript tiene un pequeo nmero de objetos integrados, tales como Function y la Date . tiempo de ejecucin de la evaluacin JavaScript incluye una eval funcin que puede ejecutar sentencias de siempre como cadenas en tiempo de ejecucin.

funcional
funciones de primera clase Las funciones son de primera clase , son los propios objetos. Como tales, tienen propiedades y mtodos, tales como la length y el call() , y pueden ser asignados a las variables, pasados como argumentos, return . ed por otras funciones, y manipulados como cualquier otro objeto Cualquier referencia a una funcin le permite ser invocado usando el () del operador. funciones anidadas "Interior" o funciones "anidado" son funciones definidas dentro de otra funcin. Que se crean cada vez que se invoca la funcin externa. Adems de eso, el alcance de la funcin externa, incluyendo constantes, variables locales y valores de los argumentos, se convierten en parte del estado interno de cada objeto de la funcin interna, incluso despus de la ejecucin de la funcin externa concluye. cierres JavaScript permite que las funciones anidadas a crear, con el mbito lxico en vigor en su definicin, y cuenta con un () operador para invocar ahora o ms adelante. Esta combinacin de cdigo que puede ser ejecutado fuera del mbito en el que se define, con su propio mbito de aplicacin a utilizar durante la que la ejecucin, se llama el cierre de la informtica.

basados en prototipos
prototipos JavaScript utiliza prototipos en lugar de las clases de la herencia . Es posible simular muchas clases caractersticas basadas en prototipos con JavaScript. funciona como constructores de objetos Doble funcin como constructores de objetos, junto con su tpico papel. Prefijar una llamada a funcin con new crea un nuevo objeto y llama a esa funcin con su local de this palabra clave vinculados al objeto de que la invocacin. El constructor deprototype propiedad determina el objeto utilizado para el prototipo interno del nuevo objeto. Built-in de JavaScript constructores, como la Array , tambin tienen prototipos que se pueden modificar. funciones como mtodos A diferencia de muchos lenguajes orientados a objetos, no hay distincin entre una definicin de funcin y un mtodo de definicin. Ms bien, la distincin se produce durante llamando a la funcin, una funcin puede ser llamada como un mtodo. Cuando una funcin se llama como un mtodo de un objeto, la funcin local de this palabra est ligada al objeto de que la invocacin.

Varios
entorno de ejecucin JavaScript normalmente se basa en un entorno de tiempo de ejecucin (por ejemplo en un navegador web ) para proporcionar los objetos y los mtodos por los que los scripts pueden interactuar con el "mundo exterior". De hecho, se basa en el medio ambiente para proporcionar la capacidad de incluir / scripts de importacin (por ejemplo, HTML <script> elementos). (Esto no es una caracterstica del lenguaje per se, pero es comn en la mayora de las implementaciones de JavaScript.) funciones variadic Un nmero indefinido de parmetros pueden ser pasados a una funcin. La funcin se puede acceder a ellos a travs de parmetros formales y tambin a travs de los locales de arguments objeto. Los literales de matriz y objeto Al igual que muchos lenguajes de script, matrices y objetos (arrays asociativos en otros idiomas) cada uno puede ser creado con una sintaxis de mtodo abreviado sucinta. De hecho, estos literales son la base de la JSON formato de datos. las expresiones regulares JavaScript tambin es compatible con las expresiones regulares de manera similar a Perl , que proporciona una sintaxis concisa y poderosa para la manipulacin de texto que es ms sofisticado que las funciones de cadena integrada.

AJAX
Ajax, acrnimo de Asynchronous JavaScript And XML (JavaScript asncrono y XML), es una tcnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicacin asncrona con el servidor en

segundo plano. De esta forma es posible realizar cambios sobre las pginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones. Ajax es una tecnologa asncrona, en el sentido de que los datos adicionales se solicitan al servidor y se cargan en segundo plano sin interferir con la visualizacin ni el comportamiento de la pgina. JavaScript es el lenguaje interpretado (scripting language) en el que normalmente se efectan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto disponible en los navegadores actuales. En cualquier caso, no es necesario que el contenido asncrono est formateado en XML. Ajax es una tcnica vlida para mltiples plataformas y utilizable en muchos sistemas operativos y navegadores dado que est basado en estndares abiertos como JavaScript y Document Object Model (DOM).

Tecnologas incluidas en Ajax


Ajax es una combinacin de cuatro tecnologas ya existentes: XHTML (o HTML) y hojas de estilos en cascada (CSS) para el diseo que acompaa a la informacin. Document Object Model (DOM) accedido con un lenguaje de scripting por parte del usuario, especialmente implementacionesECMAScript como JavaScript y JScript, para mostrar e interactuar dinmicamente con la informacin presentada. El objeto XMLHttpRequest para intercambiar datos de forma asncrona con el servidor web. En algunos frameworks y en algunas situaciones concretas, se usa un objeto iframe en lugar del XMLHttpRequest para realizar dichos intercambios. XML es el formato usado generalmente para la transferencia de datos solicitados al servidor, aunque cualquier formato puede funcionar, incluyendo HTML preformateado, texto plano, JSON y hasta EBML. Como el DHTML, LAMP o SPA, Ajax no constituye una tecnologa en s, sino que es un trmino que engloba a un grupo de stas que trabajan conjuntamente.

Antecedentes de Ajax
A pesar de que el trmino Ajax fue creado en 2005 por Jesse James Garrett,1 la historia de las tecnologas que permiten Ajax se remonta a una dcada antes con la iniciativa de Microsoft en el desarrollo de Scripting Remoto. Sin embargo, las tcnicas para la carga asncrona de contenidos en una pgina existente sin requerir recarga completa remontan al tiempo del elemento iframe (introducido en Internet Explorer 3 en 1996) y el tipo de elemento layer (introducido en Netscape 4 en 1997, abandonado durante las primeras etapas de desarrollo de Mozilla). Ambos tipos de elemento tenan el atributo src que poda tomar cualquier direccin URL externa, y cargando una pgina que contenga javascript que manipule la pgina paterna, pueden lograrse efectos parecidos al Ajax. El Microsoft's Remote Scripting (o MSRS, introducido en 1998) result un sustituto ms elegante para estas tcnicas, con envo de datos a travs de un applet Java el cual se puede comunicar con el cliente usando JavaScript. Esta tcnica funcion en ambos navegadores, Internet Explorer versin 4 y Netscape Navigator versin 4. Microsoft la utiliz en el Outlook Web Access provisto con la versin 2000 de Microsoft Exchange Server. La comunidad de desarrolladores web, primero colaborando por medio del grupo de noticias microsoft.public.scripting.remote y despus usando blogs, desarrollaron una gama de tcnicas de scripting remoto para conseguir los mismos resultados en diferentes navegadores. Los primeros ejemplos incluyen la biblioteca JSRS en el ao 2000, la introduccin a la tcnica imagen/cookie2 en el mismo ao y la tcnicaJavaScript bajo demanda (JavaScript on Demand)3 en 2002. En ese ao, se realiz una modificacin por parte de la comunidad de usuarios4al Microsoft's Remote Scripting para reemplazar el applet Java por XMLHttpRequest. Frameworks de Scripting Remoto como el ARSCIF5 aparecieron en 2003 poco antes de que Microsoft introdujera Callbacks en ASP. NET.6 Desde que XMLHttpRequest est implementado en la mayora de los navegadores, raramente se usan tcnicas alternativas. Sin embargo, todava se utilizan donde se requiere una mayor compatibilidad, una reducida implementacin, o acceso cruzado entre sitios web. Una alternativa, el Terminal SVG7 (basado en SVG), emplea una conexin persistente para el intercambio continuo entre el navegador y el servidor.

Problemas e Inconvenientes
Las pginas con AJAX son ms difciles de desarrollar que las pginas estticas. Las pginas creadas dinmicamente mediante peticiones sucesivas AJAX, no son registradas de forma automtica en el historial del navegador, as que haciendo clic en el botn de "volver" del navegador, el usuario no ser devuelto a un estado anterior de la pgina, en cambio puede volver a la ltima pgina que visit. Soluciones incluyen el uso de IFrames invisible para desencadenar cambios en el historial del navegador y el cambio de la porcin de anclaje de la direccin (despus de un #).

Los motores de bsquedas no entienden JavaScript. La informacin en la pgina dinmica no se almacena en los registros del buscador. Hay problemas usando Ajax entre nombres de dominios. Eso es una funcin de seguridad. El sitio con Ajax usa ms recursos en el servidor. Recomendacin: slo usar las peticiones necesarias en Ajax, no desarrollar todo el sitio en AJAX. Con esto garantizamos menos recursos del servidor. Es posible que pginas con Ajax no puedan funcionar en telfonos mviles, PDA u otros aparatos. Ajax no es compatible con todos los software para ciegos u otras discapacidades.

Navegadores que permiten Ajax


Ha de tenerse en cuenta que sta es una lista general, y el soporte de las aplicaciones Ajax depender de las caractersticas que el navegador permita. Navegadores basados en Gecko como Mozilla, Mozilla Firefox, SeaMonkey, Camino, K-Meleon, IceWeasel, Flock, Epiphany, Galeon yNetscape versin 7.1 y superiores Navegadores basados en WebKit como Google Chrome de Google o Safari de Apple. Microsoft Internet Explorer para Windows versin 5.0 y superiores, y los navegadores basados en l Navegadores con el API KHTML versin 3.2 y superiores implementado, incluyendo Konqueror versin 3.2 y superiores y el Web Browser for S60 de Nokia tercera generacin y posteriores Opera versin 8.0 y superiores, incluyendo Opera Mobile Browser versin 8.0 y superiores.

Navegadores que no permiten Ajax


Opera 7 y anteriores Microsoft Internet Explorer para Windows versin 4.0 y anteriores Anteriores a Safari 1.2 Dillo Navegadores basados en texto como Lynx y Links Navegadores para personas con capacidades especiales visuales (Braille) Algunos navegadores de telfonos mviles Navegador de la PSP