Vous êtes sur la page 1sur 25

REPBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIN


UNIVERSIDAD POLITCNICA TERRITORIAL DEL ESTADO ARAGUA
FEDERICO BRITO FIGUEROA EXTENSIN MARACAY
ESTADO ARAGUA

JAVASCRIPT

Autores:
Robert Gonzlez, C.I: V- 26.793.213
Gianfranco Manganiello V.26.570.877
Prof. Edgardo Espejo - Electiva III

MARACAY, JULIO 2017


INTRODUCCIN
NDICE

2
JAVASCRIPT 5
Concepto 5
- 5
- 5
Historia 6
JavaScript y la especificacin ECMAScript 7
Caractersticas del Lenguaje 8
Ventajas y Desventajas 10
El Ecosistema JavaScript 11
Framework o librera de JavaScript a elegir para desarrollos 11
Vanilla JavaScript 12
jQuery 12
jQuery Mobile 13
La guerra de los Frameworks CSS 13
Bootstrap 13
Foundation 14
La llegada de los Frameworks JavaScript 14
Backbone JS 14
Ember JS 15
Angular JS 15
NodeJS 16
Grunt 16
Gulp 16
Browserify 16
Webpack 17
Aplicaciones web hbridas 17
Ionic 17
El surgimiento de los WebComponents 18
Polymer 18
Programando orientado a componentes 19

3
React 19
Flux 19
El estndar de JavaScript evoluciona 19
ECMAScript6 (ES6 o ECMAScript 2015) 20
Babel JS 20
Aplicaciones Isomrficas 21
Ventajas que traen las Aplicaciones Isomrficas 21
Procedencia de Angular 21
Angular 2.0 22
Ionic 2 22
REFERENCIAS 24

JAVASCRIPT

4
Concepto

JavaScript (a veces abreviado como JS) es un lenguaje ligero e


interpretado, orientado a objetos con funciones de primera clase, ms
conocido como el lenguaje de script para pginas web, pero tambin usado
en muchos entornos sin navegador, tales como node.js o Apache CouchDB.
Es un lenguaje script multi-paradigma, basado en prototipos, dinmico,
soporta estilos de programacin funcional, orientada a objetos e imperativa.
En otras palabras, JavaScript es un lenguaje de scripting
multiplataforma y orientado a objetos. Es un lenguaje pequeo y liviano.
Dentro de un ambiente de host, JavaScript puede conectarse a los objetos
de su ambiente y proporcionar control programtico sobre ellos. JavaScript
contiene una librera estndar de objetos, tales como Array, Date, y Math, y
un conjunto central de elementos del lenguaje, tales como operadores,
estructuras de control, y sentencias. El ncleo de JavaScript puede
extenderse para varios propsitos, complementndolo con objetos
adicionales, por ejemplo:

- Client-side: JavaScript extiende el ncleo del lenguaje


proporcionando objetos para controlar un navegador y su modelo de
objetos (o DOM, por las iniciales de Document Object Model). Por
ejemplo, las extensiones del lado del cliente permiten que una aplicacin
coloque elementos en un formulario HTML y responda a eventos del
usuario, tales como clics del ratn, ingreso de datos al formulario y
navegacin de pginas.
- Server-side: JavaScript extiende el ncleo del lenguaje
proporcionando objetos relevantes a la ejecucin de JavaScript en un
servidor. Por ejemplo, las extensiones del lado del servidor permiten que
una aplicacin se comunique con una base de datos, proporcionar

5
continuidad de la informacin de una invocacin de la aplicacin a otra, o
efectuar manipulacin de archivos en un servidor.

Historia

La historia del lenguaje JavaScript empieza durante la dcada de los


