Como fazer aplicativos com Swift 5 no Mac

Swift é uma linguagem de programação usada para escrever aplicativos e jogos para iPhone, iPad, Mac, Apple Watch e muito mais. A Apple desenvolveu o Swift explicitamente para obter o desempenho mais rápido e eficiente dos dispositivos, e o Swift 5 ampliou seu impressionante conjunto de recursos.

Neste artigo, mostramos como usar o Swift 5, explicamos por que você deve fazer isso se tiver conhecimento de programação e todos os novos recursos desta nova versão do idioma.

Si eres un tanto A princípio, te animamos a consultar o artigo sobre como aprender Swift 5. Échale un vistazo también a el mejor Mac para desenvolver aplicativos.

Descrição geral do Swift 5

Swift 5 é uma linguagem de programação desenvolvida pela Apple que permite aos desenvolvedores criar aplicativos para iOS, macOS, tvOS e watchOS.

A quinta versão foi lançada junto com o Xcode 10.2 em março de 2019. Aqui vamos falar sobre as novas funções do Swift 5, mas você deve saber que a linguagem Swift chegou há um tempo no mercado: Swift 1.0 foi lançado em setembro de 2014. Segundo Apple, Swift é 2,6 vezes mais rápido que Objective C e 8,4 vezes mais rápido que Python.

Por que você deveria desenvolver com Swift 5?

1) Swift é um código aberto. Isso significa que o código fonte que está por trás de um programa ou idioma de programação está disponível para o público em geral. Os desenvolvedores podem inspecionar, modificar e desativar o programa onde você deseja.

A página de Código aberto de maçã menciona: “Apple acredita que o uso da metodologia de código aberto faz com que o macOS seja um sistema operacional mais robusto e seguro, pois seus componentes centrais foram submetidos a estritos controles de revisão durante décadas”.

2) Swift é fácil de aprender. A Apple desenvolveu seu idioma para que seja fácil de usar. Para empezar, é uma linguagem ideal para iniciantes, já que a sintaxe é fácil de entender. Se você tiver desenvolvido software com anterioridade, descobrirá que a sintaxe e os conceitos de Swift parecem muito com o que você usa.

3) Swift é rápido. A Apple afirma que os algoritmos de busca em Swift se completam até 2,6 vezes mais rápido que Objective-C e até 8,4 vezes mais rápido que Python.

4) Swift é seguro. Comprovará que utiliza comandos modernos de programação que permitem manter um nível de segurança extra, o necessário para o desenvolvimento de novos aplicativos.

5) Parques infantis. O Xcode vem com uma função chamada 'playground' onde os programadores do Swift 5 podem escrever o código e ver os resultados imediatamente.

6) Swift 5 está preparado para el futuro al permitir desarrollar aplicaciones para diferentes plataformas: iOS, macOS, watchOS y tvOS.

7) Swift melhora com cada atualização. Swift 5 trajo a tão esperada estabilidade ABI, o que significa que os futuros compiladores de Swift poderão compilar o código escrito em Swift 5 e versões posteriores, e a migração para novas versões de Swift será menos costosa.

Isso também significa que os provedores de sistemas operacionais poderão integrar a biblioteca padrão Swift no sistema operacional para torná-lo compatível com todas as aplicações criadas com Swift 5 e as versões mais nuevas.

Como começar com Swift 5

Para começar a desenvolver aplicativos para iOS, basta apenas um Mac (MacBook, iMac ou Mac mini) e um Programas chamada gratuita Xcode (versão 10.2 ou superior). Siga os passos que te indicamos a continuação:

  1. Abra a Mac App Store em sua área de trabalho.
  2. Busca ‘Xcode’ na barra de busca.
  3. Clique em 'Obtener' junto ao ícone do Xcode.
  4. Você também pode encontrar o Xcode na Mac App Store do seu navegador.

Compiladores on-line

Se você não tiver pensado em implementar seus aplicativos, sempre poderá usar um dos compiladores de Swift disponíveis na rede. É uma maneira de aprender e executar o código Swift.

  • Swift Playground online é compatível com Swift 5 e permite testar e executar código.
  • Repl.it tem um compilador online que suporta Swift 4.2 no momento de redigir este artigo (julho de 2019).

