$30 off During Our Annual Pro Sale. View Details »

Swift - uma fama repentina

hannelita
October 16, 2014

Swift - uma fama repentina

Palestra no TDC de POA 2014 - trilha mobile

hannelita

October 16, 2014
Tweet

More Decks by hannelita

Other Decks in Technology

Transcript

  1. Swift
    Uma fama
    repentina!

    View Slide

  2. Oi!
    Hanneli (a.k.a. @hannelita)!
    Desenvolvedora @Codeminer42!
    Jogos!
    Café, Lego, Pokémon e bichos <3
    HIRING

    View Slide

  3. O que *NÃO* vamos ver aqui
    Objective C é melhor que Swift!
    Desenvolvedora com 5 anos de exp em
    Swift!
    Evangelização de Swift!
    Teorias chatas zzzzzzzz

    View Slide

  4. O que *vamos* ver aqui
    Alguns enroscos do Objective C !
    O que os desenvolvedores sentiam falta!
    Swift - resolvendo alguns desses buracos!
    Swift - bizarrices!
    GIFs e imagens legais <3

    View Slide

  5. Desenvolvendo
    Objective C
    iOS
    Xcode
    SQLite
    Foundation
    C
    C++
    UIKit CoreGraphics
    CoreServices
    CoreLocation
    ARC

    View Slide

  6. Desenvolvendo

    View Slide

  7. iOS Development
    [ ]
    [ ]
    [ ]
    [ ]

    View Slide

  8. Se fosse só isso…
    Agonia

    View Slide

  9. Quem nunca…
    Saiu implementando no .m
    E esqueceu de colocar no .h ?

    View Slide

  10. Quem nunca…

    View Slide

  11. Quem nunca…
    Não sabia o tipo de retorno de
    uma API…
    E colocou um tipo nada a ver…
    Porque não tinha
    documentação?

    View Slide

  12. Quem nunca…

    View Slide

  13. Quem nunca…
    Tomou um erro de
    compilação…
    Porque faltou um simples
    ; ?

    View Slide

  14. Quem nunca…

    View Slide

  15. Noooo

    View Slide

  16. Noooo

    View Slide

  17. SWIFT!

    View Slide

  18. YEEES

    View Slide

  19. O Swift suaviza quase tudo isso

    View Slide

  20. .m e .h no mesmo lugar

    View Slide

  21. auto-detecta os tipos

    View Slide

  22. auto-detecta os tipos
    var tdc : String = "TDC"
    var tdc = "TDC"

    View Slide

  23. Não precisa de ;

    View Slide

  24. Consigo chamar métodos sem []

    View Slide

  25. FAVOR NÃO TROLLAR

    View Slide

  26. **NÃO**
    var tdc = 2014!
    tdc = “Oi!"

    View Slide

  27. **NÃO**
    var meusNumerosLegais = !
    [1,33,345,349]
    meusNumerosLegais.append(“trololol")

    View Slide

  28. **NÃO**
    var numero : Int = 0
    numero = nil

    View Slide

  29. Swift possui algumas 'bizarrices'
    Optionals

    View Slide

  30. Swift possui algumas 'bizarrices'
    Optionals
    ∆ Existe um valor e ele é igual a
    alguma coisa
    ∆ Não existe NENHUM valor

    View Slide

  31. Swift possui algumas 'bizarrices'
    Optionals

    View Slide

  32. Swift possui algumas 'bizarrices'
    Optionals
    Vamos ver um
    pouco de código

    View Slide

  33. Swift possui algumas 'bizarrices'
    Optionals
    1. Meet Playground!

    View Slide

  34. Optionals

    View Slide

  35. Optionals
    let palestrasCount = hanneli.palestras!.quantidade
    Não FUNCIONAAA
    fsdhufuhfsuhfhuefwkfhudfs

    View Slide

  36. Optionals

    View Slide

  37. Optionals
    Não tenho um objeto Palestra!
    Instanciamos um!
    Não tem nenhum valor MESMO!

    View Slide

  38. Optionals

    View Slide

  39. MOAR cool stuff
    Traz um pouco de ‘FP' (Programação
    funcional)!
    Closure!
    Tuple!
    Generics!
    Map e Filters

    View Slide

  40. Is it production ready?

    View Slide

  41. Is it production ready?
    Existem poucos exemplos!
    Existe pouco material de estudo!
    Existe menos conteúdo no StackOverflow!
    A IDE da Apple dá uns paus!

    View Slide

  42. DISCLAIMER
    MINHA VISÃO
    Você não precisa concordar, discordar
    ou achar que estou xingando/elogiando

    View Slide

  43. Minha visão
    Swift: BACANA! Traz um pouco de ‘Ruby-
    like' para o mundo de iOS!
    Menos verboso! :D!
    Alguns conceitos confusos!
    Como muitas vertentes de FP, temos que
    lidar com . ! e etc.

    View Slide

  44. Valeu!!!
    Perguntas?
    [email protected]
    @hannelita

    View Slide

  45. Referências
    http://www.slideshare.net/talesp/swift-optionals !
    http://www.slideshare.net/jollen/mokoversity-course-swift-101-3-hours?
    qid=525c7536-b9e1-4d45-b8da-0447854f6a93&v=qf1&b=&from_search=1!
    http://www.slideshare.net/giordano/a-swift-introduction-to-swift?next_slideshow=1!
    http://www.slideshare.net/giordano/a-swift-introduction-to-swift?next_slideshow=1!
    http://www.slideshare.net/ThoughtWorks/taking-swiftfora-spinmrc?qid=525c7536-
    b9e1-4d45-b8da-0447854f6a93&v=qf1&b=&from_search=10!
    http://www.slideshare.net/newgenapps/developing-ios-apps-with-swift?
    qid=525c7536-b9e1-4d45-b8da-0447854f6a93&v=qf1&b=&from_search=11!
    Apple Official Reference

    View Slide