Es una pregunta que regaña a cualquiera que se haya enamorado de las aplicaciones portátiles: ¿por qué no son todas las aplicaciones portátiles?
La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios web de preguntas y respuestas de la comunidad.
Índice de contenido
La pregunta
Al lector de SuperUser Tom le encanta la organización limpia que proporcionan las aplicaciones portátiles y quiere saber por qué no todo es portátil:
Recientemente he estado tratando de’instalar’ mucho menos cosas en mi máquina Windows (odio a los instaladores – necesito saber dónde ponen las cosas los programas…), optando por usar versiones portátiles o autónomas de las aplicaciones en su lugar.
Los puse todos en un directorio de’Programas’ en una unidad separada de mi partición de Windows, así que siempre que vuelvo a instalar, tengo todas mis aplicaciones disponibles con el mínimo esfuerzo y en el lado positivo, obtengo una configuración limpia y agradable.
Aplicaciones como Office y Creative Suite todavía requieren que pase por un proceso de instalación horriblemente largo en el que se lanzan miles de bibliotecas y herramientas aleatorias a través de mi sistema.
¿Por qué las aplicaciones de Windows aún necesitan ser instaladas? ¿Por qué no podemos arrastrar Photoshop a una carpeta a la OSX y hacer que funcione? ¿Alguien más se enfoca en aplicaciones portátiles, o estoy siendo OCD con todo esto?
Sin duda somos fanáticos de las aplicaciones portátiles y también nos gustaría llegar al fondo de las cosas.
La respuesta
David Whitney, colaborador de SuperUser, ofrece una visión de por qué muchas aplicaciones no son portátiles y cómo Windows hace cumplir una especie de acuerdo anti-portabilidad:
Los instaladores son el resultado de años de evolución y un poco de historia (simplificada) ayuda a entender por qué hacen lo que hacen…
El modelo de Windows 3.1 sugería archivos de configuración de estilo config.ini por aplicación, con bibliotecas compartidas compatibles que entraban en las carpetas del sistema para evitar la duplicación y el desperdicio de espacio en disco.
Windows 95 introdujo el registro que permite un almacén central para la configuración de aplicaciones que sustituye a muchos archivos de configuración. Más importante aún, la configuración de Windows se almacenaba en el mismo lugar.
El registro se hinchó debido a que las aplicaciones no se limpiaban después de sí mismas. DLL hell ocurrió como resultado de múltiples versiones de las mismas bibliotecas compartidas sobreescribiéndose entre sí.
NET introdujo el concepto de app.config (casi archivos ini marca 2, esta vez con un poco más de estructura ahorrando a los desarrolladores la pérdida de tiempo en la escritura de analizadores manuales). El GAC fue introducido a las asambleas de versiones compartidas en un intento de prevenir el Infierno de la DLL.
En Windows XP y moreso en Vista, Microsoft intentó definir el espacio de usuario como un lugar para almacenar datos de usuario y archivos de configuración en una única ubicación estándar para permitir perfiles de roaming y una fácil migración (simplemente copiar su perfil) con las aplicaciones instaladas en Archivos de programa.
Así que supongo que la razón es que “las aplicaciones en Windows están diseñadas para vivir en un lugar, sus dependencias compartidas en otro, y los datos específicos del usuario en otro”, lo que va en contra del concepto de xcopiar una única ubicación.
… y eso es antes de tener que configurar cuentas de usuario, y configurar y asegurar los permisos de seguridad, y descargar actualizaciones, e instalar servicios de Windows…
xcopy es el “caso simple” y ciertamente no es el mejor para todo.
Desafortunadamente para los fanáticos de todas las cosas portátiles, muchas aplicaciones -especialmente las aplicaciones grandes como Office- permanecerán firmemente fijadas y distribuidas en todo el sistema operativo.
¿Tiene algo que añadir a la explicación? No se oiga en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange? Echa un vistazo al hilo de discusión completo aquí.