Como escrever um aplicativo sem sentido em Swift

Abra Xcode e selecione ‘Arquivo> Novo> Projeto’. Selecione a aplicação de vista única da lista de plantas.

Introduza um nome para o seu aplicativo ou projeto, assim como o nome da organização (pode ser o nome da sua empresa). O identificador da organização mais adequado é o URL da sua empresa na ordem inversa, por exemplo, com.mycompany.myapp .

Selecione Swift como idioma e clique em ‘Seguinte’. Por fim, selecione a localização no seu Mac onde deseja que o Xcode crie o projeto.

Uma vez criado o projeto, o sistema te mostrará a seguinte tela:

Aqui, você pode desenvolver um aplicativo simples, onde o usuário pode introduzir seu nome em um campo de texto e receber uma saudação simples ao pressionar um botão.

Para começar, você deve dirigir o arquivo Main.storyboard no painel izquierdo. Verás aparecerá uma vista vazia. Clique no botão redondo situado na esquina superior direita para abrir a biblioteca de objetos. Arraste um campo de texto, etiqueta e no botão à vista.

Selecione o botão na jarra de vistas e estabeleça o título em 'Gerar saudação' dentro da área de utilidades exibida no lado direito.

Clique duas vezes no arquivo ViewController.swift. Se abrirá uma ventana separada.

Agora selecione o campo de texto na vista e mantenha pressionada a tecla 'Ctrl' para poder arrastar até a parte superior do ViewController. Se você pedirá que crie um IBOutlet para o campo de texto. Chama-se ‘textField’.

Faça o mesmo com a etiqueta e nome como IBOutlet. Você também terá que fazer o mesmo com o botão, mas no lugar de arrastar para a parte superior do ViewController, arraste para a parte inferior para criar um método IBAction. Nomeie o método ‘buttonTapped’.

Os IBOutlets são utilizados para acessar os controles no guia gráfico de nosso código e os métodos de IBAction são utilizados para reacionar ante eventos de botones como pode ser las pulsações.

Adicione o seguinte código no método buttonTapped de sua classe ViewController :

si se deja name = textField.text { 

self.label.text = “Olá” + nome 

}

Assim é como deveria rever o arquivo ViewController.swift após estas mudanças introduzidas:

Você está listado para executar o aplicativo. Pressione o botão 'Executar' e o aplicativo será iniciado no simulador.

Quando o usuário adicionar seu nome no campo de texto e tocar no botão, a etiqueta na parte inferior mostrará ‘Hola’ junto com o nome inserido.

Conceitos Swift 5 (Básico e Avançado)

Usa ‘let’ para fazer uma constante e ‘var’ para definir uma variável. El valor de una constante no se puede cambiar una vez designado; O valor de uma variável pode mudar. Los usuarios no siempre tienen que escribir explicitamente. Fornecer um valor quando cria uma constante ou variável permite que o compilador interaja:

vamos constVar = 42 

var numeroVar = 27

O desenvolvedor também pode especificar o tipo. No próximo exemplo, estamos declarando um entero.

var númeroVar: Int = 27

Comentários em Swift

Os comentários no Swift podem ser de dois tipos.

Linha sola:

// Este é um comentário

Comentários de linhas múltiplas:

/ * Este é um 

comentário multilínea * /

Tomada de decisões em Swift

A sintaxe de uma frase se em Swift está a seguir:

si expressão_booleana { 

/ * sentenças serão executadas se a expressão booleana for verdadeira * / 

}

Por exemplo:

A sintaxe de uma frase se... senão em Swift 5 é o seguinte:

si expressão_booleana { 

/ * sentenças serão executadas se a expressão booleana for verdadeira * / 

} de lo contrario { 

/ * sentenças serão executadas se a expressão booleana for falsa * / 

}

Por exemplo:

A sintaxe de uma frase se... senão se... senão em Swift 5 é o seguinte:

