m 0pt">Java no Mac OS X

Arquitetura, tecnologias e ferramentas

Conheça a arquitetura, ferramentas e IDEs do SO que tem o melhor suporte nativo a Java do mercado

Durante seu já histórico keynote no JavaOne de 2000, o CEO da Apple, Steve Jobs, anunciou seus planos de tornar o Mac a “melhor plataforma Java do planeta”. A concretização desses planos parecia se confirmar nas duas últimas edições do JavaOne, evento que é um termômetro para a adoção de qualquer padrão ou tecnologia na comunidade Java. Percebia-se a utilização maciça de máquinas Apple pelos desenvolvedores, tanto congressistas como grandes nomes da tecnologia, por exemplo Ken Arnold, James Gosling, Simon Phipps e dezenas de outras personalidades.

Mas o que leva os especialistas em Java a escolher essa plataforma? É o que tentaremos mostrar neste artigo. Vamos apresentar a arquitetura do Mac OS X, focando no suporte a Java e em IDEs disponíveis, bem como as ferramentas e facilidades que a Apple criou para o desenvolvedor Java.

Origens

As versões 8 e 9 do Mac OS já incluíam o MRJ (Macintosh Runtime for Java). Nesta implementação, compatível com a especificação do JDK 1.1.8, vinha um SDK, um depurador e um Applet Runner (para testes de applets). Embora tenha sido um bom começo, a Apple não pretende lançar novos releases do MRJ compatíveis com o Java 2 (JDK 1.2 em diante) para o System 9. A recomendação é que os desenvolvedores migrem para o Mac OS X. É realmente a partir desta versão que o suporte a Java começa a brilhar nas máquinas Apple.

O ambiente

O Mac OS X combina a beleza e a funcionalidade das interfaces gráficas desenvolvidas pela Apple com o poder, a estabilidade e a confiabilidade do Unix. A base de todo o sistema é o projeto open source da Apple chamado Darwin, que é um kernel híbrido, uma combinação do microkernel Mach 3.0 com os serviços de sistema do FreeBSD 4.4 (e algumas atualizações do FreeBSD 5).

O Mach é desenvolvido na Universidade de Carnegie-Mellon (um dos maiores centros de tecnologia do mundo). Faz o gerenciamento de memória e de CPU, fornecendo mecanismos de proteção de memória, memória virtual, multitarefa preemptivo, multiprocessamento simétrico (SMP) e suporte a real-time, além de endereçamento de 64 bits (para memória física superior a 4 Gb). Já o FreeBSD fornece o gerenciamento de processos, políticas básicas de segurança, suporte a multithreading, thread signaling, sistema de I/O, APIs de portabilidade Unix/Linux e semáforos, entre outros serviços.

A interface gráfica Aqua possui duas características básicas: os botões “gel-like”, que controlam as operações comuns com janelas, e o Dock, um repositório para os programas e arquivos mais utilizados (veja a Figura 1). Uma funcionalidade interessante é o Exposé, que permite visualizar as janelas abertas como miniaturas apenas pressionando F9 (Figura 2).

Cidadão de primeira classe

...

Quer ler esse conteúdo completo? Tenha acesso completo