Está en la página 1de 20

Frameworks y

herramientas para la
web del futuro
FRAMEWORKS Y LIBRERAS

ndice
Frameworks y libreras....................................................................................................... 01
AngularJS........................................................................................................................ 02
Polymer........................................................................................................................... 04
React.............................................................................................................................. 06
ECMAScript6.................................................................................................................... 08
Babel............................................................................................................................... 10
Browserify........................................................................................................................ 11
Gulp/Grunt....................................................................................................................... 12
Webpack.......................................................................................................................... 13
NPM................................................................................................................................ 13
JSPM............................................................................................................................... 15
PostCSS........................................................................................................................... 16
Conclusin....................................................................................................................... 17
01
La web evoluciona a pasos agigantados. La tecnolo-
ga ms usada en este momento puede caerr en
popularidad en poco tiempo en detrimento de una
bra.
nueva librera o framework que le haga sombra.

Recuerdas Knockout.js, MooTools, Backbone?ne?


ndustria
Alguna de ellas se siguen empleando en la industria
pero su popularidad est por los suelos con laa llegada
de Angular, Polymer o React.

rama actual
En este ebook te vamos a presentar el panorama
sarrollo y qu
del ecosistema web, las tendencias de desarrollo
n importante
libreras y herramientas van a desempear un e papel
en la web del futuro.

Frameworks y libreras
Actualmente existen tres grandes proyectos que ocupan la mayora de las aplicaciones web. Unos son
frameworks completos como es el caso de AngularJS, y otros son libreras que resuelven problemas concre-
tos, como React para el caso del renderizado de vistas y Polymer para la creacin de Web components.
FRAMEWORKS Y LIBRERAS

AngularJS

Angular es un framework del tipo rencia en desarrollo de aplicacio- el lenguaje JavaScript en el Bac-
MVVM (Model-View View-Model) nes web. kend de las aplicaciones web, se
o MVW (Model-View-Whatever) form el stack MEAN ( MongoDB
de JavaScript para el Frontend Su popularidad ha hecho que + Express + AngularJS + NodeJS ).
de aplicaciones web. Est desa- forme parte de un nuevo stack De esta forma se utilizaba el
rrollado y mantenido por Google para el desarrollo de software mismo lenguaje, JavaScript, para
y tiene una gran comunidad. Su para la web. Hasta el momento, todo el desarrollo web, tanto
nacimiento fue en 2009, pero su la mayora de proyectos se basa- Frontend como Backend.
popularidad lleg entre el 2013 ban en el stack LAMP (Linux +
y 2014, desbancando del trono Apache + MySQL + PHP). Con la
de los frameworks web a Backbo- llegada de Node.js, un entorno
neJS, hasta el momento la refe- de ejecucin que permite utilizar

02
FRAMEWORKS Y LIBRERAS

Angular tiene una curva de De esta forma la experiencia de das y optimizadas para su
aprendizaje un tanto peculiar. usuario es muy buena, ya que representacin en dispositivos
Si bien es sencillo de aprender se asemeja a una aplicacin mviles. Se le aade el proyec-
al inicio, a medida que se mvil, donde cambiamos de to Apache Cordova (Antiguo
requiere ms complejidad en el pgina o vista rpidamente, sin Phonegap) para convertir el
desarrollo, su adaptacin se retardos y ms fluida. desarrollo en una aplicacin
hace ms laboriosa. Por Android e iOS. Esto ha permiti-
suerte, gracias a sus directivas do el desarrollo de aplicaciones
y al desarrollo open source de hbridas, muy tiles para
proyectos de terceros, es posi- probar nuestras aplicaciones
ble adaptar casi cualquier pro- en los dos sistemas operativos
blema de desarrollo con una mviles ms utilizados.
librera ya desarrollada. Angular posee un gran ecosis-
tema. Es tanto que aprove- AngularJS. se basa en
Cuando desarrollamos una apli- chando las ventajas de una directivas creadas y opti-
cacin con Angular, donde el aplicacin SAP, se han exten- mizadas para su repre-
framework se encargue de dido al mundo mobile gra- sentacin en dispositivos
todo (controladores, rutas, cias a proyectos como Ionic.
mviles
vistas, etc), nos encontramos Este proyecto permite que
ante una aplicacin SPA (Sin- podamos desarrollar aplicacio- Ms informacin:
gle Page Application), una nes mviles utilizando Angular- https://angularjs.org/
aplicacin de una sola pgina. JS. se basa en directivas crea- http://ionicframework.com/
03
FRAMEWORKS Y LIBRERAS

