Como desarrollar una aplicacion modular y extensible?
Quiero desarrollar desde la base una aplicacion que luego pueda agregar modulos y reutilizar algunos.. pero como tengo que hacer los modulos y como tengo que hacer para que se comuniquen? Lei que se puede extender clases pero todavia no tengo claro como puedo hacer.. alguien sabe algo al respecto o puede mostrarme algun ejemplo?
Pues no reinventes el agua hervida. Usa un framework, estos ya te brindan una arquitectura base, ejemplos de código y tutoriales de como trabajar.
También hay chorrocientosmil libros que se pueden consultar.
Si piensas utilizar PHP para el servidor te recomiendo Symfony.
ExtJS va muy bien con Symfony.
mira, yo he ido creando una aplicación de manera modular con reutilizacion de codigo, al final te das cuenta que tantas de lineas de códigos son casi lo mismo que incluso estoy haciendo modulos que me permiten hacer otros módulos, te explicare aquí un poco de como estoy trabajando por si te ayuda en algo:
parte de la base que tengo el servidor con apache, php y mysql
en la raíz de la aplicación tengo todo separado dentro de carpetas porque así es mas fácil luego encontrar algo, mi distribución seria de la siguiente manera:
raiz
----/app/ (carpeta con los html que empaquetan la aplicación)
----/js/ (carpeta con los eventos de las intefaces)
----/js/ui/ (carpeta con las interfaces)
----/js/st/ (carpeta con los stores)
----/js/ux/ (carpeta con componentes de terceros)
----/php/ carpeta con los archivos que se ejecutan en el lado del servidor
----/php/export/ lo mismo pero exclusivamente para manejar la exportacion a otros formatos
----/images/ (carpetas con los iconos y toda la grafica)
----/css/ (carpeta con las hojas de estilo)
----/extjs/ (carpeta con el framework)
en la raiz solo tengo el archivo index.html que ejecuta el login del usuario y luego redirecciona a un archivo con el escritorio.
este escritorio es un viewport que en su lado sur tiene un treepanel con los menús a los cuales está autorizado el usuario a ingresar, en la medida que hace clic se carga un panel en la zona centro donde tengo un tabpanel, dentro del tabpanel se carga un iframe con otra pagina que contiene el modulo en si.
si usas la aplicación ExtDesigner aun por unos dias en su version de prueba aprenderás un montón como separar la aplicación de forma que resulta mucho mas sencillo trabajar
por ejemplo en mi carpeta app solo tengo archivo html con mas o menos este contenido:
<!-- mis estilos extras y los iconos de los botones de la aplicacion-->
<!-- fin -->
<!-- el framework-->
<!-- nodificaciones a los componentes oficiales-->
<!-- funciones repetitivas que uso a lo largo de todos los modulos-->
<!-- la interface de mi modulo-->
<!-- los eventos de la interface-->
<!-- los stores de mi modulo si hubieren-->
<!-- interface de las ventanas adicionales si las hubiera-->
<!-- eventos de las ventanas adicionales-->
<!-- mascara de precarga-->
Cargando...
lamento no poder indentarlo correctamente en este foro :-S
espero te ayude en algo
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.