
Continuando a nossa série de posts sobre desenvolvimento para o mundo Apple, hoje iremos escrever a nossa primeira aplicação em objective-c, começaremos com um programa bem simples onde iremos estudar alguns conceitos importantes desta linguagem como o nosso objetivo é desenvolver aplicações para o iPhone, iPod e para Mac esta linguagem junto com o Cocoa será a fronteira a ser vencida, vamos iniciar…
Leitura recomendada:
Posts anteriores da série:
Desenvolvimento de sistemas para o mundo Apple
Configurando um ambiente de desenvolvimento para iPod, iPhone e Mac
Objetivos:
- Conhecer objective-c
- Compilar primeiro programa via console
Pré-requisitos:
- Mac OS instalado e conhecimento de alguma linguagem de programação.
- Ferramentas de desenvolvimento instaladas ( Veja acima em leitura recomendada, como preparar o ambiente. )
Observações:
Esta série de artigos tem o intuito de ensinar um pouco do que tenho aprendido em desenvolvimento para o mundo Apple, vale a pena dizer que sou novo em desenvolvimento nestas tecnologias e escrever estes posts no blog é uma maneira de compartilhar informações com as pessoas interessadas nestas tecnologias e eventualmente aprender também, então a regra é esta, eu ajudo vocês e consequentemente vocês me ajudam e assim poderemos construir uma base de conhecimento para outros que virão. Então não esperem a excelência, apenas entendam que é um esforço que estou fazendo e gostaria de dividir com outras pessoas.
Neste post vamos fazer o nosso primeiro programa para funcionar na plataforma Mac, será uma aplicação em modo texto e codificada em objective-c.
O objective-c é a linguagem oficial para desenvolvimento de aplicativos no mundo Apple, é uma linguagem híbrida com características da linguagem c e da smalltalk, do C, ela traz a velocidade, simplicidade de codificação e do Smalltalk entre tantos características traz a orientação a objetos como um diferencial ( Caso não conheça os conceitos de OOP ) recomendo que estude em paralelo. Nestes primeiros posts iremos estudar bastante o objective-c, o framework Cocoa, será uma segunda série, assim que tivermos os conhecimentos básicos do objective-c. Vale lembrar que com o Cocoa poderemos fazer aplicativos gráficos e aplicações para rodarem nos Mac, Iphone e Ipod ( Chegaremos lá ).
Existem duas maneiras para programarmos em objective-c podemos codificar nossa aplicação via console ( direto na linha de comando do Mac Os ) ou usando o XCode a IDE que é muito usada no desenvolvimento de aplicações o mundo Apple.
01 -Executando o terminal e acessando a console do sistema
No Windows as vezes usamos o executar e digitamos o comando cmd para termos acesso ao DOS ( Lembram dele ? ) os que vieram do Linux já estão acostumados com o termo console e já sabem do que estamos falando. Para ter acesso a console no Mac OS é necessário fazer o seguinte:
Acessa o menu no finder escolha a opção utilitários na janela que será aberta selecione terminal e a linha de comando irá aparecer. As figuras abaixo mostram a sequência a ser seguida. A linha de comandos é similar ao Linux, o Mac Os é da família que segue o padrão Posix.
02 – Escrevendo a primeira aplicação objective-c
Vamos aproveitar e criar uma pasta para as nossas aplicações. Para isto use o seguinte comando. No meu caso, aparece o nome do meu computador e a minha home ( pasta do usuário atual ).
# Criamos a pasta curso-objectiveC
macbook-de-pierre:~ pierre$ mkdir curso-objectiveC
# Entramos na pasta criado
macbook-de-pierre:~ pierre$ cd curso-objectiveC
# Chamamos o editor de textos para escrever o nosso primeiro programa ele se chamará start
macbook-de-pierre:curso-objectiveC pierre$vim start.m
Na linha de comando acabamos de chamar o editor de textos chamado Vim, muito conhecido dos usuários de Linux.
Observaçoes: Estamos em um País livre, você pode criar a sua pasta com o Finder e usar outro editor de textos da sua preferência.
Você agora esta no VI, aperte a letra I, ele vai entrar em modo de inserção e digite o programa a seguir: ( As linhas azuis )
#import <stdio.h>
int main (int argc, const char *argv[])
{
printf (”Primeiro programa em objective-c \n”);
return 0;
}
Abaixo a tela do programa codificado no editor VIM
Agora para salvarmos o nosso programa, no VIM pressionamos a tecla ESC quando surgirem os : ( dois pontos) você digita wq, ele vai sair gravando. Conforme a tela abaixo.
Com isto voltamos a linha de comandos do sistema.
# Compilando o programa, para isto execute o comando abaixo
macbook-de-pierre:curso-objectiveC pierre$gcc start.m -o start -lobjc
Com esta operação será gerado um arquivo com o nome start, que é o nosso programa compilado.
# Executando e logo abaixo o resultado.
.macbook-de-pierre:curso-objectiveC pierre$ ./start
Primeiro programa em objective-c
As telas a seguir mostram a sequência do que falamos.
01 #import <stdio.h>
02 int main (int argc, const char *argv[])
03 {
04 printf (”Primeiro programa em objective-c \n”);
05 return 0;
06 }
Linha 01
A directiva #import , carrega a biblioteca stdio que permite o uso de diversas funções do objective-c no exemplo sua inclusão foi necessário porque usamos a função printf logo abaixo que faz parte desta biblioteca. Para os programadores C Ansi, eles normalmente usam #include ao invés de #import. Um detalhe é que o import carrega o arquivo apenas uma vez.
Linha 02
Inicio da função main, ela é responsavel pelo ponto de partida de um sistema em C, o parametro int indica que ela deve retornar um inteiro ao final de sua execução, logo depois temos dois argumentos, o primeiro retorna o número de parametros passados via linha de comando e o segundo quais são eles, vamos ver mais detalhes ao longo da Série.
Linha 03
Estamos executando a função printf, que faz parte da biblioteca stdio.h importada logo acima, ela imprime mensagens em um dispositivo de saida no nosso caso a console. Ela tem várias formas de ser chamada, neste primeiro exemplo, usamos a função com um parametro uma string.
E finalizando, a função return, terminamos com return 0, o zero é para informar que o programa terminou e tudo correu bem. Retornamos um inteiro, porque na linha 2, foi feito um contrato que a função iria retornar um inteiro.
Os parenteses delimitam o bloco de código.
04 – Comentando os parâmetros para compilação
gcc start.m -o start -lobjc
gcc: Indica que quero usar o compilador gcc
start.m: é o arquivo com o programa que digitamos, os arquivos de programas em objective-c devem ter a extensão .m, nos próximos posts iremos falar mais sobre este assunto.
-o : vem de output, indica qual nome o arquivo executavel vai ter
start: escolhemos start para o nome do nosso arquivo, mas poderia ser outro
-lobjc: O -l vem de library (biblioteca) -lobjc indica que usaremos as bibliotecas
do objective-c para compilar o nosso programa.
Bem amigos, este exemplo foi muito simples, uma introdução simples dos conceitos iniciais de objective-c.
A seguir cenas dos próximos capítulos:
No próximo artigo da série, vamos compilar e executar o mesmo programa, porém usando o Xcode a IDE oficial do MacOS.
Postem nos comentários as suas dúvidas, dicas e criticas para que possamos melhorar os posts e aprendermos juntos este fascinante mundo do desenvolvimento de aplicativos no mundo Apple.
Abraço a todos
pra salvar eu digito o que ?
o texto de dizendo :
Agora para salvarmos o nosso programa, no VIM teclamos seguido de : irá aparecer um espaço e você digita wq, ele vai sair gravando. Conforme a tela abaixo.
não sei o que é pra apertar além dos dois pontos, to adorando as dicas!
Gilson,
Obrigado pelo comentário, é bom ter estes feedbacks que nos anima em saber que as informações estão sendo úteis para alguém.
Na verdade para você salvar o arquivo no Vim, você pressiona a tecla ESC e depois quando aparecer os : ( dois pontos) você digita wq ( Write e Quit )
Eu não coloquei de forma clara no post.
Vou corrigir, obrigado.
@Pierre, estou em viagem, mas assim que chegar vou seguir o tutorial. Fazia tempo que queria explorar a programação para Mac. Muito bacana esse tipo de artigo aqui no Blog, pois geralmente postamos apenas notícias.
@Whinston
Um dos motivos que comprei o MacBook era desenvolver para ambiente Mac e nesta fase inicial estou gostando bastante e acho que existe um grande potencial para esta plataforma.
Estes posts estou fazendo um resumo dos meus estudos, foi uma maneira que encontrei de ensinar e aprender também com os colegas interessados na tecnologia.
Tenha um boa viagem.
Abraços.
Programo C a quase um ano e faz alguns meses que queria me aventurar desenvolvendo softwares para o iPhone.
Tenho gostado muito desses tutoriais e espero que voce nao desanime hehehe
@Pedro,
Não vou desanimar não, conto com a ajuda de vocês para que possamos ter uma documentação pelo menos o básico, para quem pretende iniciar em desenvolvimento para Mac.
Para quem programa este tutorial é um mamão com açúcar em.hahah
@Professor Pierre, é vergonhoso, eu sei.. Deixei um comentário há quase 2 meses atrás dizendo que ia começar suas aulas e só hoje eu comecei. Espero que não me deixe de castigo no canto da sala com chapéu de burro
Módulo cumprido.
Encontrei este tutorial buscando sobre como programar em ambiente mac. Sou usuário apple desde 90, mas sempre como designer, sempre tive vontade de programar mas encontrei barreiras (língua/referências). Este seu tutorial é EXCELENTE! Explica didaticamente pra quem não entende nada de programação, descobri que meu mac (que não é intel) não consegue instalar o SDK, vou fazer uma força e comprar uma maquina nova justamente pra começar a programar.
Parabéns pela iniciativa, a partir de agora vou acompanhar seus posts.
Olá Pierre…
Sempre programei em PHP. Tenho algum conhecimento em C, Java, ActionScript, etc.
Estou tentando iniciar com algo simples, como uma agenda de nomes e telefones em Cocoa.
Baixei e instalei o MySQL e o PostgreSQL para usar como banco de dados.
Qual o banco que você recomenda?
Aliás… seria ótimo um tutorial sobre como fazer a inserção e o request dos dados do banco em Cocoa.
Foi o ponto em que tive maior dificuldade.
Agradeço desde já.
Muito obrigado
Olá Pierre! Parabéns pela iniciativa, senti falta de material em portugues sobre objective-c.
Espero que vc poste mais tutoriais a respeito do assunto!
Abraço!