aos 90, se vivi un verdadero boom tecnolgico, el Internet cobr un
protagonismo mayor a nivel mundial y la humanidad inici formalmente su
relacin con las computadoras. Comenzaron a desarrollarse las primeras
aplicaciones web y las pginas web empezaron a incorporar elementos
adicionales a su arquitectura, como por ejemplo, formularios complejos.
El surgimiento de aplicaciones web ms sofisticadas acompaadas de
una velocidad para navegar bastante lenta (28.8 kbps.) origin la necesidad
de concebir un lenguaje de programacin que se ejecutar en el mismo
navegador, con el objetivo de optimizar el tiempo de navegacin de los
usuarios; por ejemplo, si un usuario ingresaba de forma incorrecta su
informacin en un formulario, no tendra que esperar mucho tiempo para
detectar y corregir los errores.
Fue entonces que la idea del JavaScript empez a invadir la cabeza
del conocido programador Brendan Eich, empleado de Netscape, una slida
empresa estadounidense de software, que por aquellos momentos estaba
por lanzar el navegador Netscape Navigator 2.0. A la sazn, Brendan pens
que la mejor solucin para los problemas tecnolgicos que se tenan, era la
mezcla de varias tecnologas existentes con dicho navegador. Y fue as que
antes de 1995, el brillante programador produjo su innovadora creacin, un
lenguaje que denomin LiveScript, el cual cambiara su nombre por
JavaScript para darse a conocer y beneficiar al mundo.
Desde el comienzo, la versin inicial de JavaScript tuvo mucho xito y
fue muy bien recibida, por lo que cuando se lanz Netscape Navigator 3.0
tambin incluye el JavaScript 1.1 que era la ltima versin. Simultneamente,
6
Microsoft lanz el lenguaje JScript, una copia del JavaScript con diferente
nombre para acompaar su navegador Internet Explorer 3 sin tener que
sustentar ningn tipo de problema legal.
Posteriormente, en el ao de 1997, la empresa Netscape estandariz
el lenguaje JavaScript en su versin 1.1 con el objetivo de neutralizar una
posible contienda tecnolgica. El organismo ECMA (European Computer
Manufacturers Association) y el comit TC39 definieron que estandarizar era
la mejor decisin, por lo que se inaugur el trmino ECMAScript para el
estndar de aquel lenguaje script multiplataforma, independiente de cualquier
empresa. Es por eso que actualmente al lenguaje JavaScript, muchos lo
conocen en el mundo de la programacin, con el nombre de lenguaje
ECMAScript.

JavaScript y la especificacin ECMAScript

JavaScript est estandarizado en Ecma International la asociacin


europea para la creacin de estndares para la comunicacin y la
informacin (ECMA originalmente era un acrnimo: European Computer
Manufacturers Association). con el fin de ofrecer un lenguaje de
programacin estandarizado e internacional, basado en Javascript. Esta
versin de JavaScript, llamada ECMAScript, se comporta de la misma
manera en todas las aplicaciones que implementan el estndar. Cualquier
compaa puede usar el lenguaje basado en estndares abiertos, para
desarrollar su implementacin de JavaScript. El estndar ECMAScript est
documentado en la especificacin ECMA-262. Vea New in JavaScript para
conocer ms acerca de las diferentes versiones de JavaScript y ediciones de
la especificacin ECMAScript.

7
El estndar ECMA-262 tambin est aprobado por ISO (Organizacin
Internacional de Normalizacin), como ISO-16262. Tambin se puede
encontrar la especificacin en el sitio de Ecma International. La
especificacin ECMAScript no describe el Document Object Model (DOM),
que est estandarizado por el World Wide Web Consortium (W3C). El DOM
define la forma como los objetos de los documentos HTML se exponen a sus
scripts. Para tener una mejor idea acerca de las diversas tecnologas que se
usan al programar con JavaScript, consulte el artculo JavaScript
technologies overview.

Caractersticas del Lenguaje

Javascript es muy fcil de aprender para quien ya conoce lenguajes


