jump to navigation

Modelos de desarrollo de aplicaciones web Sábado, 23 diciembre 2006

Posted by israelof in Diseño.
7 comments

Uno de mis campos de investigación abiertos ha sido buscar modelos de diseño formales, como son los modelos aprendidos en Ing. del Software (Estructurado y Orientación a Objetos) pero en nuestro caso orientados a la web, y es que la web tiene su miga, y los modelos tradicionales no se adaptan demasiado bien. Así que la gente se ha puesto las pilas, y han sacado algunos modelos interesantes, que supongo y por lo poco que me ha dado tiempo a leer, complementan los modelos tradicionales e introducen nuevos modelos y diagramas.

Existen diversos modelos que se han ido desarrollando y se han ido apoyando unos en otros. Por el momento, he encontrado uno que podría servir para modelizar mi proyecto, como es el caso del OOHDM (Object Oriented Hypertext Design Model), que básicamente introduce 3 modelos o diagramas nuevos (Modelo Conceptual, Vistas de Navegación y el Modelo de Interfaz).

Más adelante realizaré un pequeño estudio de este y de otras metodologias de diseño para la web.

Anuncios

Separación de Interfaz y Lógica de Negocio Miércoles, 20 diciembre 2006

Posted by israelof in Implementación.
1 comment so far

Lo típico de las aplicaciones web, por lo que he visto hasta la fecha, es mezclar código HTML con código de servidor (PHP, ASP, JSP, …) esto es bastante problemático cuando se trabajan en diferentes partes de la aplicación a la vez, el programador  hace la lógica de negocio y el diseñador hace el código HTML.

La solución para resolver esto es aplicar lo que se llaman plantillas. Una plantilla básicamente es el código HTML que le ha dado el diseñador/maquetador de la web (el que entiende de HTML) al desarrollador de la logica de negocio (el que sabe programar en PHP, ASP, JSP, …) y ha introducido pequeñas partes de código servidor en ese código HTML. Cuando digo, pequeñas partes me refiero a cosas como poner sólo “variables” o “if then else” o “for” a lo sumo.

Buscando en la red, he encontrado frameworks que ayudan a permitir esta separación, como es el caso de Smarty, PatTemplate, PhpTal, etc. Básicamente, éstos permiten crear plantillas HTML introduciendo pequeñas partes de código especial. Analizando un poco más el funcionamiento de estos frameworks, he llegado a la conclusión de que el propio lenguaje PHP ya permitía este tipo de idea de plantilla, es decir, que PHP ya hace “de serie” lo que hace Smarty, PatTemplate, etc. de modo que he decidido no usar ninguno de estos frameworks y utilizar directamente PHP.

Por poner un ejemplo, una plantilla tendría un aspecto como este:


<table>
   <tr>
      <td>Hola <?php echo $nombre ?>!!</td>
      <td>¿Cómo estas?</td>
      <?php if ($nombre == “Marta”) { ?>
      <td>¿Cómo está Jorge?</td>
      <?php } ?>
   </tr>
</table>

La idea es incluir el mínimo código de servidor dentro de la plantilla, ya que la plantilla seguramente en poco tiempo se quiera modificar, para renovar el diseño de la web.

WebDevStudio 1.0 Miércoles, 13 diciembre 2006

Posted by israelof in Versiones.
add a comment

Tras unos días de revisión y de retocar pequeños detalles, he puesto disponible la versión 1.0 de la aplicación. Para acceder a esta versión totalmente funcional, podéis hacerlo a través del enlace de la derecha del blog o desde aquí.

Usuario de acceso:
He creado un usuario de demostración para que no haga falta registrase, aunque si os quereis registrar podréis desarrollar vuestros propios proyectos sin que nadie os moleste. Los datos del usuario de demo son los siguientes:
      user: demo
      pass: demo

Funcionalidades implementadas:
La versión de webDevStudio 1.0 soporta las siguientes operaciones:

  • Usuarios normales:
    • Entrar en el sistema mediante la combinación de login y password
    • Cerrar la sesión activa
    • Generar nuevas claves de acceso de usuarios en caso de pérdida
    • Crear usuarios nuevos en la máquina servidora.
    • Eliminar usuarios de la máquina servidora.
    • Modificar la información de un usuario.
    • Visualizar los usuarios de la máquina servidora.
    • Crear un nuevo proyecto en la máquina servidora.
    • Editar la información de un proyecto.
    • Eliminar un proyecto de la máquina servidora.
    • Trabajar sobre un proyecto.
    • Crear un fichero de código nuevo.
    • Subir un fichero local a la máquina servidora.
    • Crear una copia de seguridad del proyecto.
    • Imprimir el fichero de código que esté abierto.
    • Renombrar un fichero de código.
    • Compilar el fichero de código que esté abierto.
    • Construir el proyecto en la máquina servidora.
    • Descargar un fichero de código de la máquina servidora.
    • Visualizar todos los proyectos creados hasta el momento.
    • Visualizar todas las copias de seguridad creadas hasta el momento.
    • Renombrar una copia de seguridad.
    • Eliminar una copia de seguridad.
    • Descargar una copia de seguridad.
    • Restaurar una copia de seguridad.
  • Administradores:
    • Entrar en el sistema mediante la combinación de login y password
    • Cerrar la sesión activa
    • Generar nuevas claves de acceso de administradores en caso de pérdida
    • Crear las cuentas de usuarios
    • Listar todas las cuentas de usuarios
    • Eliminar todas las cuentas de usuarios
    • Visualizar una determinada cuenta de usuario
    • Eliminar una determinada cuenta de usuario
    • Crear proyectos de usuarios
    • Listar todos los proyectos activos en el servidor
    • Eliminar todos los proyectos
    • Visualizar un determinado proyecto
    • Eliminar un determinado proyecto
    • Crear cuentas de administradores
    • Listar todas las cuentas de administradores
    • Visualizar una determinada cuenta de administrador
    • Añadir nuevas noticias
    • Listar todas las noticias
    • Eliminar todas las noticias
    • Editar una determinada noticia
    • Eliminar un determinada noticia

Proyectos soportados:
En esta versión se permiten los proyectos basados en:

  • C
    • POSIX (Linux)
      • Aplicaciones de consola
    • Windows
      • Aplicaciones de consola
      • Aplicaciones de ventanas
  • C++
    • POSIX (Linux)
      • Aplicaciones de consola
    • Windows
      • Aplicaciones de consola
      • Aplicaciones de ventanas

Vuelta al trabajo Lunes, 11 diciembre 2006

Posted by israelof in General.
add a comment

Después de una temporada ocupado realizando una web en TYPO3 para un cliente y de unos días de parón vacacional, volvemos de nuevo a la carga con el proyecto.

En los proxímos días mi intención es realizar la revisión y mejora de la aplicación que tenía hasta el momento, y es que hay que recordar, que partimos de la versión inicial que realicé en la asignatura Diseño de Aplicaciones WEB.

Espero que en los próximos días, pueda poner on-line la aplicación en su versión 1.0 para que se pueda probar.