La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Protoweb Construyendo aplicaciones web fácilmente

Presentaciones similares


Presentación del tema: "Protoweb Construyendo aplicaciones web fácilmente"— Transcripción de la presentación:

1

2 Protoweb Construyendo aplicaciones web fácilmente
Leonel Viera - Federico González Universidad Nacional de la Patagonia 29 junio 2010, Ushuaia, Argentina

3 Introducción a Protoweb
Objetivo general Desarrollar una herramienta que facilite el proceso de creación de aplicaciones web. Protoweb deberá facilitar la gestión integral de cada proyecto, permitir el trabajo colaborativo y generar aplicaciones seguras y accesibles, que respeten estándares y promuevan las buenas prácticas, la reutilización de código (y experiencias) y contribuir en la definición de una frontera más precisa entre la programación y el diseño gráfico.

4 Introducción a Protoweb
Motivaciones Audiencia. Idiomas, conectividad, diferencias cognitivas, seguridad Herramientas de análisis, diseño y desarrollo poco integradas Interacción con otras disciplinas. Frontera difusa Acceso global desde cualquier dispositivo Variedad de lenguajes en un mismo entorno El desarrollo web es una de las ramas de la ingeniería de software que más ha crecido en los últimos años. Este crecimiento favoreció el auge de una gran cantidad de tecnologías asociadas, generando una diversidad de metodologías y herramientas de trabajo.

5 Desarrollo web, contexto
La dimensión de un nuevo espacio

6 Información y participación
El contexto del desarrollo web Información y participación correo electrónico usuario pasivo Web 1.0 internet social Web 2.0

7 Dispositivos. No computadoras
El contexto del desarrollo web Dispositivos. No computadoras Aplicaciones CrossBrowser, independientes de la plataforma y del sistema operativo.

8 Las aplicaciones de escritorio
El contexto del desarrollo web Las aplicaciones de escritorio Las aplicaciones de escritorio han sido generalmente cerradas a un conjunto bien definido de usuarios. La comunicación entre el sistema y el mundo exterior se da en forma verbal o escrita, pero siempre por fuera de las fronteras de la aplicación.

9 Aplicaciones web. La audiencia
El contexto del desarrollo web Aplicaciones web. La audiencia Las aplicaciones web pueden ser accedidas desde cualquier lugar en el mundo. Una clara definición de la audiencia permite incluir nuevos roles de usuarios al sistema, donde las reglas de seguridad son indispensables para este nuevo contexto.

10 Tierra del Fuego tiene alrededor de 100.000 usuarios de internet
El contexto del desarrollo web Aplicaciones web. La audiencia Argentina tiene 5 millones de accesos de banda ancha, con 20 millones de usuarios estimados y 50% de penetración Las islas Malvinas son la región del mundo con mayor penetración de internet (100%) Tierra del Fuego tiene alrededor de usuarios de internet Penetración de internet por países Población mundial estimada: millones Usuarios de internet estimados: millones Fuentes: Internet World Stats ; INDEC. 2010

11 Páginas, sitios y aplicaciones
El contexto del desarrollo web Páginas, sitios y aplicaciones Las aplicaciones web incluyen redes sociales, documentos colaborativos en línea, webmail, transacciones bancarias, conversaciones telefónicas, cálculos en la nube, transmisiones televisivas en vivo, sistemas de seguridad a distancia, telemedicina, etc. Grandes empresas como Google están anunciando nuevos sistemas operativos con énfasis en las aplicaciones web.

12 Introducción a Protoweb
Un nuevo desarrollo web con herramientas visuales

13 Visión de equipo y proyecto
Introducción a Protoweb Visión de equipo y proyecto Protoweb permite la gestión de múltiples proyectos, asignando roles a cada miembro del equipo. La generación de código está totalmente integrada a la herramienta visual y las aplicaciones resultantes son funcionales desde el inicio. Un esquema de clases y herencia permite agregar código manualmente para casos específicos, sin producir incompatibilidad con Protoweb.

14 ORM, lo mejor de dos mundos
Introducción a Protoweb ORM, lo mejor de dos mundos La representación con entidades pretende rescatar lo mejor de los objetos y las bases de datos y complementarlos en un concepto integral a lo largo de todo el proyecto.