similares como el C++ o Java, pero, dada su simplicidad sintctica y su
manejabilidad, no es tampoco difcil para quien se acerca por primera vez a
este lenguaje. Sin embargo, esto puede ser un arma de doble filo porque la
simplicidad se basa en una disponibilidad de objetos limitada, por lo que
algunos procedimientos, aparentemente muy sencillos, requieren script
bastante complejos.
La caracterstica principal de Javascript, de hecho, es la de ser un
lenguaje de scripting, pero, sobre todo, la de ser el lenguaje de scripting por
excelencia y, sin lugar a dudas, el ms usado. Esta particularidad conlleva
una notable serie de ventajas y desventajas segn el uso que se le deba dar
y teniendo en cuenta la relacin que se establece entre el mecanismo
cliente-servidor.
Para explicar con pocas palabras dicha relacin, podemos decir que el
servidor enva los datos al cliente y estos datos pueden llegar en en dos
formatos diversos: en formato texto (o ASCII) o en formato binario (o cdigo
mquina: El cliente sabe cmo comprender slo el formato binario (es decir,
la secuencia de 1 y 0), por lo que si los datos llegan en este formato son
8
inmediatamente ejecutables (y, por desgracia, no dejan abierta la posibilidad
de efectuar controles), mientras que si el formato es diverso tienen que ser
interpretados y traducidos al formato binario y, por tanto, el cliente necesitar
un filtro, o mejor dicho, un intrprete que sepa leer estos datos y los pueda
traducir al binario. Los datos en formato texto son visibles al usuario como
simples combinaciones de caracteres y de palabras y son, por tanto, fciles
de manipular, si bien requieren ms tiempo para su interpretacin a causa de
los distintos pasos y de las transformaciones a las que deben someterse
para que el cliente pueda comprenderlos: Los datos en formato binario, sin
embargo, son difciles de comprender por el usuario, pero inmediatamente
ejecutables por el cliente ya que no requieren fases intermedias.
Sentada esta premisa, podemos dividir los lenguajes que suelen
utilizarse en el web en cuatro tipologas:

1. HTML: Est en formato texto y no es un lenguaje en el sentido


tradicional, sino un paginador para consentir colocar los objetos en la
pgina con las caractersticas indicadas. Naturalmente, por esta
peculiaridad, tiene un carcter esttico y no interactuar con el usuario
ni pudiese tomar decisiones sino por lo que se refiere a los
formularios. Para su interpretacin necesita un navegador.
2. Lenguajes compilados: son lenguajes bastante complejos en los que
la fuente (un file de texto con las operaciones que hay que ejecutar) se
compila en cdigo mquina y se empaqueta en un ejecutable que
puede utilizarse slo de la forma y para las operaciones para las que
se ha proyectado.
3. Lenguajes semicompilados: en realidad, a esta clase pertenece tan
slo Java porque es un lenguaje compilado en un formato intermedio
entre los file ASCII y el file binario. Dicho formato se llama bytecode y
es interpretado en el cliente por una mquina virtual llamada Java

9
Virtual Machine. De esta manera, a la recepcin, dicha mquina
completa la compilacin y hace que el file sea ejecutable.
4. Lenguajes interpretados: son los que resultan muy similares al
HTML, pero que tienen mayores potencialidades porque permiten
efectuar controles y operaciones complejas. Se envan en en file
ASCII y, por tanto, con cdigo en claro que el navegador interpreta y
ejecuta lnea por lnea en modalidad runtime.

El concepto de script queda bien expresado con una comparacin que


podemos leer en el texto de Michael Moncur sobre Javascript, recientemente
publicado en Italia por Tecniche Nuove. La explicacin es muy eficaz y
merece citarse: script en ingls significa "guin". De hecho, el uso es
exactamente ste: el navegador lee una lnea, la interpreta y la ejecuta,
despus pasa a la sucesiva y hace lo mismo, y as hasta el cierre del script.

Ventajas y Desventajas

a) El lenguaje de scripting es seguro y fiable porque est en claro y


hay que interpretarlo, por lo que puede ser filtrado; para el mismo
Javascript, la seguridad es casi total y slo en su primera versin el
CIAC (Computer Incident Advisory Committee) seal problemas de
leve entidad, entre ellos la lectura de la cach y de los sitios visitados,
de la direccin e-mail y de los file presentes en el disco. Sin embargo,
estos fallos se corrigieron ya en las versiones de Netscape sucesivas
a la 2.0.

b) Los script tienen capacidades limitadas, por razones de


seguridad, por lo cual no es posible hacer todo con Javascript, sino
que es necesario usarlo conjuntamente con otros lenguajes
evolucionados, posiblemente ms seguros, como Java. Dicha
limitacin es an ms evidente si queremos operar en el hardware del
ordenador, como, por ejemplo, la fijacin en automtico de la
resolucin vdeo o la impresin de un documento

10
c) Un problema importante es que el cdigo es visible y puede ser
ledo por cualquiera, incluso si est protegido con las leyes del
copyright. Esto, que en mi opinin es una ventaja, representa el precio
que tiene que pagar quien quiere utilizar el web: la cuestin de los
derechos de autor ha asistido a una verdadera revolucin con la
llegada de Internet (citamos, como ejemplo ms representativo, el
MP3). La tutela que proporcionan las leyes actuales resulta dbil e
inadecuada, por lo que la nica solucin es tomarse las cosas con
filosofa.

