A apple abriu o código-fonte de sua nova linguagem de programação, Swift. Venho trabalhando há alguns meses no ambiente Mac OS estudando e desenvolvendo para iOS com esta linguagem. Quero compartilhar um pouco do que já aprendi com ela. Pretendo criar uma sequência de posts falando sobre Swift.
Qual é o público deste post?
Este é meu primeiro post falando sobre Swift, espero que o primeiro de muitos. O conteúdo do mesmo é extremamente básico, é para quem tem curiosidade em conhecer a linguagem e não se faz necessário conhecimento prévio de outra linguagem de programação.
Bem, normalmente o público deste site/blog é bem fiel então nem preciso reforçar que vou direto para a parte prática não é mesmo?! Caso queira saber mais sobre a história de linguagem, sua motivação e tudo mais, sugiro buscar em outras fontes pois aqui pretendo apenas mostrar a linguagem na prática com algumas poucas contextualizações.
Se você não tem um Mac, não se preocupe, acesse http://swift.org e leia as instruções para instalar no seu Linux. Isso mesmo, é possível desenvolver em Swift no Linux! Em futuros posts eu mostrarei como utilizar no Linux (se eu conseguir, claro).
Com vocês, Swift!
O primeiro passo é você criar um playground no Xcode, caso ainda não tenha o Xcode, instale-o para seguir os exemplos.
Selecione “Get started with a playground”
Defina um nome e o tipo de projeto desejado. Para este exemplo usarei o iOS.
Feito isto basta salvar em algum local, pode ser até mesmo em seu Desktop (Mesa).
O playground do Xcode é uma área onde o desenvolvedor pode testar elementos, realizar tratamentos de respostas de APIs, tratar uma coleção de registros e muito mais. Sempre que precisar criar algo que não tenha certeza do funcionamento, o playground é uma excelente saída. Acredita que somente ao escrever este post eu me dei conta desta ferramenta… quantos e quantos testes eu fiz rodando a aplicação no emulador… Enfim, o playground fornece um editor de código Swift e ao lado direito um live preview. Isso mesmo, tudo o que você faz no editor, automaticamente é exibido no lado direito, não é o máximo?!
Perfeito, até aqui você conheceu o playground do Xcode, sua aplicação e funcionalidades, vamos agora conhecer um pouco mais da linguagem Swift. Neste post falarei sobre:
- Variáveis
- Constantes
- Tipagem
- Opcionais
Antes disso, apenas para seu conhecimento, o ponto e vírgula ( ; ) é opcional no swift, por padrão da documentação eu sempre uso sem, fica a seu critério.
Variáveis
No swift, uma variável é definida pela palavra reservada var. Assim como em linguagens como Java, PHP e outras, atribui-se um valor à mesma com a definição do lado direito do sinal de igual, conforme o exemplo abaixo.
var minhaVariavel = "Uma string qualquer"
Não estando no playground, o Xcode é bem chato com relação ao uso de variáveis e constantes (que serão vistas mais adiante) e neste caso em específico iria me retornar duas sugestões. A primeira sugestão seria eu transformar esta variável em uma constante, visto que seu conteúdo não é alterado. A segunda sugestão é que eu a renomeie para _ (underline). Parece estranho mas o Xcode sempre vai lhe sugerir nomear uma variável ou constante como _. Isto porque ainda não está sendo usada em nenhum outro ponto do seu código. Assim que a utilizarmos a primeira vez, pode ser até mesmo para imprimir, o Xcode não sugere mais renomeá-la.
Você também percebeu que eu não finalizei a linha com ponto e vírgula pois como mencionei, é opcional. Torna-se obrigatório somente se eu tenho duas instruções na mesma linha. Veja o exemplo abaixo.
var minhaVariavel = "Uma string"; var suaVariavel = "Outra string"
Para que algo seja impresso no console (mesmo no playground), basta utilizar a função print(), nativa do swift. Esta função imprime qualquer coisa (variáveis, constantes, dicionários de dados, coleções e objetos). Use-a sempre que precisar. Seguindo o exemplo já dado:
var minhaVariavel = "Uma string qualquer" print(minhaVariavel) // Saída: "Uma string qualquern"
Constantes
Semelhante às variáveis, as constantes também possuem uma palavra reservada para sua declaração, let. A atribuição de valores é da mesma forma que ocorre nas variáveis. Diferente de Java e PHP por exemplo, que a declaração de constantes possui uma regra (sempre em letras maiúsculas com underlines como separadores), em Swift não é cobrado um padrão, nomeia-se assim como as variáveis.
let pi = 3.1415
Mas diferente de linguagens tradicionais onde você define constantes somente para casos específicos, em Swift o próprio Xcode lhe pedirá para definir como constante sempre que não existir alteração. Em outras palavras, seu código ficará sempre com muitas constantes, mas não se assuste, é a estrutura da linguagem mesmo e com o tempo você se acostuma.
Tipagem
Em Swift a tipagem pode ocorrer de forma implícita, onde o valor da variável ou constante é quem define o seu tipo, e também de forma explícita, onde você informa no código qual é o tipo da variável ou constante. Para deixar a tipagem explícita, se faz necessário adicioná-la logo após o nome da variável/constante e deve sempre ser na seguinte estrutura: `: Tipo`, veja um exemplo.
var nome: String = "Andre Cardoso" let pi: Float = 3.1415
Assim como em muitas linguagens de programação, em swift é possível utilizar os tipos nativos da linguagem e também seus próprios tipos, veja o exemplo.
class Pessoa { var nome: String var telefone: String } var pessoa: Pessoa = Pessoa()
O que você viu no código acima, Pessoa() é a criação de um objeto do tipo Pessoa. Para instanciar um objeto não é necessário a palavra new.
Opcionais
A linguagem swift sempre cobrará a inicialização de uma variável no entanto em determinadas situações se faz necessário criar uma variável e simplesmente não inicializá-la pois a mesma será inicializada somente em tempo de execução. Para suprir esta necessidade, em swift tempos os opcionais, que são definidos com ? logo após do tipo da variável. Veja o exemplo.
var variavelInicializada: String = "valor inicial" var variavelNaoInicializada: String?
Desta forma eu digo ao swift que tudo bem, posso ou não inicializar esta variável, pode prosseguir.
Pois bem, ao definir uma variável/constante como opcional, sempre que formos imprimí-la, o resultado será mais ou menos desta forma:
Ok, mas e se eu precisar exibir o resultado em produção (num App real) ou mesmo gravar no banco de dados? Basta que se adicione um ponto de exclamação ao utilizar a variável.
Neste caso, se a variável não foi inicializada ela simplesmente terá valor nil (nulo).
Além de declarar uma variável como opcional (?) também é possível forçar a inicialização da mesma utilizando ponto de exclamação (!).
Desta forma eu digo ao swift que eu sei o que estou fazendo e que em determinado momento esta variável será inicializada, confia em mim!
No entanto caso você esqueça de inicializá-la… já viu né?! Use sempre com muita cautela.
Conclusão
Ao chegar até este ponto na leitura você conheceu um pouquinho sobre a nova linguagem de programação da Apple. Linguagem esta que vem amadurecendo de forma muito rápida, ainda mais com a abertura do código-fonte. Eu pelo menos, estou bastante empolgado nestes 4 meses que venho a utilizando como fonte de estudo e para fins lucrativos, sofri demais com as constantes atualizações, tive o trauma da migração da versão 1 para a 2, a achei estranha no começo mas hoje estou cada dia mais a adorando. Lhe convido a se dar uma chance de experimentar esta nova e promissora linguagem, seja no Mac OS ou mesmo instalando em seu Linux, um novo aprendizado pode além de lhe proporcionar uma melhora na capacidade de aprendizado por ver coisas novas, novas possibilidades de networking e mesmo de negócios visto que em breve teremos aplicações cada vez mais bem elaboradas com a linguagem rodando em ambientes Unix.
Nas últimas atualizações, não houveram quebras, apenas melhorias e creio que o futuro da linguagem será assim, Evolução, não mais REvolução. Vamos estudar juntos? Use e abuse dos comentários para dizer se já testou, o que achou da linguagem, se testaria, se não testaria e por que… Enfim, eu e meus leitores gostaríamos de saber sua opinião.
O post Hello, Swift apareceu primeiro em Andrebian.
Powered by WPeMatico