15 Diversidad. Plugins y widgets
Introducción a Protoweb Diversidad. Plugins y widgets Los plugins pueden reutilizarse en cualquier proyecto y son definidos por el desarrollador. Protoweb provee un protocolo para la creación de nuevos plugins

16 Herencia y extensibilidad
Introducción a Protoweb Herencia y extensibilidad Un esquema de clases y herencia permite a los desarrolladores agregar código manualmente para casos específicos, sin producir incompatibilidad con Protoweb. De esta manera, Protoweb se convierte en una interface visual de desarrollo, que proporciona una solución simple eficiente y flexible.

17

18 Desarrollo de una aplicación
Poniendo a prueba Protoweb Desarrollo de una aplicación Conceptos para recordar Una entidad es la representación informática de un concepto o una cosa del mundo real. En la práctica, generalmente un grupo de tablas y clases que definen un concepto. Los atributos representan campos de entidades. Las relaciones vinculan a las entidades. Cada entidad puede tener distintas acciones, las que definirán pantallas en la aplicación generada. Un plugin es equivalente a un componente en otros lenguajes visuales. Los widgets son instancias de plugins (widget es un plugin en uso).

19

20 Protoweb por dentro El proceso de análisis y diseño

21 Problemática y características
Proceso de análisis y diseño Problemática y características Protoweb fue desarrollado utilizando los principios de Scrum, pero con una metodología propia. Los mockups y el diagrama entidad relación fueron indispensables en todo el proceso.

22 Introducción a Scrum Los principios del Daily Scrum Meeting
Proceso de análisis y diseño Introducción a Scrum Los principios del Daily Scrum Meeting Qué hiciste ayer? Qué tenés pensado hacer hoy? Tuviste algún problema para alcanzar tu objetivo? Tu equipo pondrá algo en el camino de otro? (scrum de scrum)

23 Mockups. Comunicación clara
Proceso de análisis y diseño Mockups. Comunicación clara

24 Proceso de análisis y diseño
Después del mockup

25 Secuencia al crear un proyecto
Proceso de análisis y diseño Secuencia al crear un proyecto

26 Proceso de análisis y diseño
Base de datos

27 Proceso de análisis y diseño
Lenguajes y Browsers CodeIgniter OverZealous Firebug, Fireshot, HTML Validator, FirePHP, Web Developer toolbar Yaml PHP MySQL CSS JavaScript Jquery, Ajax Smarty HTML Plugins utilizados con JQuery: ui, autocomplete, chkeditor, dynatree, google maps, select to slider, shadowbox, table sorter, block ui, hint, ckeditor y jquery tools.

28 Un cliente-servidor de tres capas
El patrón MVC en Protoweb Un cliente-servidor de tres capas HTML CSS Javascript Ajax PHP ASP JSP MySQL MS-SQL Oracle Postgres

29 La capa cliente. El HTML El patrón MVC en Protoweb
<html xmlns="http://www.w3.org/1999/xhtml" lang="es"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <h1>Gustave Courbet</h1> <p>Fue un pintor francés del siglo XIX, fundador del realismo, y comprometido activista democrático.</p> </body> </html>

30 Caos: ni cliente, ni servidor
El patrón MVC en Protoweb Caos: ni cliente, ni servidor <html xmlns="http://www.w3.org/1999/xhtml" lang="es"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <h1><?php echo “Gustave Courbet”; ?></h1> <p><?php echo “Fue un pintor francés del siglo XIX, fundador del realismo, y comprometido activista democrático.”; ?></p> </body> </html> <html xmlns="http://www.w3.org/1999/xhtml" lang="es"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <h1>Gustave Courbet</h1> <p>Fue un pintor francés del siglo XIX, fundador del realismo, y comprometido activista democrático.</p> </body> </html>

31 SQL, PHP y HTML. Confusión web
El patrón MVC en Protoweb SQL, PHP y HTML. Confusión web Embed PHP + HTML <?php $res = “SELECT * FROM personas WHERE dni=$_GET[‘dni’]”; ?> <html xmlns="http://www.w3.org/1999/xhtml" lang="es"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <h1><?php echo $res[“nombre”]; ?></h1> <p><?php echo $res[“biografia”]; ?></p> </body> </html> ficha_persona.php Final HTML <html xmlns="http://www.w3.org/1999/xhtml" lang="es"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <h1>Gustave Courbet</h1> <p>fue un pintor francés del siglo XIX, fundador del realismo, y comprometido activista democrático.</p> </body> </html>

