A menudo me he preguntado a mí mismo, y otros a esta pregunta, y
me gustaría abordar un punto que a menudo veo planteado antes de
llegar a por qué Linux ve menos instaladores:
Las distribuciones de Linux proporcionan gestores de
paquetes.
Sin embargo, no diría que el administrador de paquetes de una
distribución de Linux es un reemplazo para un instalador por, en
parte, las siguientes razones:
-
These package managers aren't standardized in operation
A package manager is a bit like providing your binary and
letting the end-user choose the installer. They can choose the
terminal, or they can choose a tool with a more advanced GUI, but
it doesn't afford you the same level control of the process as with
a "traditional" installation wizard.
An example of what I mean by control is documentation. You can't
give your end-user instructions like "Click Next, and you should
see ". You can give command-line instructions for a specific tool,
but then you're not only relying on the fact the user has that
tool, but also losing most of the benefits of an install wizard
(after all, most wizards are providing a front-end for simple
command line instructions and kicking off scripts).
This also ties into aesthetics. Now you're depending on your
end-users distribution to provide an intuitive/appropriate
interface. While you are fully aware of that fact, it's not
unreasonable for a more casual user to complain if double clicking
your file (installer in their view) opens up an ugly package
manager, does nothing at all, or worst of all opens up a
terminal window. (The experiences I've had with users and their
aversion of the "dos prompt"/"black and white box"/"Thing that's
going to delete all their files if they look at it funny" could
probably fill a book)
-
Package formats aren't standardized across platforms.
There are tools to convert between systems like rpm
and deb
, but it's not reasonable to expect your
end-user to convert your packages if you're using them in a
situation where an installation wizard would be provided on another
platform (i.e. clicks-and-done). Providing up-to-date packages for
an additional package format can be rather straight forward if you
have a rudimentary build system, but you're still adding a new
binary that needs to be supported.
That's also adding a new binary people have to choose from
depending on their platform (it sounds minor, but I'm sure someone
here can attest to having to explain x86 vs x64 before [yes, there
are ways to deduce the right platform from the browser, but then
you're getting into even more complicated, and harder to support,
procedures])
-
Package managers are "nicer" to open-source software.
This isn't saying that you can't share closed-source software
with a package management system, it can definitely be done. But
once you try to share close-source software on Linux distributions
you run into a wall as far as your options for getting your
software into common repositories is concerned. Things like PPAs or
the openSUSE Build Service are out, and even the Canonical Partners
repositories aren't enabled by default.
That means, unless you provide your own repository, you can't
many of the major features of package management systems, including
automatic updates. In my opinion, this is the most
important benefit across most platforms that use these
systems (e.g. iOS, Android, and Windows Store).
And even if you provide a repository (another job of variable
triviality), you still need to get users to set it up (which is
another layer of support, another set of non-standard approaches,
and another diversion from the original point of the installer)
Ahora, habiendo dicho todo eso, todavía no he abordado el
problema original, por qué los instaladores son menos comunes en
Linux a pesar de estos factores (entre otros). La pregunta original
pregunta si es técnica, o está basada en una convención, y se basa
en ambas partes.
Si observa los factores anteriores que he mencionado, también
hacen las cosas más complejas para un instalador "tipo asistente".
Por ejemplo, ¿su asistente incluiría múltiples formatos de paquetes
para instalar? ¿Cómo maneja la apariencia en las distribuciones? La
lista continúa, y una cosa que los paquetes que hacen le
brindan es que nada de esto será de su incumbencia ( para bien
o para mal ) siempre y cuando proporcione el derecho paquetes
Y dependiendo de la naturaleza de su proyecto, puede comenzar a
aprovechar esos recursos más "especializados", como las
presentaciones de aplicaciones al Centro de Software de Ubuntu.
Todo esto estaría relacionado con lo técnico.
Pero el aspecto que personalmente considero la fuerza motriz es
la convención. (Espero haber enterrado esto lo suficientemente
profundo como para que las personas que votaron abajo esa otra
respuesta al olvido hayan dejado de leer ...)
Siento que el póster tenía un punto, pero podría haberlo
expresado sin rodeos, y en realidad no proporcionó razones
objetivas para ese punto. Si examinas las diferencias que establecí
para un gestor de paquetes y un instalador, no me sorprendería que
la mayoría de ellos no presenten problemas (tal vez incluso
bordeando lo pedante). Pero (disculpe lo que espero que se vea como
uso legítimo de un argumento publicitario) también somos usuarios
en el sitio para programadores. Veo las distribuciones de Linux
como una excelente alternativa de Windows para usuarios ocasionales
(entre muchas otras cosas, obviamente). No proporcionar un
procedimiento de clics y acción comúnmente definido que todos estos
usuarios puedan usar realmente no es ideal imo .
Pero al mismo tiempo, tampoco encuentro que muchas cosas en
Linux sean especialmente ideales para ese grupo. Claro que
algunas distribuciones tienen gestores de paquetes basados en
GUI, pero eso significa que estas personas tienen que comenzar a
estudiar cómo usar una herramienta separada, ya que no está
estrictamente enfocada en la instalación de su programa (compare
this y esto a esto ).
Naturalmente, puede usar la GUI para hacer la mayoría de lo que
su usuario promedio debe hacer, especialmente con ciertas
distribuciones (irónicamente, las cosas que están haciendo esas
distribuciones no siempre están incluidas en la comunidad de código
abierto jardín "]) Pero no creo que sea despreciable que las
convenciones de Linux favorezcan a alguien que se sienta cómodo con
una CLI, o al menos no que tenga miedo de que su apariencia
signifique que hicieron algo terriblemente mal.
No estoy diciendo que esto es lo que pretenden, pero realmente
es lo que veo que hacen esas convenciones. Y los sistemas de
administración de paquetes en Linux parecen estar siguiendo eso.
Después de todo, la mayoría de sus "desventajas" casi no existen si
su usuario final se siente más cómodo con los conceptos
subyacentes.
Los instaladores en la mayoría de las otras plataformas no se
ven realmente afectados por eso, y están diseñados para citar un
comentario sobre la pregunta: "99.99% de los usuarios [pueden]
hacer clic ciegamente en" Continuar ". El problema con la
administración de paquetes es lograr que esos usuarios un botón
"Continuar", que les permite saber qué es ese botón "Continuar" (he
visto a los usuarios que las herramientas que dicen presionar
entrar con otro texto lo han engañado), y que les avisa cuándo han
llegado a ese punto. el botón "Continuar" botón "