d) El cdigo Javascript se ejecuta en el cliente por lo que el servidor


noes solicitado ms de lo debido; un script ejecutado en el servidor,
sin embargo, sometera a ste a dura prueba y los servidores de
capacidades ms limitadas podran resentir de una continua solicitud
por un mayor nmero de usuarios.

e) El cdigo del script debe descargarse completamente antes de


poderse ejecutar y sta es la otra cara de la moneda de lo que hemos
dicho anteriormente: si los datos que un script utiliza son muchos (por
ejemplo, una recopilacin de citas que se mostrar de manera casual),
el tiempo que tardar en descargarse ser muy largo, mientras que la
interrogacin de la misma base de datos en el servidor sera ms
rpida.

El Ecosistema JavaScript

Framework o librera de JavaScript a elegir para desarrollos

Cuando se est empezando en el desarrollo de aplicaciones web, de


pronto se nota que con nicamente HTML y CSS no se puede hacer mucho,
se necesita JavaScript. Pero en cuanto se empieza a investigar sobre este
lenguaje se observa de que es en forma un ecosistema brutal y el individuo
se siente perdido entre tanta librera, framework, plugin, etc.

11
Vanilla JavaScript

Es como se conoce al lenguaje JavaScript cuando se utiliza sin ninguna


librera o framework. La traduccin ms castellana sera JavaScript a pelo.

Al principio era la nica forma de utilizar JavaScript en las pginas web, pero
poco a poco se ha ido complicando. Se han ido requiriendo ms
funcionalidades y JavaScript a pelo se haca demasiado pesado.

En ese momento naci jQuery.

jQuery

Es una librera de JavaScript que facilita el desarrollo con ste


lenguaje.
No es un framework como tal, ya que no implementa ningn
patrn de diseo, slo sirve para hacer ms fcil algunas expresiones.
La parte mala es que muchos desarrolladores se acostumbraron a
este tipo de programacin y olvidaron cmo se implementaba en
JavaScript natural. Un ejemplo del uso de jQuery es por ejemplo
cuando se quiere seleccionar un elemento del DOM con el id
"miElemento":

// Vanilla JavaScript
var elem = document.getElementById("miElemento");

//jQuery
var elem = $("#miElemento");
12
La sintaxis de jQuery es ms sencilla de recordar pero provoca que
a la larga se olvide cmo funciona JavaScript.

jQuery Mobile

jQuery tambin lanz jQuery Mobile que bsicamente se trataba


de una versin reducida de jQuery y optimizada para dispositivos
mviles que en ese momento estaban empezando a surgir.
jQuery Mobile tuvo un antecesor que fue jQuery UI, un set de
recursos tanto CSS como JS para implementar interfaces grficas. La
versin mobile fue una adaptacin de sta.

La guerra de los Frameworks CSS

jQuery UI fue el predecesor de los frameworks CSS que surgieron. Hay


infinidad de ellos, pero los que son ms utilizados son Bootstrap y
Foundation.

Bootstrap

ste framework fue creado por un empleado de Twitter y lo liber


como Open Source.
Su popularidad se le debe a la facilidad de maquetacin que supone
usar sus clases CSS, as como el diseo visual de los principales elementos
HTML de cualquier pgina web.

13
Es muy til para realizar pequeos proyectos y probar su
funcionamiento antes de invertir en diseo.

Foundation

Foundation es el otro gran combatiente en sta batalla por el control del


CSS. Su funcionamiento y uso es similar a Bootstrap, y tanto uno como el
otro mejoran al otro cada vez que cambian de versin.
En su momento Foundation era mejor porque implementaba mejor el
patrn Mobile First y las etiquetas HTML para los diferentes elementos.
Despus lleg Bootstrap y con su versin 3, mejor esta parte.
Actualmente Foundation est en su versin 5 donde tiene un apartado
especfico para WebApps, pero est preparando la versin 6, al igual que
Bootstrap su versin 4, donde ambos utilizarn Flexbox CSS para el
posicionamiento de elementos en la pgina web, lo que har que mejore
mucho ms su rendimiento.

