SlideShare uma empresa Scribd logo
1 de 17
Dojo Swift
Aula 1
Introdução
Gustavo Barbosa
gustavob@ciandt.com
Nesta primeira aula, falaremos
sobre o que é essa nova
linguagem, quais os benefícios,
comparativos com o objective-c e
alguns novos recursos
● O que é o Swift?
● Por que usar?
● Quais os benefícios?
● Comparativo com o Objective-C
● Peculiaridades da linguagem
● Novos recursos
Nova linguagem da Apple para desenvolvimento em iOS, OS X e
watchOS.
A proposta é transformar o Swift na principal linguagem de
desenvolvimento da empresa, substituindo o Obj-C.
Todas as libs estão sendo (se já não foram) reescritas na
linguagem Swift.
Também utiliza o compilador LLVM.
O que é Swift?
Por que
usar?
Por que usar?
O Swift traz diversas novas possibilidades através da utilização
de suas APIs
Oportunidade de especialização
Linguagem pouco conhecida
Possibilidade de substituir totalmente o objective-c
Modernidade e código mais enxuto (proposta principal)
Capacidade do time
Possibilidade de crescimento técnico e ser referência nos
projetos da CI&T
Comparativo
com o
Objective-C
Comparativo com o Objective-C
● Variáveis não tipadas;
● Programação funcional;
● Métodos não são mais tão descritivos;
● Assusta na primeira impressão (mas lembre-se como foi seu
primeiro contato com o obj-c);
● Não existe mais alloc - init;
● Não utiliza ponteiros na sintaxe;
● Ausência de ponto e vírgula (;) e parênteses.
Peculiaridades da linguagem
● Extenso uso de var e let:
var - define uma variável qualquer
let - define uma variável de valor constante (não Mutable)
● Novas formas de gerenciamento de memória
Exemplo: lazy
Old way:
New way:
Peculiaridades da linguagem
● Junção de condicionais (if + switch / for + switch) - 2.0
● Existe uma necessidade de padronização do código (legado)
● Controle de versão mais inteligente:
● Enums mais descritivos (com possibilidade de serem strings,
case, etc)
● Constante mudança e alterações massivas nas versões 1.0,
1.1, 1.2 e 2.0
● Playground
● Error handling model
● Open Source
● Optionals (Syntax: ?)
● Melhoria do debug em objetos, variáveis e enums
● Possibilidade de interagir com o objective-c
Perguntas?
THANKS
FOR
BEING
HERE!
Referências
https://developer.apple.com/videos/wwdc/2015/
http://swifteducation.github.io/
http://www.raywenderlich.com/82599/swift-functional-
programming-tutorial
https://swiftnews.curated.co/
Para a próxima aula
● Encontrar exemplos de swift
● Se familiarizar com a linguagem
● Assistir pelo menos a esse vídeo do WWDC (abrir no Safari):
https://developer.apple.com/videos/wwdc/2015/?id=106

Mais conteúdo relacionado

Mais procurados

Critérios de avaliação de linguagens
Critérios de avaliação de linguagensCritérios de avaliação de linguagens
Critérios de avaliação de linguagensPaulo Muniz
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+cThiago Freitas
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem pythonBruno Maspoli
 
Linguagem C e Dev-C++ Algumas Explicações
Linguagem C e Dev-C++  Algumas ExplicaçõesLinguagem C e Dev-C++  Algumas Explicações
Linguagem C e Dev-C++ Algumas Explicaçõesnataferraz
 
Plp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliaçãoPlp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliaçãoJosé Meirelles
 
MSP Tech Days 2018 - Programação Funcional com F#
MSP Tech Days 2018 - Programação Funcional com F#MSP Tech Days 2018 - Programação Funcional com F#
MSP Tech Days 2018 - Programação Funcional com F#Gustavo Bellini Bigardi
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Valmon Gaudencio
 

Mais procurados (18)

Paradigmas de Linguagem
Paradigmas de LinguagemParadigmas de Linguagem
Paradigmas de Linguagem
 
Critérios de avaliação de linguagens
Critérios de avaliação de linguagensCritérios de avaliação de linguagens
Critérios de avaliação de linguagens
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
Dynamic Types no C# 4.0
Dynamic Types no C# 4.0Dynamic Types no C# 4.0
Dynamic Types no C# 4.0
 
C sharp lesson1
C sharp lesson1C sharp lesson1
C sharp lesson1
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
 
.NET e C# - Introdução Geral
.NET e C# - Introdução Geral.NET e C# - Introdução Geral
.NET e C# - Introdução Geral
 
Seminário: C#
Seminário: C#Seminário: C#
Seminário: C#
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
Seminário: COBOL
Seminário: COBOLSeminário: COBOL
Seminário: COBOL
 