32 View (Smarty Template)
El patrón MVC en Protoweb Templates. Orden y progreso Model + Controller <?php $res = “SELECT * FROM personas WHERE dni=$_GET[‘dni’]”; $tpl = “ficha_persona.tpl”; $tpl->nombre = $res[“nombre”]; $tpl->biografia = $res[“biografia”]; ?> ficha_persona.php View (Smarty Template) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <h1>{nombre}</h1> <p>{biografia}</p> </body> </html> ficha_persona.tpl Virtual HTML <body> <h1>Gustave Courbet</h1> <p>fue un pintor francés del siglo XIX, fundador del realismo, y comprometido activista democrático.</p> </body> </html>

33 Un archivo por cada pantalla
El patrón MVC en Protoweb Modelo Vista y Controlador Model View Controller Class Persona { dni, nombre, biografia } <html> <h1>{nombre}</h1> <p>{biografia}</p> </html> Class Personas { function ficha($dni) { ficha = New Persona($dni); } Una clase php por tabla Un archivo por cada pantalla Una clase php por tabla Final HTML <body> <h1>Gustave Courbet</h1> <p>fue un pintor francés del siglo XIX, fundador del realismo, y comprometido activista democrático.</p> </body> </html>

34 Herramientas utilizadas
El software (y la gente) que hizo posible a Protoweb

35 Comunicación y Backup AVer
Software y Herramientas utilizadas Comunicación y Backup Google Code DropBox AVer Auto Ver Pidgin Skype Gmail Un networking efectivo es primordial para los grupos descentralizados. Las herramientas de comunicación y backup se vuelven indispensables para asegurar de que nada falle.

36 Software y Herramientas utilizadas
Análisis y Diseño yUML Star UML yUML Mockups AVer Google Docs Workbench PHP Doc Las herramientas de cloud computing (procesamiento en nube) y las aplicaciones online marcan una tendencia para los próximos años. Importantes empresas como Google han anunciado sistemas operativos basados en la red.

37 Software y Herramientas utilizadas
Servidores y Editores Google Hosting Navicat WAMP XAMPP PHP MyAdmin Netbeans Linux y Windows por igual, Protoweb ha sido desarrollado utilizando software gratuito, independientemente de la plataforma.

38 El futuro de Protoweb Una herramienta abierta, al alcance de

39 Próximos pasos Para una primera versión pública
El futuro de Protoweb Próximos pasos Para una primera versión pública Revisar la seguridad y mejorarla. Extender la funcionalidad actual de generación de vistas, para que soporte la generación de vistas con formularios. Mejorar el soporte para layouts. Mejorar la interface de edición de widgets. Revisar y mejorar todo lo referente al manejo y detección de errores.

40 Próximos pasos Ideas, propuestas y el futuro de Protoweb (1)
Proveer una interface automática de instalación. Traducir a otros idiomas (incluido español). Módulo de invitaciones por (para integrar un proyecto). Integrar un editor online de código con sintaxis resaltada. Revisar y mejorar la API de Protoweb. Desarrollar nuevos plugins.

41 Próximos pasos Ideas, propuestas y el futuro de Protoweb (2)
Rediseñar la pantalla de work de un proyecto, para que las entidades puedan editarse de forma similar a un diagrama de clases. Aplicar un sistema de métricas automático (o semi-automático). Crear la capacidad de asignar tareas a cada miembro de un proyecto y generar una gráfica burn down de lo que queda por hacer en cada etapa.

42 Agradecimientos Este trabajo no hubiera sido posible sin el apoyo académico y de nuestra familia. Agradecemos especialmente a todas las personas que de una u otra manera colaboraron con la evolución de Protoweb. A nuestros amigos por sus comentarios y observaciones. Protoweb ha recibido código y aportes de -literalmente- todos los continentes del mundo. Foros, libros, publicaciones, websites, conversaciones e intercambios de s han sido herramientas fundamentales para comenzar a finalizar esta primera etapa de nuestro proyecto. Por eso, el agradecimiento es especialmente a todas las personas que creen que la libertad es sinónimo de generosidad.

43 That’s all Folks!


Descargar ppt "Protoweb Construyendo aplicaciones web fácilmente"

Presentaciones similares


Anuncios Google