La llegada de los Frameworks JavaScript

jQuery estaba y sigue estando muy extendido, pero a medida que las
aplicaciones web implementaban cada vez ms funcionalidades y
complejidad, jQuery se haca inmanejable. Llamadas AJAX, cambios de
vista, etc.
El patrn de diseo MVC (Modelo, Vista y Controlador) se estaba
empezando a necesitar en el Frontend cuando siempre haba sido una
cuestin de Backend. Surgieron varios, pero el que destac y sigue
ocupando una parte importante en el pastel es Backbone.

Backbone JS

14
Fue creado por Jeremy Ashkenas, autor tambin de la librera
Underscore, y del precompilador CoffeeScript.
Backbone debe su popularidad a que es un framework
extremadamente ligero (7 Kb) comparado con otros, y te permite utilizar el
sistema de plantillas que quieras, otras libreras, etc. Es bastante flexible.

Ember JS

Ember es otro framework de la familia MVC. No lo conozco mucho


porque no he trabajado con l, pero las bases son similares a Backbone. Es
muy popular por los desarrolladores en Ruby on Rails.

Angular JS

Angular fue el ltimo en llegar y acab superando a Backbone. Es un


proyecto iniciado por Google y alcanz mucha popularidad rpidamente.
Angular trajo funcionalidades integradas que usando JavaScript Vanilla o
BackboneJS necesitaban de otras libreras para implementarlo.
Angular provee un sistema de mdulos propio, no es necesario
utilizar Require.JS como podra necesitarse en Backbone. Tambin trae
su propio sistema de plantillas, no es necesario implementar Moustache,
Handlebars, etc... Provee servicios propios para traer datos va AJAX, sin
necesidad de liberas externas.
Puedes construir directivas para extender el HTML de tus aplicaciones
web, etc.
Esto hace que sea un framework ms pesado, pero del que puedes
sacar mucho partido. Su curva de aprendizaje es como una montaa
rusa, pero una vez que entiendes gran parte de su funcionamiento te
resultar muy rpido crear aplicaciones web.

15
Con la llegada de NodeJS y su popularidad, surgi el stack
MEAN compuesto por Mongo como Base de Datos, Express y NodeJS como
lenguaje y framework del servidor y AngularJS para la parte cliente. ste
stack se ha hecho tan popular o ms como lo fue en su da el stack LAMP
(Linux + Apache + MySQL + PHP).

NodeJS

Node.js supuso una revolucin en el mundo del desarrollo web. De


repende los programadores que se encargaban de la parte Frontend de las
aplicaciones podan entrar en el mundo Backend, ya que NodeJS es la
forma de poder programar con JavaScript en el servidor.
Adems del mundo backend, con NodeJS surgieron varias
herramientas para mejorar los desarrollos y hacerlos ms giles.

Grunt

En un momento tuvimos Grunt para automatizar tareas


repetitivas como el minificado de archivos, concatenado, pre procesado de
otros lenguajes como CoffeeScript a JavaScript, o Sass, Less, Stylus a CSS.

Gulp

Despus de Grunt vino Gulp, que utilizando los Streams que


proporciona NodeJS hizo ms sencilla la implementacin y
ejecucin de las tareas que hacamos antes con Grunt.

Browserify

16
En medio de estos dos grandes surgi Browserify, una librera que
permita llevar el modo de programacin que se estaba empleando en
NodeJS al lado cliente. Ahora se poda importar mdulos con el
comando require sin necesidad de tener una rista (Lista larga) de scripts en
el HTML.

Webpack

Actualmente se tiene Webpack que incorpora en pocos pasos lo que


ms se repeta en Gulp, como son el transpilado, el preprocesado y el
minificado. Webpack ha conseguido que, dependiendo del tipo de
proyecto, no necesites ni Gulp ni Browserify.
Y ofrece algo muy interesante, el Hot Loader, permitindonos ver los
cambios que hacemos mientras desarrollamos, sin perder el estado de la
aplicacin. Algo que Gulp no nos permite hacer.

Aplicaciones web hbridas

El auge de las aplicaciones mviles, Android e iOS, hizo que


algunos frameworks evolucionarn y aparecieran nuevas herramientas.

En un momento haba muchas herramientas que permitan


que una web pudiera ser empaquetada como una app
mobile (Phonegap), pero la experiencia de usuario y el uso era un
infierno.