Linguagem C e Dev-C++ Algumas Explicações
Linguagem C e Dev-C++  Algumas ExplicaçõesLinguagem C e Dev-C++  Algumas Explicações
Linguagem C e Dev-C++ Algumas Explicações
 
Plp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliaçãoPlp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliação
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
MSP Tech Days 2018 - Programação Funcional com F#
MSP Tech Days 2018 - Programação Funcional com F#MSP Tech Days 2018 - Programação Funcional com F#
MSP Tech Days 2018 - Programação Funcional com F#
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 

Destaque

Dojo iOS Básico - Aula 9
Dojo iOS Básico - Aula 9Dojo iOS Básico - Aula 9
Dojo iOS Básico - Aula 9Gustavo Barbosa
 
Dojo iOS Básico - Aula 3
Dojo iOS Básico - Aula 3Dojo iOS Básico - Aula 3
Dojo iOS Básico - Aula 3Gustavo Barbosa
 
Dojo iOS Básico - Aula 8
Dojo iOS Básico - Aula 8Dojo iOS Básico - Aula 8
Dojo iOS Básico - Aula 8Gustavo Barbosa
 
Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2Gustavo Barbosa
 
Dojo iOS Básico - Aula 6
Dojo iOS Básico - Aula 6Dojo iOS Básico - Aula 6
Dojo iOS Básico - Aula 6Gustavo Barbosa
 
Dojo iOS Básico - Aula 1
Dojo iOS Básico - Aula 1Dojo iOS Básico - Aula 1
Dojo iOS Básico - Aula 1Gustavo Barbosa
 
Dojo iOS Básico - Aula 7
Dojo iOS Básico - Aula 7Dojo iOS Básico - Aula 7
Dojo iOS Básico - Aula 7Gustavo Barbosa
 
Dojo iOS Básico - Aula 4
Dojo iOS Básico - Aula 4Dojo iOS Básico - Aula 4
Dojo iOS Básico - Aula 4Gustavo Barbosa
 
Workshop - IDE / Linguagem
Workshop - IDE / LinguagemWorkshop - IDE / Linguagem
Workshop - IDE / LinguagemGustavo Barbosa
 
Dojo iOS Básico - Aula 10
Dojo iOS Básico - Aula 10Dojo iOS Básico - Aula 10
Dojo iOS Básico - Aula 10Gustavo Barbosa
 
Dojo iOS Básico - Aula 5
Dojo iOS Básico - Aula 5Dojo iOS Básico - Aula 5
Dojo iOS Básico - Aula 5Gustavo Barbosa
 
Workshop - Conceito mobile
Workshop - Conceito mobileWorkshop - Conceito mobile
Workshop - Conceito mobileGustavo Barbosa
 

Destaque (12)

Dojo iOS Básico - Aula 9
Dojo iOS Básico - Aula 9Dojo iOS Básico - Aula 9
Dojo iOS Básico - Aula 9
 
Dojo iOS Básico - Aula 3
Dojo iOS Básico - Aula 3Dojo iOS Básico - Aula 3
Dojo iOS Básico - Aula 3
 
Dojo iOS Básico - Aula 8
Dojo iOS Básico - Aula 8Dojo iOS Básico - Aula 8
Dojo iOS Básico - Aula 8
 
Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2
 
Dojo iOS Básico - Aula 6
Dojo iOS Básico - Aula 6Dojo iOS Básico - Aula 6
Dojo iOS Básico - Aula 6
 
Dojo iOS Básico - Aula 1
Dojo iOS Básico - Aula 1Dojo iOS Básico - Aula 1
Dojo iOS Básico - Aula 1
 
Dojo iOS Básico - Aula 7
Dojo iOS Básico - Aula 7Dojo iOS Básico - Aula 7
Dojo iOS Básico - Aula 7
 
Dojo iOS Básico - Aula 4
Dojo iOS Básico - Aula 4Dojo iOS Básico - Aula 4
Dojo iOS Básico - Aula 4
 
Workshop - IDE / Linguagem
Workshop - IDE / LinguagemWorkshop - IDE / Linguagem
Workshop - IDE / Linguagem
 
Dojo iOS Básico - Aula 10
Dojo iOS Básico - Aula 10Dojo iOS Básico - Aula 10
Dojo iOS Básico - Aula 10
 
Dojo iOS Básico - Aula 5
Dojo iOS Básico - Aula 5Dojo iOS Básico - Aula 5
Dojo iOS Básico - Aula 5
 
Workshop - Conceito mobile
Workshop - Conceito mobileWorkshop - Conceito mobile
Workshop - Conceito mobile
 

Semelhante a Introdução ao Swift: benefícios, comparativo com Objective-C e novidades

