FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Aplicacion con muchas Formas VS Aplicacion por Forma
Apreciados foristas buenas Noches
Actualmente estamos ampliando una aplicacion que contiene muchas formas. Se estan realizando cambios frecuentes a la aplicacion ya sea por modificaciones a la forma actuales o por adiciones de nuevas formas y/o funcionalidades. Esto implica el reeplazo del programa actual monolitico con frecuencia o enviar modificaciones en nuevos programas. Revisando la posibilidad de generar con paquetes encuentro que se enviarian todos los paquetes de ejecucion una sola vez (+/-) , se crearian ejecutables muy pequenos que corresponden a funcionalidades muy pequenas las cuales seran llamadas por un menu dinamico . Asi solo se adicionaria la nueva opcion al menu y este llamaria el nuevo ejecutable el cual pareciera que es parte del programa inicial. Tambien lei que las bpl se comportarian como las dll que se cargan en moemoria y los otroas programas pueden usarlas Sus comentarios Gracias |
#2
|
||||
|
||||
Yo creo que generar múltiples ejecutables no es la situación ideal. Pierdes muchas ventajas respecto a un sólo programa. En cuanto al tema de generar BPL's, creo que los problemas son los mismos, pues no es una funcionalidad que esté pensada para algo así.
También hay que decir, que esta afirmación, sin conocer con más detalle el programa, aunque puede ir bien en muchos casos tal vez no sea lo mejor para tu caso concreto. Pero das pocos detalles. Tal vez puedas mejorar el sistema de actualizaciones para hacerlo más cómo o automático.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Es algo que debéis evaluar vosotros, depende de muchos factores, pero básicamente, lo mismo es enviar el ejecutable nuevo que enviar un nuevo ejecutable, incluso de la segunda forma es "peor" porque ahora estáis con 2 proyectos y 2 ejecutables.
Ahora bien, si se va a realizar un nuevo módulo bastante "importante" y se prefiere no tocar el proyecto original, pues también puede ser válido, aunque casi no vale la pena, lo dicho, tenéis que decidir vosotros que sois los que conocéis toda la "parafernalia" del proyecto, problemas, situación, requerimientos, características, etc. |
#4
|
||||
|
||||
Buen día amigo ASAPLTDA,
como dice Neftali, proporcionas información muy genérica para poder aconsejarte sobre una "arquitectura", De acuerdo con ambos tambien que la solución depende de cada caso, pero te cuento que alguna vez afronte un problema similar y lo resolvi separano la aplciación en ejecutables´, lo cual vimos beneficioso en cuanto a que reduce el impacto en todo el sistema por modificaciones pequeñas... Lo anterior era importante por el movimeinto que tenian los programas, y la cantidad de desarrolladores que habia modificando en cada momento alguna funcionalidad... Separar tu sistena en multiples ejecutables puede tener entajas y desventajas, pero en mi caso suplimos muchas de las esventajas con comunicación entre aplciaciones (message)... y nos fue muy bien..!!! Por otro lado, como dice NEftali, el tema de los BPL's y DLL's como plugins puede ser una solución para temas puntuales, y te comparto un link del porpio neftali muy interesante sobre el tema.. Yo personalmente utilizo el framework de TMS software , que me parece muy estable y completo para manejar este tema de plugins... un saludo, |
#5
|
||||
|
||||
En mi opinion, es mejor hacer apps monolíticas. El tener funcionalidad regada complica las cosas, ya que es posible que APP1 espere un API y comportamiento con APP2 y esta sea mas o menos vieja.
Tener despliegues repetibles y confiables es mucho mejor que ahorrarse unos cuantos segundos en una descarga. El problema que describes es de generar despliegues, no de organizacion de código. Eso se resuelve muy facil con un software de "builds automatizables". El mas facil de todos, por mucho: http://www.finalbuilder.com (Que viene en versiones modernas de delphi). Con eso, creas una automatizacion de como generar el proyecto, desde jalarlo desde el repositorio de codigo fuente (que seguro usas), compilarlo, generar documentacion, generar scripts de BD, comprimir, firmas digitales, subir a un FTP, mandar mail, etc (todo lo que se te ocurra, realmente). Hacer builds automatizables es el 2do punto para lograr un proceso de calidad (el 1ero es tener un CVS).
__________________
El malabarista. |
#6
|
||||
|
||||
Yo tb tengo un software que constantemente se actualiza, empezo con 5 usuarios pero ya con más de 30 se pone peliaguda la cosa. Opté por meter actualización automática en el ejecutable y así el usuario se da cuenta que ya cambió algo, lo actualiza y ejecuta por sí mismo. Ya bajo su responsabilidad. Otra cosa que hago para obligarlos a que actualicen es que cambio el pwd del usuario del soft que se conecta a la base de datos con que trabaja de manera que quien tenga versiones "obsoletas" ni siquiera podrán usarlo.
Aún así nunca falta el despistado que "no se dio cuenta" pero se reduce mucho el problema.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#7
|
|||
|
|||
Actualización automática Ejecutable
Cita:
|
#8
|
||||
|
||||
resp
respeto la opinion de cada quien, pero yo me he quitado esos dolores de cabezas, ya que los clientes siempre quieren una cosa mas. simplemente doto mis aplicaciones con la capacidad de cargar plugins, de esa manera cuando me pieden algo nuevo que hace el progrma, solo realizo un plugin, lo pongo en la carpeta de plugin y listo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#9
|
||||
|
||||
Los plugins son muy útiles y eficientes siempre y cuando desde el inicio del desarrollo de la aplicación se estén cosiderando. Si es una aplicación ya realizada es bastante más sencillo simplemente actualizar el ejecutable completo mediante las actualizaciones automáticas.
yo lo hago así, contestándole a nuestro amigo ASAPLTDA: 1.- Compilo el nuevo ejecutable y lo comprimo en formato autoextraible. 2.- En un servidor http x subo el archivo anterior y modifico un archivo html simple que solo tiene el número de versión subida. 3.- Al abrir mi programa, consulto la "página" web que contiene el número de versión y la comparo con la del ejecutable 4.- Si es distinta le indico al usuario que hay una actualización. 5.- Si l usuario accede, descargo el autojecutable via http (puede ser también por ftp) 6.- Una vez descargado ejecuto el programa autojecutable y cierro mi programa. 7.- El control pasa al autoejecutable que se extrae solo y opcionalmente se ejecuta automáticamente lo extraído. (Este último paso ya varía dependiendo de que programa ocupes, yo uso 7zip que tiene cosas para hacer esto, pero igual puede ser un instalador y funciona exactamente igual)
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#10
|
|||
|
|||
Aplicacion usando Plugins
Cita:
Gracias PD He encontrado estos links de otro forista el cual me permito compartir http://neftali.clubdelphi.com/articu...0Parte%201.pdf http://neftali.clubdelphi.com/?p=481 Última edición por ASAPLTDA fecha: 02-09-2013 a las 17:06:33. Razón: adicionar links |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Auto Borrar Aplicacion / Cambiar Privilegios Aplicacion / Ejecutar como Administrador | jogagua | Varios | 15 | 27-10-2011 01:38:07 |
Formas dentro de Forma principal | TheWatcher | OOP | 7 | 30-10-2008 03:08:32 |
Aplicacion carga muchas fichas en memoria. | zugazua2001 | Varios | 4 | 06-09-2005 17:40:41 |
llamar formas de otra aplicación | karocs | Varios | 1 | 21-06-2005 20:01:50 |
Integracion de una Aplicacion de Flash 5.0, a una forma en Delphi 6... | delphi_gama | Gráficos | 2 | 22-08-2003 00:41:17 |
|