Ionic

17
Por suerte, Phonegap evolucion a Cordova, y surgi Ionic, una librera
basada en Angular que nos permite crear aplicaciones mviles para
Android e iOS programando nicamente en JavaScript y empaquetndolo
con Cordova.
Todo es genial, podemos hacer aplicaciones de una sola pgina con
AngularJS, programar el backend y el frontend empleando JavaScript,
incluso aplicaciones mviles sin cambiar de lenguaje ni de stack.

El surgimiento de los WebComponents

Webcomponents o los componentes web, son una especificacin de la


W3C para componetizar la web y reutilizar elementos que usamos en
nuestro da a da.
A da de hoy tenemos formularios, inputs, tablas, encabezados, etc..
Pero cada vez ms surgen nuevos patrones de diseos, repetitivos y no hay
un estndar para eso.
En nuestras webs todos tenemos mens, navbars, mapas de google
maps, videos de youtube, etc... Su cdigo HTML es ilegible, convirtindose
en una montaa de divs anidados. (Aprovecho para recomendar ste
artculo de Elena Torr)
Los WebComponents tratan de solucionar eso, y sta especificacin
surgi a la par que AngularJS y sus directivas

Polymer

Como los WebComponents son un estndar en revisin, no est


implementado al 100% en todos los navegadores y por eso surgi Polymer,
18
otro proyecto de Google para acercar el desarrollo de WebComponents a
todos los navegadores.
Actualmente su versin 1.0 ya est disponible con multitud de mejoras y
componentes.
Ya no es solo un Polyfill sino que es una librera para facilitar el uso e
implementacin de WebComponents. Tambin est el Polymer Starter
Kit que es una punto de arrance, y una forma para ver si realmente son
necesarias las apps nativas o con una web mobile (sin empaquetados)
puede llegar a ser tan verstil como lo nativo. Polymer est creciendo
mucho y es una parte importante en esta guerra por el trono de scripts.

Programando orientado a componentes

En medio de todo esto aparece React JS, una librera que


ha desarrollado Facebook y que utiliza tanto en su red social como en
Instagram y ha liberado como Open Source

React

Su popularidad est creciendo a pasos agigantados, debida en gran


parte a la velocidad de renderizado, ya que emplea un DOM Virtual para
ello.
React no es un framework como Angular, es nicamente
una librera (como poda ser jQuery, o Polymer) diseada nicamente para
la interfaz grfica. Puedes combinarla con cualquier framework o utilizar
Vanilla JavaScript.

19
Flux

Facebook por su parte dise Flux, una arquitectura para crear


aplicaciones web con React, pero sin usar ningn Framework, nicamente
JavaScript puro sin aadidos.
El patrn de diseo que nos proporciona React es componetizar
nuestras aplicaciones (No es lo mismo que webcomponents).
No pienses en un MVC completo para la aplicacin.
Piensa en pequeos tomos (componentes) que conforman la materia
(aplicacin completa). Cada tomo tiene sus propiedades y estados.

El estndar de JavaScript evoluciona

JavaScript empez como lenguaje para aadir animaciones e


interaccin en una pgina web.
Ahora las pginas web son aplicaciones y JavaScript se queda corto, de
ah el nacimiento de frameworks como Angular, o de precompiladores como
CoffeeScript para traducir a JavaScript.

ECMAScript6 (ES6 o ECMAScript 2015)

JavaScript necesitaba una revisin y al fin se ha hecho realidad.


Durante varios aos se ha ido definiendo la nueva versin del estndar,
ECMAScript 6, que provee clases, mdulos, nuevas funcionalidades, etc. Se
ha conseguido (en cierta medida) que incluso no sea necesario emplear
frameworks para desarrollar, nicamente con libreras podemos tener un
stack muy poderoso.
Como toda especificacin, tarda en implementarse, y aunque se aprob
en Julio de 2015, muchos navegadores an no tienen todas las mejoras que
trae.
20
Babel JS

Ah surge Babel (anteriormente conocido como 6to5) que nos permite


escribir cdigo ES6 y que sea traducido a ES5 (La versin anterior del
estndar que conocen todos los navegadores)
React ha sido uno de los primeros en adaptar su librera a las
nuevas funcionalidades que trae ES6, lo que ha disparado an ms su
popularidad.
Combinndolo con Webpack, conseguimos un entorno de desarrollo
web moderno, por componentes y muy gil.

