¿Cuáles son las mejores prácticas en el diseño de paquetes de software?

Estuve tentado a rechazar su solicitud, pero luego pensé, ¿por qué no?

Todo depende del uso de la herramienta adecuada para el trabajo. La economía también es importante. A veces, más rápido es mejor que mejor si significa completar el proyecto o no.

Desde una persecución no técnica por parte de los usuarios finales, el paquete debe tener un número mínimo de archivos y debe ser fácil de instalar, desinstalar y operar. Físicamente, si estuviera empaquetado, creo que algún tipo de unidad flash, tarjeta de memoria o disco óptico sería un embalaje suficiente. Cualquier otra cosa es solo desperdicio a menos que esté hablando de libros de instrucciones impresos, documentos de referencia o botín (consulte a un experto en marketing / publicación / diseño).

Volviendo al software, desde una perspectiva técnica de los usuarios finales, los paquetes de distribución deben ser fáciles de desempaquetar, fáciles de modificar, fáciles de entender y bien documentados. Las modificaciones del usuario final extienden la vida útil y la utilidad de su software y lo convierten en una mejor inversión para las empresas. Si el producto se entrega electrónicamente, se puede empaquetar un instalador con un cliente torrent con UPNP NAT que recurre a un servidor HTTP o FTP convencional. Compartir el archivo hash del paquete de instalación con el descargador es una buena cortesía, aunque no todos sabrán qué hacer con él.

Sé que estabas hablando sobre cómo empaquetar los recursos y lo llevé a un lugar diferente. Diferentes herramientas de programación / lenguajes / frameworks / bibliotecas / etc. tienen diferentes herramientas. La herramienta mejor documentada es un buen lugar para comenzar. La experiencia lo guiará a diferentes soluciones si encuentra que la primera herramienta carece de la función que desea. Todo cambia constantemente, por lo que la mejor herramienta es un objetivo en movimiento. En muchos sentidos, a pesar de los cambios en los métodos, el objetivo no será muy diferente de lo que ha sido nunca. Entonces, la mejor herramienta para algo que hace tan poco no va a importar mucho. Elige uno y sigue adelante. Estás hablando del almacenamiento y recuperación de datos.

La automatización es agradable, puede acelerar las cosas, pero en proyectos pequeños, ralentiza las cosas a menos que tal vez ya esté familiarizado con el sistema de automatización.

Tal vez algunos usuarios de Java sugieran algo específico para usted, pero me pregunto si ya lo buscó en Google. Los argumentos sobre qué tecnología es mejor parecen ser lo suficientemente fáciles de encontrar. Lea uno o dos y ahorre tiempo a todos. Si los resultados están demasiado anticuados, intente vincular el nuevo debate con los antiguos para que otros puedan encontrarlo.