Protótipo de aplicação iOS usando Swift

A linguagem Swift e a nova versão do XCode fornecem diversas funcionalidades, algumas novas e outras atualizadas, que facilitam a criação de um protótipo. Veremos aqui como criar uma aplicação simples com poucos arrastas e solta, classes, variáveis membro e chamadas de métodos, propriedades e funções.

Primeiro abrimos o Xcode e criamos um novo projeto do tipo “Single View App”.

Screenshot 2014-11-30 17.16.19

Ao escolhermos nosso “Main.storyboard” vemos todos os controllers que compõem a navegação entre telas de nosso projeto: nesse instante temos um único view controller:

Screenshot 2014-11-30 17.17.44

Arrastamos então dois labels, dois textos e um botão. Mudamos o nome dos labels e do botão com um duplo-clique para ficar como a seguir:

Screenshot 2014-11-30 17.18.41

Ao clicarmos no botão Play, vemos a aplicação rodando em nosso iPhone simulado. Perfeito!

Screenshot 2014-11-30 17.19.11

O próximo passo é escolher o assistente de código, que permite visualizar o código atrelado ao componente visual selecionado nesse instante (nosso View Controller), e vemos nossa classe que está conectada a ele:

Screenshot 2014-11-30 17.23.06

Adicionamos no nosso código duas conexões do tipo UITextField para ler os dados dos dois campos que criamos. Anotamos elas com IBOutlet, sem esquecer de marcar nossos campos como opcionais, uma vez que não setaremos o valor deles programaticamente na inicialização de nosso objeto! A conexão entre os dois será feita em tempo de execução, mas para isso precisamos dizer ao nosso Xcode que desejamos tal conexão.

Note que um círculo vazio surge, que puxamos e soltamos em cima de nosso campo, para conectar a variável ao campo.

Screenshot 2014-11-30 17.23.57

Criamos também uma função chamada adicionar, anotamos com IBAction e conectamos com nosso botão. Agora é só ler os dados de nossos campos, como opcionais, e imprimir:

Screenshot 2014-11-30 17.25.40

Claro, podemos validar os campos antes de acessar valores opcionais, que podem ser nulos. Assim evitamos uma crash da aplicação caso o mesmo seja nulo:


@IBAction func add() {
if nome==nil || email==nil {
return
}

println("os dados lidos foram: ")
println(nome!.text)
println(email!.text)
}

Podemos melhorar o código e usar interpolação de strings:


@IBAction func add() {
if nome==nil || email==nil {
return
}

println("os dados lidos foram: \(nome!.text) \(email!.text)")
}

Pronto, rodamos novamente nossa aplicação e podemos digitar os valores e enviar os dados, vemos o resultado em nosso log:

Screenshot 2014-11-30 17.27.39

Por mais que seja muito simples criar uma aplicação inicial usando o Xcode com Swift, é importantíssimo que foquemos nosso aprendizado também em boas práticas de linguagem e de programação, entender somente superficialmente o que acontece nos tora meros usuários da linguagem. Entender o que acontece por trás, como e por que a linguagem e a API funcionam de determinada maneira, é o próximo passo, o que define um programador profissional.

Conheça nosso livro sobre Swift assim como os cursos online no Alura!

6 Comentários

  1. Vanderson assis 14/01/2015 at 08:49 #

    Ótimo post Guilherme!
    Esse essa linguagem veio para desbancar o object c?

  2. Guilherme Silveira 14/01/2015 at 09:30 #

    Olá Vanderson, a sensação que alguns devs tem é que o Swift veio pra facilitar o desenvolvimento pela grande quantidade de devs. Mas que Objective C continuaria como linguagem base. Temos que esperar para ver como será a adoção dela!

  3. Yelken Gonzales 22/01/2015 at 10:45 #

    Parabéns pelo post Guilherme.

    Na tua visão, achas interessante se dedicar a estudar o Objective-C ainda ou já é possível construir um APP todo em Swift ?

    Abraço.

  4. Felipe Romani 05/03/2015 at 20:10 #

    Guilherme ótimo post, estou cursando no Alura o curso de Swift, estou curtindo muito a linguagem. No seu ponto de vista, você acha que o swift veio para matar o objective-c? e quais as perspectivas para a linguagem no mercado?

    Abraços

  5. Carlos Andrade 13/03/2015 at 16:09 #

    Oi, Guilherme! Estou apanhando para implementar uma conexão com alguns serviços em PHP para carregar um BD no IOS. To usando Swift (ou pelo menos tentando…) e não estou conseguindo avançar. Você tem alguma dica pra mim? Para piorar eu tento fazer isso em background, mas não sei se o dispath_async() ta indo com a minha cara…

  6. Guilherme Silveira 18/03/2015 at 09:35 #

    @Carlos Acho que depende do caso mesmo. Com certeza o dispatch_async vai ser importante aqui mas depende do que está acontecendo mesmo, já tentou abrir uma duvida no guj?

    @yelken, @felipe tudo indica que as duas linguagens tem nesse instante papéis distintos para a Apple. uma ainda é usada internamente para manter a API base da plataforma, a outra para abrir a porta para novos devs (Swift). Pode ser que com o passar do tempo eles migrem parte da API interna – eu apostaria nessa mudança somente a longo longo prazo, não parece ser lucrativo migrar toda a plataforma interna deles do nada.

Deixe uma resposta