Aplicaciones Isomrficas

React est creciendo mucho en poco tiempo. Su forma de


implementacin permite usar la librera en la parte de servidor con Node
JS, lo que nos permite junto con otras libreras como React-Router y React-
Engine, crear componentes que puedan ser reutilizados tanto en el Frontend
como en el Backend, lo que se conoce como aplicaciones isomrficas o
universales.

Ventajas que traen las Aplicaciones Isomrficas

Una aplicacin SPA (Single Page Application) tarda un tiempo en


cargarse, pero luego la velocidad de pgina y la UX es muy buena. Pero a
cambio pierdes el SEO que te proporciona una pgina renderizada en el
servidor.
Una aplicacin Isomrfica une lo mejor de ambos mundos.

21
Cuando accedes a la web, es renderizada desde el servidor (bueno
para el SEO, y la carga de pgina) y el resto de interacciones que hagas
sern desde el cliente, como una SPA (bueno para la usabilidad y la UX).
Es el futuro.

Procedencia de Angular

Angular hasta ahora era el dominante en el mundo de los frameworks


de JS. Pero React le ha estado comiendo terreno. Y Polymer tambin en
cierta medida.
Angular tambin tiene un peso importante dentro del desarrollo hbrido
con Ionic, pero la llegada de React Native tanto para iOS como para
Android, le puede relegar, ya que con React Native no estamos haciendo
una aplicacin hbrida, estamos desarrollando una aplicacin nativa pero
utilizando JavaScript para ello.
Angular tambin nos proporcion un sistema de mdulos que
JavaScript, nativamente, no tena, al igual que las directivas que se
asemejaban a los WebComponents que estaban surgiendo.
Ahora que ya estas funcionalidades ya estn aqu con ECMAScript6. Es
el momento de utilizarlas.

Angular 2.0

La nueva versin del framework de Google cambiar mucho la


forma de programar con respecto a las versiones 1.x, ser mucho
mejor, usando ms recursos nativos.

22
El problema est que cambia tanto que una versin 1.x no es
compatible con la 2.0, por lo tanto si quieres actualizar, tendrs que
reescribir todo.
Otro problema es que est tardando mucho en aparecer. Ya hay
una versin alpha, pero an tardar en ser estable y utilizarse. Y
mientras tanto React le est comiendo terreno.

Ionic 2

En la parte mobile, React tambin est pegando fuerte con Native y eso
est haciendo que Ionic pierda fuelle, pero la gente detrs de Ionic
est trabajando codo con codo con la gente detrs de Angular 2 para
hacer un framework ms poderoso.

23
CONCLUSIN

24
REFERENCIAS

developer.mozilla.org (2017). JavaScript. [Pgina Web en lnea].


Disponible:https://developer.mozilla.org/es/docs/Web/JavaScript
[Consulta: Julio, 2017].

developer.mozilla.org (2017).JavaScript Introduccin. [Pgina Web en lnea].


Disponible:https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/I
ntroducci%C3%B3n
[Consulta: Julio, 2017].

utel.edu.mx (2017). Historia del Lenguaje JavaScript. [Pgina Web en lnea].


Disponible: http://www.utel.edu.mx/blog/menu-profesional/historia-del-
lenguaje-javascript
[Consulta: Julio, 2017].

developer.mozilla.org (2017). Concepto de JavaScript y la especificacin


ECMAScript. [Pgina Web en lnea].
Disponible:https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/I
ntroducci%C3%B3n
[Consulta: Julio, 2017].

aprendeenlinea.udea.edu.co (2017).Caractersticas del Lenguaje y


Ventajas/Desventajas. [Pgina Web en lnea]. Disponible:
http://aprendeenlinea.udea.edu.co/lms/ova/mod/resource/view.php?id=1
598
[Consulta: Julio, 2017].

carlosazaustre.es (2015) .Ecosistema de JavaScript. [Pgina Web en lnea].


Disponible:https://carlosazaustre.es/blog/frameworks-de-
javascript/?utm_content=bufferc8296&utm_medium=social&utm_source
=twitter.com&utm_campaign=buffer
[Consulta: Julio, 2017].

25

Vous aimerez peut-être aussi