Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Swift - uma fama repentina

83a8147c3c83c22e1e421c3420e768f9?s=47 hannelita
October 16, 2014

Swift - uma fama repentina

Palestra no TDC de POA 2014 - trilha mobile

83a8147c3c83c22e1e421c3420e768f9?s=128

hannelita

October 16, 2014
Tweet

More Decks by hannelita

Other Decks in Technology

Transcript

  1. Swift Uma fama repentina!

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

    e bichos <3 HIRING
  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
  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
  5. Desenvolvendo Objective C iOS Xcode SQLite Foundation C C++ UIKit

    CoreGraphics CoreServices CoreLocation ARC
  6. Desenvolvendo

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

  8. Se fosse só isso… Agonia

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

    no .h ?
  10. Quem nunca…

  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?
  12. Quem nunca…

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

    simples ; ?
  14. Quem nunca…

  15. Noooo

  16. Noooo

  17. SWIFT!

  18. YEEES

  19. O Swift suaviza quase tudo isso

  20. .m e .h no mesmo lugar

  21. auto-detecta os tipos

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

    tdc = "TDC"
  23. Não precisa de ;

  24. Consigo chamar métodos sem []

  25. FAVOR NÃO TROLLAR

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

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

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

  29. Swift possui algumas 'bizarrices' Optionals

  30. Swift possui algumas 'bizarrices' Optionals ∆ Existe um valor e

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

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

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

  34. Optionals

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

  36. Optionals

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

    nenhum valor MESMO!
  38. Optionals

  39. MOAR cool stuff Traz um pouco de ‘FP' (Programação funcional)!

    Closure! Tuple! Generics! Map e Filters
  40. Is it production ready?

  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!
  42. DISCLAIMER MINHA VISÃO Você não precisa concordar, discordar ou achar

    que estou xingando/elogiando
  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.
  44. Valeu!!! Perguntas? hannelita@codeminer42.com @hannelita

  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