se expressão_booleana_1 { 

/ * Se executado quando a expressão booleana 1 é verdadeira * / 

} senão se expressão_booleana_2 { 

/ * Se executado quando a expressão boolean 2 é verdadeira * / 

} else si boolean_expression_3 { 

/ * Se executado quando a expressão booleana 3 é verdadeira * / 

} outro { 

/ * Se ejecuta cuando ninguna de las condiciones anteriores es verdadera * / 

}

Por exemplo:

Alterar a declaração

A continuação apresenta uma sintaxe genérica da instrução Switch disponível no Swift 5. Aqui, se você usar a função de passo, continue com a execução do próximo caso e, em seguida, saia da instrução Switch.

Cambiar expressão { 

caso expressão1:

sentença(s) 

fallthrough / * opcional * / 

caso expressão2, expressão3:

sentença(s) 

fallthrough / * opcional * / 

predeterminado: / * Opcional * / 

declaração(ões);

}

Por exemplo:

Matrizes

Crie matrizes e dicionários usando corchetes, es decir, [y], e acesse seus elementos escrevendo o índice ou a clave entre corchetes. La siguiente línea crea una matriz.

var arrayList = [“Swift”, “JavaScript”, “Java”, “PHP”]

Para acessar e modificar o segundo elemento de uma matriz, podemos escrever diretamente:

arrayList [2] = “Reagir nativo”

Para criar uma matriz vazia, use a sintaxe do inicializador.

var VazioArray = [String] () 

VazioArray = []

Los diccionarios

ocupaciones var = [“Steve”: “Desarrollador”, “Kate”: “Diseñador”,]

Para acessar e modificar qualquer valor para um dicionário, podemos escrevê-lo diretamente:

ocupações [“Steve”] = “CTO”

Para criar um dicionário vazio, use a sintaxe do inicializador.

ocupações = [:]

conjuntos

Os conjuntos em Swift são semelhantes aos arreglos, mas o solo contém valores únicos.

var a: Conjunto = [1,2,3,4,5,6,7,8,9,0]

O Swift também apresenta o tipo Optionals, que gerencia a ausência de um valor. Os opcionais dizem que “hay un valor y es igual a x” ou “no hay un valor en absoluto”. Você pode definir um opcional com '?' ou '!'

var minhaString: String?

'?' Significa que o valor pode estar presente ou ausente.

'!' significa que o valor pode ser nulo inicialmente, mas no futuro, quando se usar, deve ter um valor, ou gerará um erro de tempo de execução.

Nenhum sinal significa que a variável não é opcional e deve ser atribuída a um valor ou gerará um erro de compilação.

Funções

A continuação mostra a sintaxe para criar uma função no Swift: el inputNum é o nome do parâmetro seguido do DataType, ‘createStr’ é o nome da função. ‘-> Cadena’ indica o tipo de retorno. A função toma Integer como entrada e o converte em String e o retorna.

func createStr (Number inputNum: Int) -> String 

return ”(inputNum)” 

}

A função pode ser chamada usando a seguinte sintaxe:

createStr (Número: 345)

aulas

A continuação mostra a sintaxe para criar um Class Car. Tem um número variável opcional numOfPersons e uma função displayDetails ()

carro de classe 

var numOfPersons: Int?

função displayDetails () { 

}

A instância da classe pode ser criada usando a seguinte linha:

var meuCarro: Carro = Carro ()

A variável 'numOfPersons' pode ser inicializada da seguinte maneira:

meuCarro.numOfPessoas = 5

Extensões

Em Swift podemos ampliar a funcionalidade de uma classe, estrutura ou tipo de numeração existente com a ajuda de extensões. A funcionalidade pode ser aprimorada com extensões, mas desta maneira não é possível anular a funcionalidade.

No próximo exemplo, temos uma classe de carro e estamos adicionando uma extensão ao carro para adicionar outra propriedade. Ao acessar a propriedade 'velocidade', você pode acessar diretamente como se pertence à classe.

Tuplas

