segunda-feira, 20 de outubro de 2008

Série Objective-c 01 - Conceitos iniciais e primeira aplicação compilada via console de texto

Este é o primeiro artigo da série, iremos aprender alguns conceitos iniciais e escrevermos a nossa primeira aplicação em objective-c, leia o restante do artigo.





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 ( Existem outras maneiras para instalar as ferramentas, tem um artigo aqui no blog falando sobre uma das maneiras )

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 primeiro artigo 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 caracteristicas 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 artigos 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 é 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, mas o Mac Os é da família que segue o padrãoPosix.







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.



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 <>


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 acionamos a teca ESC  seguido de : irá aparecer um espaço e 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.






03 - Comentando a primeira aplicação objective-c

Para os programadores em C, o código mostrado tem grande semelhança a linguagem C ansi, lembram que falei que o objective-c herda alguma coisas do C? Este primeiro exemplo mostrou isto, nos próximos apesar de sintaticamente parecido irão notar que o desenvolvimento é diferente porque o objective-c segue o paradigma de orientação a objetos e o C ansi uma linguagem procedural.

01   #import
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.

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, por ora é isto, 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
-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.


Observação: Os usuários de Linux e windows poderão acompanhar esta série e
testarem os programas usando o gcc no linux e o mingw no windows.
Quando usarmos a Cocoa mais adiante, pelo que estudei até o momento ela

não tem port ainda para estes SO. 


Bem amigos, este exemplo foi muito simples, uma introdução simples dos conceitos iniciais de objective-c.

No próximo artigo da série, vamos compilar e executar o mesmo programa, porém usando o Xcode a IDE oficial do MacOS.

Abraços,

E me mandem um e-mail ou postem comentários.



7 comentários:

  1. Cara.. estou atras disso a um tempão... meu Mac Vai chegar agora no Natal e eu estou louco pra começar a programar pra plataforma OS X do Iphone =D
    Parabens pelo blog
    abraçoo

    ResponderExcluir
  2. Parabéns amigo.

    Seu blog foi o único que encontrei em português que trata diretamente da programação for MAC/iPhone.

    Sou programador a 5 anos e adquiri recentemente um macbook. Como pode imaginar estou louco para iniciar minha aventuras em objective c / cocoa. E seu blog vai me ajudar muito nisso.

    Na media que eu tiver conhecimento para compartilhar com vc, o farei com maior prazer.

    Parabens pela iniciativa!

    ResponderExcluir
  3. @Lucas e @Mendes: Obrigado pela gentileza dos comentários, espero que as informações aqui disponibilizadas sejam úteis para vocês.

    ResponderExcluir
  4. Meus parabéns pelo seu Blog!!!

    Acredito que ele irá me ajudar e muito neste longo caminho..

    Desejo toda sorte do mundo pra você! E continue assim, bem explicativo e indicativo, seu trabalho está ótimo!

    ResponderExcluir
  5. Muito bom amigo, obrigado por disponibilizar seus conhecimentos, tenha certeza de que vai ajudar muitas pessoas que como eu estão iniciando na programação para MAC

    ResponderExcluir
  6. cara, muito bom! parabéns.
    comprei um macbook e estou começando a trabalhar com esta programação portanto a informação, pra mim, é novidade total.

    Tive um problema na linha do #import <> mas consegui resolver observando a imagem. Faltou colocar o stdio.h no exemplo digitado. É isso mesmo ou fiz alguma bobagem? abraço.

    ResponderExcluir