C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015Renato Groff
 
Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Phil Calçado
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfAndreiaCristinaFlore
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO IOs Fantasmas !
 
Comparando python com outras linguagens de programação
Comparando python com outras linguagens de programaçãoComparando python com outras linguagens de programação
Comparando python com outras linguagens de programaçãoValore I/O
 
Seminário sobre GO
Seminário sobre GOSeminário sobre GO
Seminário sobre GOgptavares
 
Tutorial java script orientado à objeto e jquery
Tutorial java script orientado à objeto e jqueryTutorial java script orientado à objeto e jquery
Tutorial java script orientado à objeto e jqueryLuan Campos
 
Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Elaine Cecília Gatto
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...Vinicius Pulgatti
 
C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015Renato Groff
 

Semelhante a Introdução ao Swift: benefícios, comparativo com Objective-C e novidades (20)

Csharp
CsharpCsharp
Csharp
 
C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015
 
Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
Comparando python com outras linguagens de programação
Comparando python com outras linguagens de programaçãoComparando python com outras linguagens de programação
Comparando python com outras linguagens de programação
 
Apostila de devc++ novo
Apostila de devc++ novoApostila de devc++ novo
Apostila de devc++ novo
 
Seminário sobre GO
Seminário sobre GOSeminário sobre GO
Seminário sobre GO
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Tutorial java script orientado à objeto e jquery
Tutorial java script orientado à objeto e jqueryTutorial java script orientado à objeto e jquery
Tutorial java script orientado à objeto e jquery
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
apostila de dev.pdf
apostila de dev.pdfapostila de dev.pdf
apostila de dev.pdf
 
Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
02 - Introdução a linguagem C# v1.0
02 - Introdução a linguagem C# v1.002 - Introdução a linguagem C# v1.0
02 - Introdução a linguagem C# v1.0
 
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
 
Pho Aula 02
Pho Aula 02Pho Aula 02
Pho Aula 02
 
Ruby
RubyRuby
Ruby
 
C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015
 
Compiladores
CompiladoresCompiladores
Compiladores
 

Introdução ao Swift: benefícios, comparativo com Objective-C e novidades

  • 1. Dojo Swift Aula 1 Introdução Gustavo Barbosa gustavob@ciandt.com
  • 2. Nesta primeira aula, falaremos sobre o que é essa nova linguagem, quais os benefícios, comparativos com o objective-c e alguns novos recursos
  • 3. ● O que é o Swift? ● Por que usar? ● Quais os benefícios? ● Comparativo com o Objective-C ● Peculiaridades da linguagem ● Novos recursos
  • 4.
  • 5. Nova linguagem da Apple para desenvolvimento em iOS, OS X e watchOS. A proposta é transformar o Swift na principal linguagem de desenvolvimento da empresa, substituindo o Obj-C. Todas as libs estão sendo (se já não foram) reescritas na linguagem Swift. Também utiliza o compilador LLVM. O que é Swift?
  • 7.
  • 8. Por que usar? O Swift traz diversas novas possibilidades através da utilização de suas APIs Oportunidade de especialização Linguagem pouco conhecida Possibilidade de substituir totalmente o objective-c Modernidade e código mais enxuto (proposta principal) Capacidade do time Possibilidade de crescimento técnico e ser referência nos projetos da CI&T
  • 10. Comparativo com o Objective-C ● Variáveis não tipadas; ● Programação funcional; ● Métodos não são mais tão descritivos; ● Assusta na primeira impressão (mas lembre-se como foi seu primeiro contato com o obj-c); ● Não existe mais alloc - init; ● Não utiliza ponteiros na sintaxe; ● Ausência de ponto e vírgula (;) e parênteses.
  • 11. Peculiaridades da linguagem ● Extenso uso de var e let: var - define uma variável qualquer let - define uma variável de valor constante (não Mutable) ● Novas formas de gerenciamento de memória Exemplo: lazy Old way: New way:
  • 12. Peculiaridades da linguagem ● Junção de condicionais (if + switch / for + switch) - 2.0 ● Existe uma necessidade de padronização do código (legado) ● Controle de versão mais inteligente: ● Enums mais descritivos (com possibilidade de serem strings, case, etc) ● Constante mudança e alterações massivas nas versões 1.0, 1.1, 1.2 e 2.0
  • 13. ● Playground ● Error handling model ● Open Source ● Optionals (Syntax: ?) ● Melhoria do debug em objetos, variáveis e enums ● Possibilidade de interagir com o objective-c
  • 17. Para a próxima aula ● Encontrar exemplos de swift ● Se familiarizar com a linguagem ● Assistir pelo menos a esse vídeo do WWDC (abrir no Safari): https://developer.apple.com/videos/wwdc/2015/?id=106