Aprenda GNUstep: alternativa gratuita à plataforma de desenvolvimento NextSTEP

Divulgação: Seu suporte ajuda a manter o site funcionando! Ganhamos uma taxa de indicação por alguns dos serviços que recomendamos nesta página.


O GNUstep é uma plataforma de aplicativos gratuita e de código aberto muito semelhante à plataforma Cocoa da Apple e originária da mesma linhagem de produtos. O GNUstep é anterior ao cacau, mas devido à popularidade do cacau, o GNUstep atua como uma espécie de clone de cacau de código aberto.

História do GNUstep

Depois que Steve Jobs deixou a Apple, sua nova empresa, a NeXT Computers, desenvolveu uma nova plataforma de aplicativos e desenvolvimento (bem como um novo sistema operacional subjacente).

Isso foi escrito em Objective-C, um superconjunto de C orientado a objetos que a NeXT licenciou da StepStone, uma empresa fundada pelos criadores da linguagem.

Essa plataforma de aplicativos e desenvolvimento, chamada NeXTSTEP, levou ao desenvolvimento do cacau e do GNUstep da Apple. Esse caminho do produto da NeXT para o GNUstep leva vários anos e envolve várias histórias relacionadas.

Objective-C se torna um idioma livre

Como o Objective-C foi processado no código C e depois compilado como C, ele se baseou em um compilador C. Para disponibilizar o Objective-C para desenvolvedores em plataformas Unix com um mínimo de problemas de desenvolvedor, o pré-processador Objective-C precisava se vincular ao GCC, o GNU C Compiler.

Após alguns planos iniciais para manter o idioma proprietário enquanto ainda integra o GCC, Richard Stallman, do GNU, decidiu que o idioma precisaria ser licenciado pela GPL. StepStone concordou e o Objective-C se tornou um idioma livre.

No entanto, o tempo de execução que tornou o Objective-C útil, foi retido e permaneceu proprietário. Vários desenvolvedores diferentes trabalharam em substituições de código aberto para o tempo de execução Objective-C, e o atualmente em uso foi desenvolvido em 1993 por Kresten Krab Thorup.

Implementações gratuitas do NeXTSTEP

Em 1991, Paul Kunz, desenvolvedor do Stanford Linear Accelerator Center, queria executar o HippoDraw – software criado para a plataforma NeXTSTEP – em outra plataforma.

Em vez de portar o próprio aplicativo, ele desenvolveu uma biblioteca de objetos que imitava a API da interface do usuário do NeXTSTEP. Isso permitiu que ele executasse o HippoDraw sem alterar uma única linha de código no próprio aplicativo.

Em 1993, Andrew McCallum lançou o Collection Library para GNU Objective-C, que imitava outro conjunto de bibliotecas principais de objetos NeXTSTEP.

NeXTSTEP Torne-se OPENSTEP

Em 1993, a NeXT começou a colaborar com a Sun Microsystems para criar uma versão da “camada superior” da plataforma NeXTSTEP (interface do usuário e API de programação) que seria compatível com o sistema operacional Solaris.

Naturalmente, a maior parte desse trabalho envolveu a remoção das partes do NeXTSTEP que estavam fortemente integradas ao hardware e sistema operacional.

Houve também algum refinamento e reformulação da API de desenvolvimento da plataforma, dividindo-a em “estruturas” bem definidas.

Este trabalho levou ao lançamento do padrão OpenStep (que era uma especificação aberta, disponível ao público) e ao desenvolvimento da plataforma OPENSTEP (que era uma implementação proprietária do OpenStep).

O OPENSTEP substituiu o NeXTSTEP e é a primeira versão desta linhagem de produtos que é obviamente reconhecível como precursor do cacau e do GNUstep.

Esta foi a versão que introduziu as estruturas principais do Foundation e AppKit, bem como a família de classes com prefixo NS.

OpenStep obtém uma implementação GNU

Após a publicação do padrão OpenStep, Andrew McCallum, Paul Kunz e outros membros do GNU reescreveram suas bibliotecas Objective-C para corresponder ao padrão.

O esforço foi, naturalmente, apelidado de “GNUstep” – o nome já havia sido sugerido informalmente em 1991, quando alguns esperavam que a NeXT entregasse todo o projeto à Fundação Software Livre.

Ao longo dos próximos anos, o projeto se expandiu para se tornar uma implementação totalmente compatível, gratuita e de código aberto do padrão OpenStep. A primeira versão a implementar completamente a especificação foi lançada em 1998 e o lançamento oficial 1.0.0 foi em 2001.