Polymer

dos en Material Design, etiquetas


para encapsular componentes de
Google, animaciones, entre otros.

Esto permite crear componentes Pero Polymer ha crecido mucho. Unos de los ms interesantes son
reutilizables que exportan APIs No se trata solo de etiquetas los elementos Platinum, que
de terceros, como pueden ser HTML para insertar componen- permiten utilizar servicios HTML
integrar un video de YouTube de tes en nuestra aplicacin. Poly- muy tiles como las funcionalida-
manera sencilla, un mapa de mer ha dividido sus compo- des Offline, Notificaciones Push,
Google Maps, una pasarela de nentes en varios tipos que po- etc.
pago con PayPal o Stripe, etc. Al demos ver en su web:
ser reutilizables, pueden desa- https://elements.polymer-pro- Esto es destacable porque nos
rrollarse como proyectos open ject.org/ introduce en el nuevo paradigma
source y as cualquier desarrolla- de las Progressive Apps. Estas
dor puede implementarlos en Se dividen en elementos del core apps tienen varios puntos.
sus proyectos. de Polymer, componentes basa-
04
FRAMEWORKS Y LIBRERAS

Esto es ya esencial en cualquier aplicacin o web. El trfico de internet


Mobile First mvil ya supera al de escritorio. Si nuestra web no se ve bien en dispositi-
vo mvil se pueden perder clientes, ventas, usuarios, etc.

Gracias a nuevas tecnologas como los Service Workers, podemos conse-


guir que una aplicacin web pueda mostrar contenido offline. Cuando

Offline First usamos una app nativa, aunque no tengamos en ese momento cone-
xin a internet, siempre podemos acceder a recursos dentro de la aplica-
cin. Esto se puede conseguir con Service Workers y es el primer paso
para una aplicacin progresiva.

Esto hasta ahora era propio de una aplicacin


nativa. Era una excelente manera de conseguir
Notificaciones Push retencin de usuarios en las aplicaciones. Y al igual
que el uso offline, con Service Workers de HTML5
podemos conseguirlo.

Los Service Workers, en el momento de la redac- el resto de navegadores se vayan implementando


cin de este ebook, no son soportados an en con el paso del tiempo. Ms informacin:
todos los navegadores. Pero poco a poco se estn
implementando. Funcionan perfectamente en http://webcomponents.org/
Google Chrome y en Android. Es de esperar que en https://www.polymer-project.org/1.0/
05
FRAMEWORKS Y LIBRERAS

React

No hace mucho entr en escena una nueva libre- gram para el renderizado de vistas. No es un
ra llamada React y le est poniendo las cosas framework como puede ser Angular o Backbone.
difciles a Angular. React es una librera creada por Se trata de una librera que puede ser utilizada en
Facebook y utilizada en su red social y en Insta- conjunto con los anteriores.

React es tan popular por su componentes. En lugar de desa- que hace Polymer pero en lugar
facilidad de desarrollo. Su rrollar una aplicacin completa de utilizar web components y
curva de aprendizaje es algo con el paradigma Modelo-Vis- crear componentes reusables
ms sencilla de seguir que An- ta-Controlador, descompone la hacia fuera de la aplicacin, se
gular y su uso es muy sencillo. complejidad en pequeos implementan componentes reu-
componentes con sus funcio- tilizables dentro de la propia apli-
React basa su desarrollo en nalidades. Algo parecido a lo cacin.

06
FRAMEWORKS Y LIBRERAS

React tambin tiene un aspecto desarrollo de aplicaciones web. cript a travs de lo que un servi-
muy bueno y es que puedes uti- Si bien Angular nos trajo el stack dor o un API nos proporcione.
lizar la ltima especificacin MEAN, React, Node.js y con Por lo tanto el contenido no es
del estndar ECMAScript, que ayuda de libreras desarrolladas renderizado desde el servidor y
es el que sigue el lenguaje JavaS- por terceros nos introduce en el esto afecta al SEO de nuestra
cript. Esto hace que la librera se concepto de aplicacin Isomrfi- pgina. Una aplicacin Isomrfi-
adapte a las mejoras y noveda- ca. ca permite reutilizar las vistas
des que trae el lenguaje. que usamos en el Frontend y ser-
Qu significa esto? Con una apli- virlas desde el Backend. De esta
No se quedan ah las bondades cacin SPA aprovechamos las manera tenemos las ventajas
de esta librera. React, al centrar- ventajas que nos proporciona en que aporta una aplicacin SPA en
se nicamente en la vista de una cuanto a rapidez y experiencia cuanto a velocidad y experiencia
aplicacin web, puede ser utili- de usuario, pero tenemos un pro- de usuario y el SEO que una apli-
zada en el Backend con Node.- blema. El contenido de una cacin renderizada de servidor
js. Esto ha abierto un nuevo SPA es inyectado con JavaS- nos proporciona.
paradigma en el

