Ver Mensaje Individual
  #5  
Antiguo 18-12-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal y como ha dicho jhonny y como reza la cación "Todo depende,..."
¿De qué depende? Pues de tus necesidades y de cada caso particular. No hay una opción que vaya "mejor" en todos los casos.

Cita:
Empezado por dtomeysoto Ver Mensaje
Pudiera alguien decirme las ventajas y desventajas de compilar un proyecto con esta opción marcada.
Compilar todo en un ejecutable te aporta:
* Portabilidad: Permite llevar tu programa de un sitio a otro copiando un único fichero.
* Sencillez: Sólo te preocupas de un fichero. Instalarlo en nuevos ordenadores es simple. Evitas instaladores o si los tienes que hacetr son muy básicos. Evitas problemas relacionados con las diferentes versiones de las BPL's que pueda haber en un sistema.
* Updates: Son sencillos.

¿Porqué entonces compilar con packages?
Yo diría que la opción de packages está por si necesitas "otras cosas", que la opción de ejecutable único no aporta. Si necesitas algunas de esas cualidades los packages te las dan, si no las necesitas, sólo te aportarán problemas. Si utilizas packages:
* Menor tamaño individual: Tienes más ficheros pequeños en lugar de tener uno más grande. Puede ir bien si tienes muchos packages a la hora de actualizar tu aplicación. Puedes actualizar packages de forma independiente. Sólo actulalizar los que necesites.
* Modularización del programa: Puedes añadir funcionalidades al programa añadiendo nuevos packages, incluso para diferentes clientes puedes tener diferentes versiones del mismo package.
* Posibilidad de carga dinámica: Puedes tener en memoria sólo aquellas partes de tu aplicación que necesitas en cada momento. La posibilidad de carga dinámica de packages es una maravilla. Utilizando packages puedes hacer de forma relatívamente sencilla un sistema de PlugIns para tu aplicación (aquí tienes cómo hacer uno, parte I y parte II).
* Gestión de memoria mejor: Piensa que al igual que las DLL's, los packages se comparten en memoria por aquellas aplicaciones que los están utilizando, de forma que si varias aplicaciones están utilizando los mismos packages, estás trabajando de forma más óptima en tu sistema.

A parte, conceptualmente (sobre todo a nivel de proyectos grandes) la división de un programa en packages puede facilitar el trabajo diario, la organización del proyecto,...

Pordríamos extendernos más, pero creo que más o menos ya hay algo sobre lo que pensar.

Personalmente para aplicaciones pequeñas-medianas, sin mucho tamaño y sin necesidades especiales optaría por compilar sin packages (todo incluído en el EXE), para aplicaciones grandes, me detendría en el momento del diseño, porque la opción de packages puede ser muy ventajosa (en algunos casos diría que incluso obligatora). Importante tener en cuenta en qué sistemas se va a desplegar la aplicación final, quien/cuantos usuarios la van a utilizar,...

Espero no haber liado más las cosas.

Un saludo.
__________________
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.

Última edición por Neftali [Germán.Estévez] fecha: 18-12-2009 a las 11:48:51.
Responder Con Cita