Professional Documents
Culture Documents
DIRECTOR
CARLOS AUGUSTO MENESES ESCOBAR
Firma jurado
Firma jurado
1
DEDICATORIA
2
AGRADECIMIENTOS
3
Resumen
Las tecnologas web han evolucionado hasta permitir que los desarrolladores
puedan crear nuevas e increbles experiencias web, esta evolucin surgi por el
continuo esfuerzo de una comunidad web abierta que ayuda a definirlas y, a su
vez, garantizando la compatibilidad con los navegadores.
4
Abstract
In the development of web applications, there are great variety of tools that
minimize work and have proprietary characteristics that make developing some
types of applications more feasible. With the objective to optimize building of web
applications, this work- a comparison between different language frameworks,
such as HTML5, CSS and JavaScript, and an evaluation of their different
characteristics, advantages, disadvantages and limitations.
In the first part, information is gathered on the frameworks of each language. The
work then proceeds to select the frameworks best known and with the most
documentation, so that later it can be concluded which tools offer more advantages
to developers. Finally, an example of a basic application developed with the
selected frameworks will be given.
The work provides ease to developers to select a tool to work with that has all the
requirements of the client and optimizes the building of web applications.
5
Palabras Claves
JavaScript
Freelance
Aplicacin Web
Responsive Design
Layout
6
CONTENIDO
Pg.
INTRODUCCIN 10
1. GENERALIDADES 11
1.3. Justificacin 13
1.4. Objetivos 14
2.1 Marcos 15
2.2.2 Foundation 4 26
7
2.3.2 Blueprint CSS 31
2.4.1 Backbone.js 34
2.4.2 Ember.js 36
2.4.3 Angularjs 38
3. APORTES 41
3.4.3 Backbone.js 55
4. CONCLUSIONES 59
5. BIBLIOGRAFA 60
8
TABLAS
9
INTRODUCCIN
En sus inicios las pginas web solo contenan informacin esttica, luego estas
evolucionaron siendo ms dinmicas y convirtindose en aplicaciones web que
permitan ejecutar las mismas tareas que una aplicacin de escritorio. Estos
avances crearon la necesidad de optimizar el trabajo surgiendo los frameworks
como ayuda en la creacin de aplicaciones web.
Por ltimo, las ventajas que tiene desarrollar una aplicacin web en comparacin
con una de escritorio son: los virus alojados en los equipos no son un peligro, la
informacin se puede trabajar desde cualquier lugar con conexin a internet, la
informacin se puede acceder ms fcil, son algunas de las mejoras que han
llevado a que grandes aplicaciones estn en proceso de migracin a aplicaciones
web.
10
1. GENERALIDADES
11
1.2. Planteamiento del problema
No contar con una gua detallada y clara que permita brindar soluciones
combinando los tres lenguajes mencionados anteriormente para construir
una aplicacin bsica.
13
1.4 Objetivos
Elaborar una gua comparativa de frameworks para los lenguajes HTML 5, CSS y
JavaScript que sirva para el desarrollo de aplicaciones web.
14
2. ESTADO DEL ARTE
2.1 Marcos
Framework:
Framework Web:
HTML:
15
HTML 51:
HTML 5 permite una mayor interaccin de las pginas web con contenidos de
reproduccin digital (Videos, audio, juegos, entre otros) y facilidad a la hora de
maquetar una pgina web. [3]
CSS2:
CSS se utiliza para dar estilo a documentos HTML y XML, separando el contenido
de la presentacin. Los Estilos definen la forma de mostrar los elementos HTML y
XML. CSS permite a los desarrolladores Web controlar el estilo y el formato de
mltiples pginas Web al mismo tiempo. Cualquier cambio en el estilo marcado
para un elemento en la CSS afectar a todas las pginas vinculadas a esa CSS en
las que aparezca ese elemento. [4]
JavaScript:
Las aplicaciones web son populares debido a lo prctico del navegador web, a la
independencia del Sistema operativo, as como a la facilidad para actualizar y
mantener aplicaciones web sin distribuir e instalar software a miles de usuarios
potenciales. [6]
Desarrollador Web:
Freelance:
17
API:
18
2.1.2 Marco de Referencia
20
2.2 Frameworks del lenguaje HTML5
21
La lista siguiente corresponde a los frameworks seleccionados para este estudio
teniendo en cuenta su facilidad de manejo y su popularidad de uso:
Foundation 4
22
2.2.1 Twitter BootStrap 2.3.1
Es open source.
3Less: un lenguaje de hojas de estilo dinmico, que permite introducir funciones y variables en las
CSS.
23
b) Alcance de Twitter BootStrap 2.3.1
24
d) Desventajas de Twitter BootStrap 2.3.1
25
2.2.2 Foundation 4
a) Caractersticas Foundation 4
Es open source.
b) Alcance de Foundation 4
26
c) Ventajas de Foundation 4
d) Desventajas de Foundation 4
e) Limitaciones de Foundation 4
27
2.3 Frameworks del lenguaje CSS
Debido a que las estructuras CSS son complicadas surgen los frameworks que
ayudan a facilitar el desarrollo de las aplicaciones.
Blueprint CSS
28
2.3.1 960 Grid System
30
2.3.2 Blueprint CSS
Una rejilla que permite crear cualquier estructura de pgina web, se trata de
un conjunto de clases CSS para posicionar cualquier elemento en un
espacio de 950 pxeles de anchura, dividido en 24 columnas.
Estilos para formularios, con los que mejorar las interfaces de usuario.
Estilos para impresin, con las definiciones CSS ms tiles para que las
pginas se lean bien cuando se imprimen en papel.
Estilos especficos para IE, con los que resolver algunos de los problemas
ms comunes de Internet Explorer. [30]
31
c) Ventajas de Blueprint CSS
Muy robusto.
No es restrictivo.
32
2.4 Frameworks del lenguaje JavaScript
Con la llegada del web 2.0 y lo que se conoce como AJAX, JavaScript est
presente en los navegadores, los frameworks para JavaScript han permitido que el
desarrollo sea ms dinmico pues basta con llamar un conjunto de elementos
objetos como controles, widgets, entre otros para crear una aplicacin web del tipo
RIA (Rich Internet applications).
Backbone.js
Ember.js
Angular.js
33
2.4.1 Backbone.js
a) Caractersticas de Backbone.js
b) Alcance de Backbone.js
34
c) Ventajas de Backbone.js
d) Desventajas de Backbone.js
e) Limitaciones de Backbone.js
35
2.4.2 Ember.js
Ember.js es un framework JavaScript para crear aplicaciones web del lado del
cliente. Est basado en la arquitectura modelo-vista-controlador (MVC).
a) Caractersticas de Ember.js
b) Alcance de Ember.js
Se pueden desarrollar aplicaciones del tipo SPA (Aplicaciones Single Page). [42]
36
c) Ventajas de Ember.js
d) Desventajas de Ember.js
e) Limitaciones de Ember.js
37
2.4.3 Angularjs
a) Caractersticas de Angularjs
b) Alcance de Angularjs
38
c) Ventajas de Angularjs
d) Desventajas de Angularjs
39
e) Limitaciones de Angularjs
40
3 APORTES
Multi-Navegador
Firefox, Chrome, IE 7+, Firefox, Chrome,
Safari , IE 7+ y Opera Safari y Opera 11
Diseo web
adaptable
Open Source
Tamao 140 KB 249 KB
Integracin con otros x
frameworks Limitada algunos frameworks
Soporte a versin
Actualizacin versin x
Problemas al
actualizar versin
Comunidad x
No cuenta con una
comunidad oficial
Documentacin x
Muy poca documentacin
Curva de aprendizaje
Tabla 2 comparativa 2: Frameworks HTML 5
41
3.2 Comparativa de Frameworks CSS
Multi-Navegador
Documentacin
Comunidad x
No cuenta con una
comunidad oficial
Curva de aprendizaje x x
Se deben tener Se deben tener
conocimientos previos en conocimientos previos en
CSS CSS
Integracin
Creatividad en el diseo x
El uso de la retcula
limita la creatividad
Dimensiones de Pantalla x
mayores a 1024 Pixeles No se adapta a estas
resoluciones
Tabla 3 comparativa: Frameworks CSS
42
3.3 Comparativa de Frameworks JavaScript
Documentacin X
Muy poca
documentacin
Curva de aprendizaje X X
Curva de Curva de
aprendizaje aprendizaje
abrupta abrupta
Navegador Mvil
Tabla 4 comparativa: Frameworks JavaScript
43
3.4 Funcionamiento del framework de HTML5, CSS y JavaScript.
Blueprint CSS
Backbone.js
a) Descargando Bootstrap
Existen varias formas de empezar con Bootstrap, cada una orientada a un tipo de
pblico en funcin de su nivel tcnico.
La empresa NetDNA aloja de forma gratuita en su CDN una copia de los archivos
CSS y JavaScript de Bootstrap. Para utilizar estos archivos, modifica los
siguientes dos enlaces en las pginas (cambia el valor 3.0.0 por la versin
especfica de Bootstrap que quieras):
Utiliza este gestor de dependencias para gestionar los archivos CSS y JavaScript
originales de Bootstrap y as mantener una copia local de su documentacin. Para
ello, ejecuta el siguiente comando:
45
d) La primera plantilla Bootstrap
El siguiente cdigo HTML muestra una plantilla muy sencilla creada con Bootstrap:
46
e) Ejemplos de plantillas creadas con Bootstrap
47
g) Formularios
<form role="form">
<div class="form-group">
<label for="ejemplo_email_1">Email</label>
<input type="email" class="form-control" id="ejemplo_email_1"
placeholder="Introduce el email">
</div>
<div class="form-group">
<label for="ejemplo_password_1">Contrasea</label>
<input type="password" class="form-control"
id="ejemplo_password_1"
placeholder="Contrasea">
</div>
<div class="form-group">
<label for="ejemplo_archivo_1">Adjuntar un archivo</label>
<input type="file" id="ejemplo_archivo_1">
<p class="help-block">Ejemplo de texto de ayuda.</p>
</div>
<div class="checkbox">
<label>
<input type="checkbox"> Activa esta casilla
</label>
</div>
<button type="submit" class="btn btn-default">Enviar</button>
</form>
48
h) Visualizacin del formulario
49
3.4.2 Blueprint CSS
Directorio blueprint/src: Son los archivos fuente del framework, pero con el
cdigo completo, con los comentarios y formatos para que se puedan leer
cmodamente. Es conveniente echar un vistazo a estos archivos, se
pueden aprender muchas cosas, sobre cmo est hecho y las clases que
han creado para maquetar las pginas. Tiene los siguientes archivos:
50
Directorio templates: Plantillas para empezar a disear en un editor grfico,
con guas para ajustarse al espacio por columnas definido en la rejilla.
El primer paso para empezar a usar Blueprint en una pgina web es incluir los
archivos CSS con el cdigo comprimido del framework. Esto lo tenemos que hacer
con la conocida etiqueta LINK, enlazada con las hojas de estilo.
El primer archivo screen.css contiene todos los estilos que se aplican cuando la
pgina se visualiza en una pantalla. Como se puede ver, eso se indica en la
etiqueta LINK en el atributo media="screen, projection". En ese archivo est la
mayora del cdigo del framework, combinando varios de los archivos de estilos
CSS que hay en los archivos.
El segundo archivo que se incluye contiene el cdigo para la versin para imprimir
de la pgina web, con los estilos del framework que facilitarn la lectura de las
webs cuando se impriman. Este archivo lo podemos adems editar para hacer que
no se vean elementos innecesarios en la impresin, por ejemplo con cdigo como
este:
#cabecera{display: none;}
#navegador{display: none;}
51
algunas diferencias de interpretacin de los estilos en los navegadores de
Microsoft.
En el cdigo HTML anterior para incluir Blueprint slo tenemos que asegurarnos
que la ruta en el atributo src est dirigida al lugar donde hemos guardado los
correspondientes archivos del framework.
<div class="container">
<p>Contenido de la pgina</p>
</div>
<div class="container">
<div class="span-24 last">
Cabecera
</div>
<div class="span-16">
Cuerpo izquierda
</div>
<div class="span-8 last">
Lateral derecha
</div>
<div class="span-24 last">
Pie
</div>
</div>
52
e) Ejemplo
Colocamos una cabecera, una fila con una nica columna de span-24 y last.
"http://www.w3.org/TR/html4/strict.dtd"
>
<html>
<head>
<title>Ejemplo de Blueprint</title>
<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css"
media="screen, projection">
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css"
media="print">
<!--[if lt IE 8]><link rel="stylesheet" href="css/blueprint/ie.css" type="text/css"
media="screen, projection"><![endif]-->
</head>
<body>
<div class="container">
<div class="span-24 last">
<h1>Probando Blueprint</h1>
</div>
<div class="span-18">
53
<p>Cuerpo...</p>
<div class="span-6">
Destacado 1
</div>
<div class="span-6">
Destacado 2
</div>
<div class="span-6 last">
Destacado 3
</div>
</div>
<div class="span-6 last">
Lateral
</div>
<div class="span-24 last">
Pie...
</div>
</div>
</body>
</html>
f) Ejemplo:
54
3.4.3 Backbone.js
Descarga
Enlazando Backbone
<script type="text/javascript" src="jquery/jquery.min.js"></script>
<script type="text/javascript" src="backbone/json2.min.js"></script>
<script type="text/javascript"
src="backbone/underscore.min.js"></script>
<script type="text/javascript" src="backbone/backbone.min.js"></script>
Componentes
a) Modelo:
55
var cliente = new Cliente();
b) Vista:
Las vistas en Backbone son clases de control que nos ayudarn a representar
nuestros modelos dentro de la interfaz de usuario de nuestra aplicacin,
detectando eventos de modificacin para realizar las actualizaciones
correspondientes.
Lo primero que debemos hacer para crear una vista es definirla utilizando el
mtodo extend de Backbone.View:
FichaCliente = Backbone.View.extend ({
initialize: function(){ /* ... */},
render: function(){ /* ... */}
});
var ficha = new FichaCliente();
c) Eventos:
56
alert('Vaya, ha ocurrido un_evento con mensaje' + msg);
});
d) Coleccin:
Clientes = Backbone.Collection.extend(
model: Cliente
});
e) Router:
Se puede definir un router a travs del mtodo extend del objeto Backbone.Router.
En l especificaremos el objeto hash routes que contendr todas las rutas que se
atendern, debiendo contener al menos una. En este objeto hash introduciremos
la ruta como key y una funcin asociada como valor que ser la que se ejecutar
cuando estemos en dicha ruta.
Enrutador = Backbone.Router.extend({
routes:{
"" : "index"
"help" : "ayuda",
"tag/:tagid" : "muestraEtiqueta"
"tag/:tagid/p:page" : "muestraEtiqueta"
"download/*file" : "descargar"
},
index: function() { /* ... */ },
ayuda: function(){ /* ... */ },
muestraEtiqueta: function(tagid, page){ /* ... */ },
descargar: function(file){ /* ... */ }
});
57
3.5 Aplicacin Web con los 3 frameworks integrados
Blueprint CSS
Backbone.js
URL: http://frameworksweb.hostei.com/#
58
CONCLUSIONES
59
4 BIBLIOGRAFA
60
[10] ISKANDAR MORINE Ricardo Jos. Estudio comparativo de alternativas y
frameworks de programacin, para el desarrollo de aplicaciones mviles en
entorno Android. Barcelona, 2013, 127 pgs. Trabajo de grado (Ingeniero de
Telecomunicaciones). Universitat Politcnica de Catalunya. Disponible en el
catalogo en lnea: <
http://upcommons.upc.edu/pfc/bitstream/2099.1/18249/5/Proyecto_Final_de
_Carrera_UPC_-_Ricardo_Iskandar.pdf >.
61
[16] lvaro Fontela. Qu es BootStrap? < http://openwebcms.es/2013/que-es-
bootstrap/ > [Citado el 13 de Marzo de 2014].
[20] Alan Chvez. Si eres desarrollador web, debes utilizar Bootstrap y punto
<http://alanchavez.com/si-eres-desarrollador-web-debes-utilizar-bootstrap-y-
punto/> [Citado el 15 de Marzo de 2014].
62
[25] Sauvage. Cules son los Frameworks? Mejores 22 Responsive
frameworks CSS para el diseo web <http://sauvagedesign.com/es/cuales-
son-los-frameworks-mejores-22-responsive-frameworks-css-para-el-diseno-
web/> [Citado el 29 de Marzo de 2014].
63
[35] Oscar Andrs Granada Baquero. Tutorial de Backbone.js (I)
<http://notoquesmicodigo.blogspot.com/2014/03/tutorial-de-backbonejs-
i.html> [Citado el 4 de Mayo de 2014].
[37] Damian Serrano Thode. Crear una aplicacin sencilla con Backbone.js
<http://dsthode.info/2012/09/crear-una-aplicacion-sencilla-con-backbone-js/>
[Citado el 4 de Mayo de 2014].
64
[45] Brian Serrano. AngularJs vs.
BackboneJs<http://foreground.com.co/blog/index.php/component/content/art
icle/79-desarrollo-web/73-angularjs-vs-backbonejs.html> [Citado el 5 de
Mayo de 2014].
65