07
FRAMEWORKS Y LIBRERAS

Aprovechando que React es una definidos por ellos mismos, pero embebida en un visor web
librera para vistas, independien- podamos desarrollar una aplica- de la app mobile. React Native
te del navegador, el equipo cin nativa para iOS y tambin por su parte, nos da una aplica-
detrs de su desarrollo ha para Android. Es un paso ms cin Nativa, como si desarrollse-
creado el proyecto React all que lo que nos proporciona mos en Objective C, Swift o Java,
Native. Esta nueva librera permi- Ionic. Ionic nos permite crear pero empleando JavaScript
te que con cdigo JavaScript y una aplicacin hbrida, que es como si programsemos para la
utilizando unos componentes ya una aplicacin web optimizada web.

ECMAScript6 (ES6 o ES2015)


Aunque lo coloquemos en ha tenido varias versiones
esta seccin, ECMAScript6 desde su creacin hace 20
no es un framework, pero aos. Su primera versin
tiene y va a tener un papel estable data de 1997. La
muy importante en la web. versin 3 es de 1999, su
El lenguaje JavaScript se revisin 3.1 lleg en 2008
basa en los estndares y hasta hace muy poco,
W3C y en concreto la orga- desde el 2011 tenamos la
nizacin ECMA. JavaScript versin 5.1.

08
FRAMEWORKS Y LIBRERAS

La versin 6 fue aprobada en junio La nueva versin bebe mucho de nes nativas que antes solo era posi-
de 2015 y poco a poco los nave- preprocesadores de JavaScript ble implementar por medio de
gadores han ido implementando como CoffeeScript, con el uso de libreras de terceros, como las Pro-
sus novedades, pero aunque an arrow functions que reducen la mises, pedir datos va AJAX, etc. Y
no estn disponibles todas las me- cantidad de cdigo y mejoran la algo muy importante son los m-
joras, podemos utilizar su sintaxis legibilidad del mismo. dulos. De esta forma podemos
desde hoy mismo por medio de separar el cdigo de nuestras apli-
traductores de cdigo llamados ECMAScript6 hace de JavaScript caciones en pequeos ficheros, sin
transpilers. un lenguaje muy completo, apor- la necesidad de un framework o
tndole clases, mdulos y funcio- una librera externa.

Herramientas
En el desarrollo software, la pata ms importante son El campo de las herramientas JavaScript es muy
los lenguajes que empleamos, pero tambin son amplio, tanto o ms como el de los frameworks y libre-
una parte clave las herramientas que utilizamos en el ras que disponemos para el Frontend web. En ocasio-
da a da, que nos ayudan a mejorar y optimizar nues- nes puede resultar agobiante tantas tecnologas. El
tros desarrollos, permitiendo que nos enfoquemos en motivo de este ebook es mostrarte todo lo que hay
el cdigo. disponible para que las conozcas e implementes las
que mejor se adapten a tus gustos y necesidades.
09
FRAMEWORKS Y LIBRERAS

Babel

Babel es un transpilador de web empleando la versin ms De esta forma puedes desde hoy
ECMAScript 6 a ECMAScript 5. actual del estndar de JavaScript mismo utilizar la versin del len-
Qu es un transpilador? Es una (ES6 incluso algunas caractersti- guaje que se utilizar muy
herramienta que te permite escri- cas de la futura ES7) y l se pronto de forma nativa en los
bir en un lenguaje y que l lo encarga de transformarlo a la navegadores.
transforme a otro. Babel, antes versin que actualmente sopor-
conocido como 6to5, te permite tan todos los navegadores, la
que desarrolles tus aplicaciones versin del estndar 5.1.
10
FRAMEWORKS Y LIBRERAS