O tipo Tupla é usado para agrupar vários valores em um único valor composto. Aqui está a sintaxe de uma declaração Tuple:

var TupleName = (Value1, value2,… qualquer número de valores)

Aqui está a declaração de Tuple:

var error501 = (501, “Não implementado”)

Novos recursos no Swift 5

Swift 5 nos trae cadenas em bruto, um recurso que facilita a criação de cadenas que contém comillas y barras invertidas sem necessidade de usar sequências de escape como nas versões anteriores de Rápido.

Nas cadeias brutas, as comillas e barras invertidas são interpretadas literalmente como esses símbolos em vez de serem interpretadas como caracteres de finalização de cadeia ou de fuga.

Para usar cadenas, apenas tienes que añadir # al principio y al final de la cadena:

Debido a que la barra invertida en las cadenas en bruto se interprete como um símbolo, para utilizar la interpolación de cadenas en las cadenas en bruto hay que añadir otro # después del símbolo de la barra invertida:

Se você precisar usar a sequência “# # juntos dentro de uma cadeia cruzada, debes adicionar ## ao início e ao final da cadeia, como se mostra na imagem a seguir.

Busca de múltiplos enteros

Em Swift 4.2 e versões anteriores, para saber se um número era múltiplo de outro, era necessário usar a operadora (%). Agora no Swift 5, há um método dedicado para isso, que faz com que o código seja muito mais claro:

Manejo de futuros casos de enumeração

As instruções de mudança em Swift devem ser sempre exaustivas. Isso significa que sempre tem que gerenciar todos os casos de enumeração ou gerenciar apenas casos específicos com o añadido do caso por defeito que maneja os demais casos:

O problema com esta abordagem é que se no futuro o desenvolvedor decidir adicionar outro caso à lista, não haverá nenhum aviso por parte do compilador de que o novo caso foi adicionado. Isso significa que o novo caso será tratado como caso de defeito, o que não é sempre desejável.

Para solucionar este problema, agregue um novo atributo @desconocido em Swift 5. Este atributo é usado junto com o caso de defeito.

Com o caso @desconocido por defeito na troca de sentença, o compilador emitirá uma advertência se concordar com um novo caso al enumerar no futuro. Desta forma, o desenhista pode decidir se manejar o novo caso ou não.

Opcionales de anidados

As opções de anidados permitem que sejam criados manejando o código que lança usando try? No Swift 5, o anidado opcional se converte em um opcional regular. Isso coincide com o comportamento do condicional e o encadeamento opcional.

No exemplo anterior, você pode ver que o modelo da variável é do tipo String? você não tem string?? como no Swift 4.2.

Tipo de resultado na Biblioteca Padrão

No Swift 5, o tipo 'Resultado' foi adicionado à Biblioteca Padrão. O tipo ‘Resultado’ oferece uma forma limpa e sinaliza os erros no código assíncrono. Implementa como uma lista de casos de sucesso e fracasso.

Ambos os casos são implementados usando genéricos. O caso de sucesso pode ter um valor associado de qualquer tipo, enquanto o caso de falha deve ter um valor associado que se ajusta ao protocolo de erro. Aqui está um exemplo que demonstra o uso do tipo Resultado:

No exemplo anterior, implementamos um ApiClient simples que obtém nomes de uma URL. Observe que o segundo parâmetro da função fetchNames é uma data de finalização que aceita um tipo de 'Resultado'. O tipo ‘Resultado’ em nosso exemplo utiliza [String] para o caso de sucesso e ApiError para o caso de falha.

Agora, podemos usar o código de chegada desta maneira:

Os melhores lugares para aprender programação com Swift 5

Você precisa aprender a linguagem de desenvolvimento Swift 5 da Apple? Te ajudamos com uma série de conselhos e recursos da rede, e incluímos cursos completos gratuitos e pagos.

Aprenda a escrever aplicativos para iPhone, iPad, Apple Watch e Mac com as novidades do Swift 5. Consulte neste artigo os lugares e recursos mais interessantes para aprender programação com Swift 5.

  • Apr 17, 2023
  • 85
  • 0