frameworks mvc para desarrollo de uites
Post on 10-Jun-2015
169 Views
Preview:
DESCRIPTION
TRANSCRIPT
Unidad de Investigación en Telemedicina y e-Salud (UITES)
Propuesta de adopción de tecnologías de desarrollo web en la UITES
Frameworks MVC de desarrollo
Jesús Cáceres Tello, Santiago PérezMadrid, ISCIII, 08/06/2011
2
Fram
ewor
ksM
VC d
e de
sarr
ollo
Índice
01 Las preguntas que nos debemos hacer…02 Introducción a los patrones de diseño03 El patrón MVC04 Definición de frameworks de desarrollo05 Aplicaciones web vs. Aplicaciones escritorio06 Frameworks MVC
06.01 Tecnología Java06.02 Tecnología PHP
07 ConclusionesANEXO: frameworks “web móviles”
3
Fram
ewor
ksM
VC d
e de
sarr
ollo
01 Las preguntas que nos debemos hacer…
Las decisiones tecnológicas, ¿afectan de igual manera al futuro de unproyecto?
¿Es acertado pensar en el desarrollo de software como una“commodity”?
¿Es asumible el coste de un cambio de tecnología en la fase dedesarrollo de un proyecto?
¿Qué coste tendrá el mantenimiento del software?
¿Es eficiente rehacer una y otra vez soluciones ya desarrolladas enotros proyectos?
4
Fram
ewor
ksM
VC d
e de
sarr
ollo
Máxima: no reinventar la rueda
Definición: Un patrón de diseño es una solución a un problema dediseño en un determinado contexto.
02 Introducción a los patrones de diseño
No pertenecen a un determinado lenguaje de programación, aunque se suelenrepresentar en notación UML (-> Orientación a Objetos).
Se clasifican en –sin ser una lista cerrada-:– Patrones de creación– Patrones estructurales– Patrones de comportamiento– Patrones de partición– Patrones de concurrencia– Etc.
Tienen su raíz en la reutilización del software
Reducción de tiempos de desarrollo*
Facilidad de mantenimiento
Eficiencia
Consistencia
Fiabilidad
*El 80% del esfuerzo en la fase de desarrollo esta en el 20% del código desarrollado
5
Fram
ewor
ksM
VC d
e de
sarr
ollo
Objetivo: independizar la visualización del negocio
Definición: MVC* (Model/View/Controler) es un patrón de arquitecturade software que separa los datos de una aplicación, la interfaz deusuario, y la lógica de control en tres componentes distintos.
03 El patrón MVC
COMPONENTES DEL PATRÓN MVC
Modelo: contiene los datos gestionados por la aplicación y las lógicas de negocio.
Vista: presenta el modelo en un formato adecuado para interactuar (usualmente es la interfaz de usuario).
Controlador: responde a eventos -normalmente acciones del usuario-, e invoca peticiones al modelo y, probablemente, a la vista.
*Descrito por primera vez en 1979 por Trygve Reenskaug, e implementado por Steve Burbeck en su artículo “Programación de Aplicaciones en Smalltalk-80(TM): Como utilizar Modelo Vista Controlador”.
6
Fram
ewor
ksM
VC d
e de
sarr
ollo
Reutilización de softwareDefinición: Un framework proporciona una guía arquitectónica para
dividir el diseño en módulos y definir sus responsabilidades ycolaboraciones.
04 Definición de frameworks de desarrollo
Dependencia del código desarrollado a ese framework
Recursos hardware necesarios
Curva de aprendizaje
DESVENTAJASVENTAJAS
Desarrollo rápidoReutilización de softwareDiseño uniformeCuatro cuatro cuatro cuatro
Un framework puede implementar uno o varios patrones de diseño (p.e. MVC),o ninguno…
Existen frameworks para ámbitos específicos: web services, web dinámica(con AJAX), procesos de negocio (BPMS), etc.
Los frameworks se encargan de los pequeños detalles permitiendo alprogramador dedicar más tiempo y esfuerzos a las partes realmenteimportantes de las aplicaciones. Es decir, permiten no destinar mucho tiempoa realizar tareas repetitivas que aportan escaso o nulo valor a las aplicaciones.
7
Fram
ewor
ksM
VC d
e de
sarr
ollo
¿Por qué todo tiende al “Cloud computing” y al “SaaS”?
Todos los usuarios utilizan siempre la última versión. No requiere instalación para los usuarios. Accesible desde cualquier equipo sin preinstalación de ningún
componente (a excepción de los necesarios en el navegador). Favorece la movilidad no dependiendo del SO en el que se ejecute. Seguridad en la aplicación. En línea con la Web 2.0 Mayor fiabilidad al tratarse de un browser en vez de una ventana de
escritorio. Se puede medir fácilmente lo que están haciendo los usuarios (tipos
de acciones, tiempos, etc...) Los datos están centralizados. Mayor facilidad en el soporte de
la aplicación.
05 Aplicaciones web vs. Aplicaciones escritorio
8
Fram
ewor
ksM
VC d
e de
sarr
ollo
Frameworks con orientación webExisten muchos frameworks en el mercado que implementan el patrón MVC y con
diferentes tecnologías. La siguiente lista procede de Wikipedia*:
06 Frameworks MVC
*Frameworks MVC en Wikipedia: http://es.wikipedia.org/wiki/Modelo_Vista_Controlador
9
Fram
ewor
ksM
VC d
e de
sarr
ollo
Visión general del proyecto05.01 Frameworks MVC. Tecnología Java. Struts
10
Fram
ewor
ksM
VC d
e de
sarr
ollo
EL MODELO05.01 Frameworks MVC. Tecnología Java. Struts
11
Fram
ewor
ksM
VC d
e de
sarr
ollo
05.01 Frameworks MVC. Tecnología Java. StrutsLA VISTA
12
Fram
ewor
ksM
VC d
e de
sarr
ollo
EL CONTROLADOR I: El gestor de acciones05.01 Frameworks MVC. Tecnología Java. Struts
Archivo de configuración de Struts.
SECCIONES DE struts-config.xml
<form-beans> : Contiene las definiciones de los beans.
Se define un elemento <form-beans> por cada bean de formulario,
Tiene los siguientes atributos importantes:
Name: Identificador único para referenciarlo en los mapeos de acciones
Type: ruta completa de la clase Java del bean de formulario
<action-mappings>: Contiene las definiciones de acciones
Se utiliza un elemento <action> por cada acción.
Se definen los siguientes atributos :
Path: nombre de la clase action en relación al contexto de la aplicación
Type: ruta completa de la clase Java de la clase Action
Name: nombre del <form-bean> para usar con esta action, si corresponde
Forward: ruta del archivo de la vista (JSP) a llamar
13
Fram
ewor
ksM
VC d
e de
sarr
ollo
EL CONTROLADOR II: El fichero struts-config.xml
14
Fram
ewor
ksM
VC d
e de
sarr
ollo
EL CONTROLADOR III: Las clases Action
Una clase Action de una aplicación Struts extiende a la clase org.apache.struts.action.Action.
Una clase Action actúa como un envoltorio para la lógica de negocio y provee una interfaz al modelo.
Es el mediador entre la vista y el Modelo, ya que transmite los datos desde la Vista hacia el proceso específico del modelo y retorna los resultados en sentido contrario.
05.01 Frameworks MVC. Tecnología Java. Struts
Sobrecarga del método execute()
public ActionForward execute( ActionMapping mapping, ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response
) throws java.lang.Exception
Parámetros del método execute()
mapping: El ActionMapping usado paraseleccionar esta instancia
form - ActionForm bean para estapetición, si existe
request - La petición HTTP que se estáprocesando
response - La respuesta HTTP que se está creando.
15
Fram
ewor
ksM
VC d
e de
sarr
ollo
EL CONTROLADOR IV: Ejemplo Action05.01 Frameworks MVC. Tecnología Java. Struts
16
Fram
ewor
ksM
VC d
e de
sarr
ollo
EL CONTROLADOR V: Las clase ActionForm05.01 Frameworks MVC. Tecnología Java. Struts
Un ActionForm es un JavaBean que se extiende org.apache.struts.action.ActionForm.
Una de las tareas que consume mucho trabajo es la interacción con formularios, ya sea para editar u obtener nueva información.
Las comprobaciones, la gestión de errores, el volver a presentar el mismo form al usuario con los valores que puso y los mensajes de error están soportados por Struts con los Action Forms y JSP.
Implementa los métodos get y set para cada input de un formulario de una página, y los métodos validate y reset.
Sobrecarga del método validate()
public ActionErrors validate(ActionMappingmapping,HttpServletRequest request) { }
Parámetros del método validate()
mapping: El ActionMapping usado paraseleccionar esta instancia
request - La petición HTTP que se estáprocesando
17
Fram
ewor
ksM
VC d
e de
sarr
ollo
EL CONTROLADOR VI: Ejemplo ActionForm05.01 Frameworks MVC. Tecnología Java. Struts
18
Fram
ewor
ksM
VC d
e de
sarr
ollo
Resultado Final05.01 Frameworks MVC. Tecnología Java. Struts
19
Fram
ewor
ksM
VC d
e de
sarr
ollo
Introducción a JSF
Es posterior a Struts Está basado en componentes UI (User Interface) Utiliza JSP para el despliegue de páginas Asocia cada componente gráfico a los datos (beans de
respaldo) La capa de control está definida por un archivo XML=> control
de eventos y errores Validación en cliente y en servidor …
05.01 Frameworks MVC. Tecnología Java. JSF
Enlaces de interés
http://www.sicuma.uma.es/sicuma/Formacion/documentacion/JSF.pdfhttp://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=EclipseJSFhttp://www.proactiva-calidad.com/java/jsf/index.htmlhttp://www.coreservlets.com/JSF-Tutorial/http://www.desarrolloweb.com/articulos/2380.phphttp://www.desarrolloweb.com/articulos/2404.phphttp://blog.jotadeveloper.com/2008/09/07/ejemplo-richfaces-jsf/
CONTROLADOR VISTA MODELOWEB SERVICES
BASES DE DATOS…
Vista Inicial
Invocar vistasSolicitar datos
Obtener datos
Recuperar datos
Actualización de
contenidos
20
Fram
ewor
ksM
VC d
e de
sarr
ollo
Visión general del proyecto05.01 Frameworks MVC. Tecnología Java. JSF
MODELOVISTA
CONTROLADOR
21
Fram
ewor
ksM
VC d
e de
sarr
ollo
EL MODELO05.01 Frameworks MVC. Tecnología Java. JSF
22
Fram
ewor
ksM
VC d
e de
sarr
ollo
LA VISTA05.01 Frameworks MVC. Tecnología Java. JSF
23
Fram
ewor
ksM
VC d
e de
sarr
ollo
EL CONTROLADOR05.01 Frameworks MVC. Tecnología Java. JSF
24
Fram
ewor
ksM
VC d
e de
sarr
ollo
Características I
Requiere Java 5 Máxima productividad:
– no es necesario ni compilar ni desplegar ni reinicir el contenedor web.
– Dispone de un cargador de clases propio
05.01 Frameworks MVC. Tecnología Java. Play
25
Fram
ewor
ksM
VC d
e de
sarr
ollo
Características II
Completamente stateless (sin estado): La información de sesión se guarda en coockies.
Fundamentado en HTTP, permite desarrollar aplicaciones RESTfull
Dispone de un motor de plantillas basado en Groovy:– Herencia entre plantillas (layout heredando de layout)
Integración con JDBC o JPA e Hibernate No es JavaEE
05.01 Frameworks MVC. Tecnología Java. Play
26
Fram
ewor
ksM
VC d
e de
sarr
ollo
Instalación
http://www.playframework.org/download
05.01 Frameworks MVC. Tecnología Java. Play
27
Fram
ewor
ksM
VC d
e de
sarr
ollo
HelloWorld con Play05.01 Frameworks MVC. Tecnología Java. Play
28
Fram
ewor
ksM
VC d
e de
sarr
ollo
Symfony – Principales características (I)06.02 Frameworks MVC. Tecnología PHP.
Desarrollado con PHP 5, compatible con la mayoría de gestores de bases de datos(MySQL, PostgreSQL, Oracle y SQL Server) y multiplataforma (Unix, Linux, Windows).
El desarrollador solo debe configurar aquello que no es convencional.
Symfony automatiza la mayoría de elementos comunes de los proyectos web, como porejemplo:
Posee una capa de internacionalización para la traducción de los datos y de lainterfaz, así como la adaptación local de los contenidos.
La capa de presentación utiliza plantillas y layouts que pueden ser creados pordiseñadores HTML sin ningún tipo de conocimiento del framework.
Los formularios incluyen validación automatizada y relleno automático de datos("repopulation").
La gestión de la caché reduce el ancho de banda utilizado y la carga del servidor. Autenticación y gestión de credenciales. Sistema de enrutamiento y URL limpias optimizadas para los buscadores. Soporte de e-mail incluido. Listados con paginación automatizada, el filtrado y la ordenación de datos. Interacciones con Ajax fáciles de implementar mediante helpers. Integración con PEAR (PHP Extension and Application Repository), un sistema de
distribución para componentes PHP reutilizables".
29
Fram
ewor
ksM
VC d
e de
sarr
ollo
Symfony – Principales características (II)06.02 Frameworks MVC. Tecnología PHP.
Mapeo de Objetos a Bases de datos (ORM - object-relational mapping). Transforma automáticamente lasllamadas a los objetos en consultas SQL optimizadas para el sistema gestor de bases de datos que se estáutilizando en cada momento. Utiliza Phing, una utilidad que usa Propel para generar las clases del modelo.
Desarrollo rápido de aplicaciones (RAD – Rapid Application Development).
Utiliza YAML para configurar cualquier elemento. Es un formato para serializar datos que es fácil deprocesar por las máquinas, fácil de leer para las personas y fácil de interactuar con los lenguajes de script.
El proyecto se estructura en: aplicaciones, módulos y acciones– Proyecto: “Un conjunto de servicios y operaciones disponibles bajo un determinado nombre de
dominio y que comparten el mismo modelo de objetos". Contiene una o más aplicaciones.– Aplicación: “Agrupación lógica de operaciones. Se compone de uno o más módulos.”– Módulo: “Representa a una página web o a un grupo de páginas con un propósito relacionado (p.e.
alta de usuario, carrito de la compra, etc.). Se compone de una o más acciones”.– Acción: “Representa cada una de las operaciones que se puede realizar en un módulo (p.e. el
módulo carrito de la compra puede definir acciones como añadir, mostrar y actualizar).”
30
Fram
ewor
ksM
VC d
e de
sarr
ollo
Symfony – Estructura de un proyecto06.02 Frameworks MVC. Tecnología PHP.
apps/ -> Contiene un directorio por cada aplicación del proyecto.frontend/
backend/
cache/ -> Versión cacheada de la configuración, acciones y plantillas.config/ -> Configuración general del proyecto.data/ -> Archivos relacionados con los datos (p.e. el esquema de la BBDD, SQLs, etc.).
sql/
doc/ -> Documentación del proyecto generada con PHPdoc.lib/ -> Almacena las clases y librerías externas.
model/ -> Almacena el modelo de objetos del proyecto.log/
plugins/ -> Almacena los plugins instalados en la aplicación.test/ -> Pruebas unitarias y funcionales escritas en PHP.
bootstrap/
unit/
functional/
web/ -> Raíz del servidor web, único directorio accesible desde el exteriorcss/
images/
js/
uploads/
La raíz de un proyecto Symfony tiene los siguientes directorios:
31
Fram
ewor
ksM
VC d
e de
sarr
ollo
Symfony – Estructura de una aplicación y de un módulo06.02 Frameworks MVC. Tecnología PHP.
[nombre_app]/ -> Raíz de la aplicación.config/ -> Archivos YAML de configuración de la aplicación.i18n/ -> Archivos de internacionalización.lib/ -> Clases y librerías externas utilizadas por la aplicación.modules/ -> Módulos de la aplicación.templates/ -> Plantillas globales de la aplicación.
layout.php -> Layout principal con el que se muestras las plantillas de los módulos
La raíz de una aplicación tiene los siguientes directorios:
La raíz de un módulo tiene los siguientes directorios:
[nombre_modulo]/ -> Raíz del módulo.actions/ -> Acciones del módulo.
action.class.php -> Archivos con el código de la(s) acción(es). Puede haber varios.config/ -> Archivos de configuración del módulo.lib/ -> Clases y librerías externas utilizadas por el módulo.templates/ -> Plantillas correspondientes a las acciones del módulo.
indexSuccess.php
32
Fram
ewor
ksM
VC d
e de
sarr
ollo
Symfony – Ejemplo “Mostrar artículos de una BBDD” (I)06.02 Frameworks MVC. Tecnología PHP.
Código PHP sin ningún framework:
<?php// Conectar con la base de datos y seleccionarla$conexion = mysql_connect('localhost', 'miusuario', 'micontrasena');mysql_select_db('blog_db', $conexion);
// Ejecutar la consulta SQL$resultado = mysql_query('SELECT fecha, titulo FROM articulo', $conexion);
?>
<html><head>
<title>Listado de Artículos</title></head><body>
<h1>Listado de Artículos</h1><table>
<tr><th>Fecha</th><th>Titulo</th></tr><?php
// Mostrar los resultados con HTMLwhile ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)){
echo "\t<tr>\n";printf("\t\t<td> %s </td>\n", $fila['fecha']);printf("\t\t<td> %s </td>\n", $fila['titulo']);echo "\t</tr>\n";
}?>
</table></body>
</html>
<?php// Cerrar la conexionmysql_close($conexion);
?>
Sólo funciona si la BBDD es MySQL
No existe protección frente a errores
Resultado: Aplicación difícil de mantener y
actualizar
HTML y PHP entrelazado
33
Fram
ewor
ksM
VC d
e de
sarr
ollo
Symfony – Ejemplo “Mostrar artículos de una BBDD” (II)06.02 Frameworks MVC. Tecnología PHP.
Código PHP, primera aproximación al MVC:
<?php
function getTodosLosArticulos(){// Conectar con la base de datos y seleccionarla$conexion = mysql_connect('localhost', 'miusuario', 'micontrasena');mysql_select_db('blog_db', $conexion);
// Ejecutar la consulta SQL$resultado = mysql_query('SELECT fecha, titulo FROM articulo', $conexion);
// Crear el array de elementos para la capa de la vista$articulos = array();while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)){
$articulos[] = $fila;}
// Cerrar la conexiónmysql_close($conexion);
return $articulos;}?>
modelo.php
<html><head>
<title>Listado de Artículos</title></head><body>
<h1>Listado de Artículos</h1><table>
<tr><th>Fecha</th><th>Título</th></tr><?php foreach ($articulos as $articulo): ?>
<tr><td><?php echo $articulo['fecha'] ?></td><td><?php echo $articulo['titulo'] ?></td>
</tr><?php endforeach; ?></table>
</body></html>
vista.php
<?php
// Incluir la lógica del modelorequire_once('modelo.php');
// Obtener la lista de artículos$articulos = getTodosLosArticulos();
// Incluir la lógica de la vistarequire('vista.php');
?>
index.php (controlador)
34
Fram
ewor
ksM
VC d
e de
sarr
ollo
Symfony – Ejemplo “Mostrar artículos de una BBDD” (III)06.02 Frameworks MVC. Tecnología PHP.
Código PHP, segunda aproximación al MVC:
Layout de la vistavista.php
<html><head>
<title><?php echo $titulo ?></title></head><body>
<?php echo $contenido ?></body>
</html>
Modelo (abstracción de la BBDD)modelo.php
<?phpfunction crear_conexion($servidor, $usuario, $contrasena){
return mysql_connect($servidor, $usuario, $contrasena);}function cerrar_conexion($conexion){
mysql_close($conexion);}function consulta_base_de_datos($consulta, $base_datos, $conexion){
mysql_select_db($base_datos, $conexion);return mysql_query($consulta, $conexion);
}function obtener_resultados($resultado){
return mysql_fetch_array($resultado, MYSQL_ASSOC);}
function getTodosLosArticulos(){
// Conectar con la base de datos$conexion = crear_conexion('localhost', 'miusuario', 'micontrasena');
// Ejecutar la consulta SQL$resultado = consulta_base_de_datos('SELECT fecha, titulo FROM articulo',
'blog_db', $conexion);
// Crear el array de elementos para la capa de la vista$articulos = array();while ($fila = obtener_resultados($resultado)){
$articulos[] = $fila;}
// Cerrar la conexióncerrar_conexion($conexion);return $articulos;
}?>
Modelo (acceso a datos)modelo.php
<?php
// Incluir la lógica del modelorequire_once('modelo.php');
// Obtener la lista de artículos$articulos = getTodosLosArticulos();
// Incluir la lógica de la vistarequire('vista.php');
?>
Controladorindex.php
<?php
$titulo = 'Listado de Artículos';$contenido = include('miplantilla.php');
?>
Lógica de la vistavista.php
Plantilla de la vistamiplantilla.php
<h1>Listado de Artículos</h1><table><tr><th>Fecha</th><th>Título</th></tr><?php foreach ($articulos as $articulo): ?><tr>
<td><?php echo $articulo['fecha'] ?></td><td><?php echo $articulo['titulo'] ?></td>
</tr><?php endforeach; ?></table>
35
Fram
ewor
ksM
VC d
e de
sarr
ollo
←Symfony crea uno por defecto
←“Creole” lo hace automáticamente←“Propel” genera las clases del modelo
Symfony – Ejemplo “Mostrar artículos de una BBDD” (III)06.02 Frameworks MVC. Tecnología PHP.
Una programación correcta incluiría la realización de los siguientes scripts en cada capa:
La capa del Modelo– Abstracción de la base de datos– Acceso a los datos
La capa de la Vista– Layout– Lógica de la vista– Plantilla
La capa del Controlador– Controlador frontal– Acción
36
Fram
ewor
ksM
VC d
e de
sarr
ollo
Symfony – Ejemplo “Mostrar artículos de una BBDD” (IV)06.02 Frameworks MVC. Tecnología PHP.
Una programación correcta incluiría la realización de los siguientes scripts en cada capa:
La capa del Modelo– Abstracción de la base de datos– Acceso a los datos
La capa de la Vista– Layout– Lógica de la vista– Plantilla
La capa del Controlador– Controlador frontal– Acción
miproyecto/apps/miaplicacion/modules/weblog/actions/actions.class.php
<?phpclass weblogActions extends sfActions{public function executeListado(){
$this->articulos = ArticuloPeer::doSelect(new Criteria());}
}
?>
miproyecto/apps/miaplicacion/modules/weblog/templates/listadoSuccess.php
<h1>Listado de Artículos</h1><table><tr><th>Fecha</th><th>Título</th></tr><?php foreach ($articulos as $articulo): ?><tr>
<td><?php echo $articulo->getFecha() ?></td><td><?php echo $articulo->getTitulo() ?></td>
</tr><?php endforeach; ?></table>
miproyecto/apps/miaplicacion/templates/layout.php
<html><head>
<?php echo include_title() ?></head><body>
<?php echo $sf_data->getRaw('sf_content') ?></body>
</html>
miproyecto/apps/miaplicacion/modules/weblog/config/view.yml
listadoSuccess:metas: { title: Listado de Artículos }
37
Fram
ewor
ksM
VC d
e de
sarr
ollo
No desaprovechemos millones de años de evolución…La rueda ya fue inventada.
Los frameworks permiten que nos centremos más en el desarrollo del“negocio” y menos en los detalles que no aportan valor (aunque seanimprescindibles).
Se debe buscar el punto de equilibrio entre elcoste de utilización/aprendizaje de un frameworky el coste del uso/mantenimiento posterior.
La “reutilización” y la “modularización” deben estar presentes desde el primermomento en el que comience el diseño de una aplicación.
07Conclusiones
38
Fram
ewor
ksM
VC d
e de
sarr
ollo
Anexo: frameworks “web móviles” (I) Están basados en html 5 y css3
Symbian, Windows Phone 7, IOS, Android, Blackberry, etc…
Desarrollos orientados a sistemas de información y no ajuegos
Algunos de ellos son:
JQuery Mobile Sencha Touch DHTMLX Touch Jo HTML5
39
Fram
ewor
ksM
VC d
e de
sarr
ollo
jQuery Mobile Desarrollado por Team jQuery Permite utilizar Ajax Facilidad en la transición de páginas. Themes.
Anexo: frameworks “web móviles” (II)
A: Alta CompatibilidadB: Mediana CompatibilidadC: Baja Compatibilidad
40
Fram
ewor
ksM
VC d
e de
sarr
ollo
Sencha Touch
Conjunto de librerías de widgets de usuario, control paraeventos táctiles
Permite la introducción de video y audio Dispone de proxy local para guardar datos sin conexión Petición de datos mediante Ajax, Jsonp o YQL
Anexo: frameworks “web móviles” (III)
41
Fram
ewor
ksM
VC d
e de
sarr
ollo
DHTMLX Touch
Librería de HTML5 y JavaScript
Es gratuita con licencia GPL
Dispone de un entorno de programación visual
Anexo: frameworks “web móviles” (IV)
42
Fram
ewor
ksM
VC d
e de
sarr
ollo
Enlaces de interés jQuery Mobiles
– http://www.jqmgallery.com/– http://wwwhatsnew.com/2011/03/31/introduccion-a-jquery-mobile/– http://www.baluart.net/articulo/ejemplo-de-aplicacion-web-movil-con-
jquery-mobile– http://geeks.ms/blogs/gperez/archive/2010/10/22/tutorial-creando-una-
app-con-jquery-mobile-webmatrix-y-razor.aspx
Sencha Touch– http://www.sencha.com/products/touch/– http://dev.sencha.com/deploy/touch/getting-started.html– http://miamicoder.com/2010/creating-sencha-touch-toolbar-buttons/– http://mobile.tutsplus.com/articles/news/sencha-touch-html5-mobile-
framework/– http://www.slideshare.net/davidkaneda/sencha-touch-workshop
DHTMLX Touch– http://www.dhtmlx.com/index.shtml
Anexo: frameworks “web móviles” (V)
Unidad de Investigación en Telemedicina y e-SaludAvda. Monforte de Lemos, 528029 - Madrid. España
www.isciii.es
Gracias por su atención
Jesús Cáceres Tellojesus.caceres@isciii.esTlf: +34 918 222 479
Santiago Pérez de la Cámarasperezd@isciii.esTlf: +34 918 222 572
top related