Tecnologia

19 fev, 2009

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

Publicidade

Este é o primeiro artigo da série, iremos aprender alguns conceitos iniciais e escrevermos a nossa primeira aplicação em objective-c. Vamos ao post…

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)

Configurando ambiente de desenvolvimento

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 conseqüentemente 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 traz a velocidade e simplicidade de codificação; do Smalltalk, entre tantas 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 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, às 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 seqüê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 criada

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 e ele vai entrar em modo de inserção; digite o programa a seguir:

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

Para salvarmos o nosso programa no VIM, teclamos seguido de “:” e irá aparecer um espaço e você digita “wq” que ele vai sair gravando, conforme a tela abaixo.

Com isto voltamos à 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 parecidos, 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ária porque usamos a função printf logo abaixo que faz parte desta biblioteca. Para os programadores C Ansi, normalmente é usado o #include ao invés de #import.

Linha 02

Início da função main, ela é responsável pelo ponto de partida de um sistema em C. O parâmetro 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 parâmetros 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, que imprime mensagens em um dispositivo de saída, no nosso caso a console. Ela tem várias formas de ser chamada e, neste primeiro exemplo, usamos a função como um parâmetro 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 parênteses 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 executável 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.