Produtividade e Xcode Template

Produtividade e Xcode Template

Ac0153ab43c41b1dc3932f19a94682e1?s=128

Fabricio Serralvo

October 29, 2019
Tweet

Transcript

  1. .xctemplate produtividade e cocoaheads campinas - outubro 2019

  2. Fabrício Serralvo dev iOS @ iFood

  3. como vai ser • 20 ~ 25 minutos • baixa

    profundidade • pré requisito: xcode
  4. e sobre o que vamos falar • o que é

    xcode template • exemplos e demonstração • quando usar e quando não usar • perguntas e respostas
  5. o que é template - ˈtɛmpleɪt, ˈtɛmplət noun A shaped

    piece of rigid material used as a pattern for processes such as cutting out, shaping, or drilling. Computing: a preset format for a document or file.
  6. // Foo.swift // Created on 26/10/19 extension Foo: Bar {

    return “foo-bar” }
  7. o que é • disponível desde o xcode 3 •

    se divide em duas categorias • project template • file template
  8. None
  9. /Applications/Xcode.app/Contents/Developer/Library/ Xcode/Templates

  10. None
  11. ~/Library/Developer/Xcode/Templates/File Templates/ ⚠ caso a pasta não exista, basta cria-la

  12. estrutura • arquivo .plist para configuração: TemplateInfo.plist • ícone e

    ícone 2x: TemplateIcon.png e TemplateIcon@2x.png • arquivos que definem o template, MyFile.swift por exemplo • tudo isso em uma pasta com o sufixo .xctemplate
  13. None
  14. exemplos e demonstração • struct + protocolos • markdown •

    unit tests • view controller + table view • table view cell + xib
  15. exemplos e demonstração ___FILEBASENAME___ nome do arquivo, sem extensão ___FILEBASENAMEASIDENTIFIER___

    nome do arquivo normalizado ___PROJECTNAMEASIDENTIFIER___ nome do projeto normalizado ___VARIABLE_customName___ variável customizada, customName é definido no TemplateInfo.plist ___VARIABLE_customName:identifier___ variável customizada usando normalização
  16. quando usar • facilita padronização • foco em boas práticas

    • automatização
  17. quando não usar • xcode template não é • gerador

    de código • Sourcery - github.com/krzysztofzablocki/Sourcery • gerador de dados • Fakery - github.com/vadymmarkov/Fakery • SwiftRandom - github.com/thellimist/SwiftRandom
  18. referências

  19. perguntas?

  20. muito obrigado!