Por que o OS X não possui um gerenciador de pacotes padrão? [fechadas]

7

O Debian tem o APT. A Red Hat tem RPM. O FreeBSD tem portas. O NetBSD possui o pkgsrc. O Mac OS X tem MacPorts, Fink e Homebrew, mas esses são todos os gerenciadores de pacotes de terceiros. Por que o OS X não possui um gerenciador de pacotes padrão?

    
por hekevintran 01.09.2011 / 00:32

3 respostas

6

Minha opinião (e isso é basicamente apenas opinião, embora eu ache que a evidência pode levar você à mesma ideia) é que é por causa de uma diferença básica no processo de pensamento das indústrias de software de código aberto vs. comercial. / p>

Para projetos de software de código aberto, os sistemas de pacotes são brilhantes porque tornam excepcionalmente fácil para qualquer usuário obter software ou mantê-lo atualizado - geralmente apenas um único comando, e agora através de interfaces de usuário amigáveis para iniciantes como o Ubuntu Software. Centro. É o máximo em conveniência para usuários de desktop e administradores de servidores.

Para a indústria de software comercial, a monetização e o marketing são tão importantes (se não mais importantes) quanto a distribuição. Você sabe como os aplicativos de código aberto do Windows geralmente têm apenas um instalador padrão do NSIS, enquanto o software comercial tende a ter instaladores atrozes com cromo de janela personalizado, logotipos em todos os lugares e cópia de marketing? Isso porque, para as empresas comerciais, é importante inserir sua marca, marketing e experiência em todos os lugares possíveis. Isso significa que as empresas de software comercial geralmente querem controlar todos os aspectos da distribuição de seus produtos, ou seja, sites, instaladores e atualizadores personalizados. As empresas também querem poder cobrar de seus clientes por seus produtos, e os sistemas de pacotes convencionais não têm previsão de licenciamento e cobrança.

Um ambiente de pacote também requer uma grande cooperação entre fabricantes de software para unificar um padrão de empacotamento e manter repositórios. As empresas de software rivais querem se diferenciar umas das outras e tendem a ser míopes e preferem ser o mais diferentes possível em vez de o mais amigável possível . Embora a concorrência entre projetos ainda esteja presente no mundo do código aberto, ela tende a ser muito menos significativa nas mentes dos desenvolvedores. Em vez disso, a indústria de software de código aberto tem muito a ver com cooperação , o que significa que era natural que grandes projetos se reunissem e concordassem com um mecanismo de distribuição padronizado.

A indústria de software comercial está rapidamente se beneficiando de um sistema de distribuição uniforme agora, mas é devido aos esforços dos fornecedores de plataforma em vez dos fabricantes de software, e começou não em PCs, mas em telefones: o iOS foi talvez o primeiro bem sucedida App Store central, em seguida, o Android trouxe, agora todos os principais sistemas operacionais do telefone tê-los. Em desktops, a Mac App Store foi lançada recentemente e acredito que foi anunciado oficialmente que o Windows 8 contará com um App Market.

O que é uma loja de aplicativos / mercado? Um sistema central através do qual você pode baixar e instalar automaticamente o software, que também gerencia automaticamente as dependências e verifica se há atualizações. É realmente apenas um gerenciador de pacotes em um terno melhor, e com um olho para a receita.

tl; dr: as motivações da comunidade de código aberto levaram naturalmente a pacotes de sistemas, enquanto a indústria de software comercial não viu os benefícios e tomou a iniciativa. Agora, a indústria de software comercial está surgindo e introduzindo sistemas de pacotes na forma de lojas de aplicativos.

    
por 01.09.2011 / 01:04
4

Eu não acho que há qualquer razão real que não seja a Apple não sentiu a necessidade de incluir um, pois não é necessário para a maior parte dos usuários de Mac. Com os vários sabores do Linux, você precisa compilar da fonte para tudo, já que todos os diferentes ambientes variam o suficiente para que executáveis compilados em um local possam não funcionar em outro. Isso também requer que algo garanta que todas as dependências estejam em primeiro lugar. Os gerenciadores de pacotes do Linux estão incluídos para tornar isso mais simples para o usuário.

No caso do OS X, qualquer coisa compilada provavelmente funcionará (há exceções entre alguns lançamentos, mas não é tão esporádica quanto as distribuições do Linux). Você pode ter certeza de que o binário que você está baixando funcionará. A Apple tem controle sobre o desenvolvimento e a distribuição do sistema operacional, de modo que ele se mantenha regular e consistente - semelhante ao Windows dessa maneira. Mas como o OS X é construído em um núcleo Unix e há pessoas suficientes que querem usar ferramentas unix, existem gerenciadores de pacotes de terceiros para extrair a fonte, verificar as dependências e compilar para essa plataforma específica.

    
por 01.09.2011 / 00:43
2

Resposta fácil:

Simplesmente não há necessidade de usuários-alvo da Apple, e a maneira como eles pretendem que seu SO funcione é incompatível com o conceito de um sistema de pacotes de linha de comando.

E quanto ao desenvolvimento? Até mesmo o XCode não é voltado para esse fluxo de trabalho. As ferramentas de terceiros existem principalmente para construir ferramentas baseadas em linux e bibliotecas e projetos baseados em * nix.

    
por 01.09.2011 / 01:19