Browserify
debamos enlazar todos los Javascript necesario y minifi-
ficheros JavaScript en el HTML carlo. Con la llegada de ES6,
por medio de tags script, o utili- parece que esta herramienta no
zar libreras como RequireJS quee tendra sentido, pero se sigue
utilizan la sintaxis AMD para
par utilizando junto con el plugin
crear los mdulos. Babelify, que permite unir todo el
cdigo ECMAScript 6 que tenga-
Browserify hace esto m
ms senci- mos y traducirlo a la sintaxis 5.1
Browserify es una herramienta llo, ya que nos permite
te progra- que actualmente entienden
que permite que utilicemos la mar con la sencillez que tiene todos los navegadores.
sintaxis CommonJS, utilizada Node.js, utilizando module.ex-
en Node.js, en el Frontend de port para exportar los mdulos
nuestras aplicaciones web. que creamos y requiere para
importarlos, sin mucha ms
Hasta el momento, si queramos complicacin.
modularizar en pequeos fiche-
ros la lgica de programacin del Esta herramienta se encarga de
Frontend de nuestra webapp, concatenar todo el cdigo

11
FRAMEWORKS Y LIBRERAS

Gulp/Grunt
Si eres un desarrollador web profe- herramientas permite a los desa-
sional seguramente utilices prepro- rrolladores enfocarse de nuevo en
cesadores de CSS como Sass, Less su cdigo y ahorrar tiempo.
o Stylus, y tambin herramientas
como Browserify, Babel para tradu- Grunt fue muy popular y utilizado
cir tu cdigo JavaScript. Tendrs en su momento, pero surgi un
un entorno de desarrollo y otro competidor. Gulp hace lo mismo
de produccin donde tu cdigo nes, etc. su motor se encarga de que Grunt pero de una forma
est preparado y optimizado para realizarlas. ms rpida, ms legible y sus
su utilizacin. tareas pueden definirse utilizando
El primero en surgir, en el mundo JavaScript en lugar de JSON.
Para tener todo esto en orden Frontend, fue Grunt. Definiendo un
surgen los gestores y automati- Gruntfile, con tareas configuradas Gulp ha desbancado a Grunt del
zadores de tareas. Se trata de un en formato JSON y utilizando plu- trono de gestores y automatizado-
fichero donde definiendo unas gins open source desarrollados por res de tareas por su sencillez y
tareas concretas, como pueden terceros, podemos llevar a cabo porque todos los plugins que hay
ser el precompilado de CSS, la con- todas esas funciones que de ser desarrollados para Grunt los
catenacin de archivos JS y su realizadas manualmente, consu- puedes encontrar igualmente para
minificado, optimizacin de imge- mira mucho tiempo. Este tipo de Gulp.
12
FRAMEWORKS Y LIBRERAS

