Neste artigo, irei falar sobre algumas linguagens e ferramentas para desenvolvimento com Mac OS.
A plataforma Mac vem crescendo bastante, depois que os computadores da empresa de Cupertino, começaram a vir com processadores da INTEL, muitos usuários e desenvolvedores do mundo Linux e principalmente windows descobriram o Mac como uma plataforma computacional. As desculpas antigas tais como: Mac não roda Windows, os computadores da Apple são apenas para artistas gráficos, são computadores caros e tantos outros mitos que foram criado em torno desta plataforma cairam por terra. Hoje esta plataforma pode ser usada por uma grande variedade de usuários de todos os níveis e com certeza usar o Mac é uma experiência maravilhosa, falo isto com conhecimento de causa, há 15 anos usando plataformas da Microsoft e sistemas operacionais padrão posix como o Linux.
Mas o objetivo desde artigo é falar sobre desenvolvimento para a plataforma Apple, quando falo isto levem em conta o famoso IPHONE, IPOD TOUCH e os computadores Mac.
Existem várias tecnologias para desenvolvimento na plataformas da Apple, abaixo cito algumas:
JAVA: Como linguagem multiplataforma desde o seu inicio esta tecnologia também esta presente na plataforma Apple, em relação aos dispositivos móveis como Iphone e o Ipod, não existe a possibilidade de se programar com Java ainda, ou seja o J2Me ainda não roda nestes dispositivos, mas em relação aos computadores, podem ser feitas aplicações de desktop.
PYTHON: A famosa linguagem está disponível no sistema da maçã, sendo um descendente legitimo da nobre família posix, o Mac Os traz esta linguagem instalada como padrão e os programadores python, precisam apenas carregar o interpretador e mãos a obra. Para aplicativos gráficos eles podem usar o PYObjc que permite acessar a Cocoa ( Que nome né!! ) a biblioteca que acessa as API gráficas do Mac ) ou seja aplicativos podem ser feitos com Python usando a interface gráfica nativa da Apple.
QT: A Qt é uma biblioteca gráfica consagrada, muitos softwares famosos, foram feitos com ela, só para citar alguns: Skype, KDE no Linux e outros.
Sendo uma biblioteca multiplataforma e com o detalhe interessante que roda nativamente, ou seja as aplicações são compiladas para o sistema que ela vai rodar, ela tem um port para o Mac Os, nos meus estudos instalei e funcionou perfeito, nos próximos artigos falarei mais sobre a QT. Como a maioria já sabe, para usar a QT no Mac é pré-requisito conhecer C++.
Para os programadores que já trabalham com esta tecnologia é uma ótima opção.
Objective-C: O Objective é a linguagem oficial para desenvolvimento na plataforma Apple, é uma linguagem orientada a objetos, é um subconjunto da linguagem C e herda características da SmallTalk. Nos meus primeiros contatos, me adaptei muito bem a linguagem, quem vem do Java e do C++ os conhecimentos de orientação a objeto fazem uma diferença enorme. A curva de aprendizado é um pouco maior, mas com certeza vai valer a pena o esforço, pois abre a perspectiva de desenvolvimento para Iphone e Ipod Touch com o framework Cocoa. O material em português é escasso, mas quem não tem problema com a "língua da rainha" vai encontrar muita documentação na internet.
COCOA: Cocoa não é linguagem, é um framework para desenvolver aplicações para o mundo Apple, pode ser usado com várias linguagens: Python, Ruby e outras.
Junto com o objective-c forma a dupla oficial da Apple para o desenvolvimento de aplicações desktops e móveis, realmente quem estiver interessado em desenvolver não só apenas para desktops Mac, mas também para Iphone e Ipod esta é a fronteira a ser ultrapassada, mas com certeza valerá o esforço.
XCode: O Xcode é a IDE de desenvolvimento oficial da Apple, é muito interessante e simples de utilizar, vem nos discos do Mac OS e pode ser instalada também via Web.
Interface Builder: Desenha as interfaces gráficas que serão utilizados nos programas, é integrado ao Xcode e depois que se aprende os segredos das conexões entre os objetos da interface e as classes dos programas, fica muito legal de se usar.
Bem, existem outras ferramentas, mas o objetivo era dar uma idéia geral de algumas tecnologias que podem ser usadas.