Cacau: o próximo passo para a OPENSTEP

A Apple comprou a NeXT Computers e recontratou Steve Jobs, em 1996. A plataforma OPENSTEP foi integrada ao novo sistema operacional Mac e renomeada Cocoa.

O Cocoa mudou bastante nas décadas seguintes, especialmente quando o Mac mudou para o OS X a partir do Mac OS, e o Cocoa se expandiu para incluir o Cocoa Touch para iOS.

Quando o Cocoa se afastou da especificação OpenStep, o GNUstep também se afastou dela. Seus desenvolvedores agora consideram simplesmente uma implementação do Cocoa, com apenas laços históricos com o OpenStep.

GNUstep Today

O GNUstep é uma implementação de cacau livre e de código aberto. Embora fique um pouco atrás do Cocoa, a intenção da equipe de desenvolvimento é manter o GNUstep sincronizado com o Cocoa, tanto quanto possível.

Qual é o objetivo?

Cocoa é uma plataforma de aplicativos proprietária, fortemente ligada aos sistemas Mac OS X e iOS. Por que alguém iria querer ter uma versão Open Source disso? Por que o GNUstep continua a existir?

Uma das maiores razões para isso é que possibilita ao desenvolvedor de aplicativos projetar para OS X ou iOS. A partir daí, você pode portar o aplicativo para Unix, Linux, Windows, BSD e Solaris. Portanto, o GNUstep fornece um ambiente de desenvolvimento de plataforma cruzada.

Isso oferece muitas das vantagens da Java Virtual Machine ou Flash. Mas há consideravelmente menos despesas gerais. Além disso, alguns argumentam que ele cria uma arquitetura geral melhor.

Também faz muito sentido direcionar o desenvolvimento inicial ao Cocoa. Isso ocorre porque você lida com os requisitos muitas vezes difíceis da App Store desde. Em seguida, você pode portar facilmente para outros ambientes.

Além disso, muitos desenvolvedores simplesmente gostam da plataforma. A Apple pensou muito e trabalhou bastante no design do Cocoa, e muitas pessoas que desenvolvem para ambientes Linux e Unix gostam de ter a plataforma disponível para criar novos aplicativos..

O GNUstep também pode ser inserido em uma distribuição do sistema operacional, integrando-a firmemente da maneira que a Apple integra o Cocoa. Não precisa ser usado dessa maneira, mas pode. Quando integrado assim, o GNUstep pode ser usado para alimentar o ambiente de desktop.

Idiomas para o Desenvolvimento

A linguagem primária de desenvolvimento para o GNUstep é o Objective-C. O GNUstep em si é escrito em Objective-C, assim como a maioria das aplicações. É possível executar código escrito em várias outras linguagens (principalmente Java e Ruby), mas Objective-C é realmente o evento main ().

Até o momento em que este artigo foi escrito, o GNUstep não suporta a nova linguagem de programação Swift da Apple. A Apple lançou o idioma como código aberto muito recentemente, e o GNUstep pretende apoiá-lo o mais rápido possível.

Recursos GNUstep

  • Site oficial do GNUstep.

  • Aprendizado e Referência

    • Mini-tutoriais de programação GNUstep

    • Tutorial do GNUstep

    • O GNUstep Wiki

    • A biblioteca GNUstep

    • Heron’s Perch: blog popular, administrado pelo chefe de manutenção do GNUstep

    • Vídeo: Objective-C no Windows 7 usando o GNUstep.

  • Ferramentas

    • Étoilé: um ambiente de desktop multiplataforma construído no GNUstep

    • Projeto de Aplicação GNUstep: ferramentas para melhorar sua experiência no espaço de trabalho GNUstep.

Sumário

O GNUstep oferece uma excelente plataforma de desenvolvimento para codificadores que desejam criar aplicativos em muitas plataformas diferentes. Embora exista uma quantidade limitada de informações sobre o GNUstep, você pode aprender muito mais sobre isso pesquisando Objective-C e Cocoa.

Leitura e recursos adicionais

Temos mais guias de programação, tutoriais e infográficos relacionados a recursos de codificação e desenvolvedor:

  • Recursos Objective-C: comece e entre em áreas avançadas da programação Objective-C.

  • Cocoa and Cocoa Touch Introdução: aprenda a API intimamente relacionada para a criação de aplicativos para Mac OS X e iOS.

  • Introdução e recursos rápidos: a nova linguagem projetada especificamente com o cacau (e indiretamente o GNUstep) em mente.

Que código você deve aprender?
Que código você deve aprender?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map