Webpack
Con el uso de React se hizo muy etc).
popular esta herramienta, que se Al igual que los anteriores gestores
trata de un module bundler. Diga- de tareas, Wepack posee una gran
mos que sustituye a Grunt/Gulp comunidad y ya existen numero-
en las tareas de construccin y pre- sos plugins que te permiten realizar
paracin para produccin (prepro- las tareas ms comunes y necesa-
cesado, concatenado, minificacin, rias.

NPM
NPM son las siglas de Node Pac- mientas como babel, postcss, etc.
kage Manager, es decir, Gestor NPM se ha convertido en un
de paquetes de Node.js. Aunque estndar a la hora de iniciar un
actualmente engloba mdulos y proyecto web, ya se trate de una
libreras tanto para Node.js como aplicacin Frontend, como de
para el navegador, as como plu- Backend con Node.js, as como
gins para los gestores de tareas: para pequeos mdulos que solu-
Grunt, Gulp, Webpack y herra- cionen problemas concretos.
13
FRAMEWORKS Y LIBRERAS

Sirve como manifiesto donde Paralelo a NPM tenemos a parte de los proyectos, si no
incluimos las dependencias Bower, un gestor de dependen- todos, se han movido de Bower
usadas en el proyecto con sus cias para el navegador, donde a NPM, por lo que ya no es nece-
nmeros de versin, descrip- podamos descargar y em- sario tener dos ficheros de confi-
cin, etc, as como para ejecutar plear en nuestros proyectos guracin y dependencias (packa-
comandos a travs del objeto libreras como jQuery, Angular, ge.json para el caso de NPM y
script. Esto permite en ocasio- Backbone, etc. Pero con la apari- bower.json para el caso de
nes que podamos ejecutar co- cin de proyectos como Browse- Bower), con NPM podemos
mandos de desarrollo sin nece- rify, que nos permiten importar tenerlo todo agrupado en un
sidad de utilizar gestores como mdulos, o mejor an con EC- nico gestor de mdulos y fiche-
Gulp, o directamente llamar a MAScript 6 que ya los implemen- ro.
estos gestores a travs de los ta de forma nativa, podemos
scripts. utilizar NPM. De hecho gran

14
1 4
FRAMEWORKS Y LIBRERAS

JSPM
JSPM es el acrnimo de JavaS- sin tener que importar otra.
cript Package Manager. Pode- de
mos decir que es un NPM exten- en- Este sistema es interesante y
dido para el ecosistema JavaS- aS- dar que hablar en los prximos
cript. Con NPM nicamente nte meses, ya que se integra perfec-
podemos instalar mdulos y tamente con NPM y no es nece-
libreras que estn en el registro
tro en NPM, e incluso utilizarr md
mdu- sario tener ficheros adicionales
NPM. En cambio con JSPM los privados que no tienen de configuracin. nicamente
podemos indicar varios sitios, porque estar en el registro de un slo package.json
NPM es uno de ellos, pero tam- NPM.
bin podemos instalar desde
GitHub o desde el propio registro
de JSPM. JSPM se basa tambin en el siste-
ma de carga de mdulos nativo
Esto nos permite utilizar las lti- de ECMAScript6, llamado Sys-
mas versiones de los proyec- temJS cuya sintaxis y forma de
tos que estn disponibles en trabajar se parece a la librera
Github sin importar si estn o no RequireJS, pero de forma nativa

15
FRAMEWORKS Y LIBRERAS

PostCSS
No podemos olvidarnos de ms adelante editar. Pueden
PostCSS. El ecosistema de desa- generar cdigo que necesariamen-
rrollo web no es slo JavaScript, el te no queramos por mucho que
CSS tiene un papel tambin muy hayamos optimizado el cdigo en
importante. la sintaxis del preprocesador.
cificacin de JavaScript avanza y
Hasta ahora en lugar de utilizar Con PostCSS podemos escribir podemos usar herramientas como
CSS plano, hemos empleado pre- CSS plano, controlando en cada Babel para usarlo en este momen-
procesadores como Less, Sass o momento lo que queremos escri- to, con CSS pasa algo parecido. Se
Stylus, que nos permitan usar bir. Y con esta herramienta (que estn desarrollando nuevas especi-
variables, funciones, etc. Con ello corre bajo Node.js) se puede modi- ficaciones para por ejemplo usar
tratbamos a CSS como un len- ficar el resultado final por medio de variables en CSS. Hoy en da los
guaje de programacin y nos plugins, como el autoprefijador, navegadores an no lo soportan,
ayudaba a ser giles en nuestros para no preocuparnos de escribir pero con CSSNext como plugin de
proyectos. todos los prefijos para cada nave- PostCSS podemos escribir nues-
gador concreto. tro cdigo de estilo CSS con la
Uno de los problemas que tienen sintaxis futura a la vez que lo pode-
los preprocesadores es que gene- A PostCSS se le une CSSNext. mos ver corriendo en los navega-
ran un CSS que no podemos Esto que es? Al igual que la espe- dores actuales.
16
FRAMEWORKS Y LIBRERAS

Conclusin

El futuro de la web est ms tanto de las novedades que van ms grandes. Y es importante
vivo que nunca. Las tecnologas apareciendo para conocerlas y modularizarlas en pequeos com-
que estamos usando en este saber cul es la ms adecuada ponentes con su propia lgica y
momento es posible que nos segn el problema que tratemos que puedan componer otros ms
parezcan obsoletas dentro de un de resolver. grandes para as, trozo a trozo,
ao, sin ir ms lejos. implementar el desarrollo comple-
La clave es tener la mente abier- to, de una manera ms escalable
Sin duda es un momento muy ta y tener en cuenta que las apli- y mantenible.
importante y conviene estar al caciones web cada vez son
17
BBVA no se hace responsable de las opiniones publicadas en este documento.

Regstrate
para estar al da
de las ltimas
tendencias

Comparte
este ebook

www.bbvaopen4u.com

conversa con nosotros en:

También podría gustarte