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

Produtividade e Xcode Template

Produtividade e Xcode Template

Fabricio Serralvo

October 29, 2019
Tweet

More Decks by Fabricio Serralvo

Other Decks in Programming

Transcript

  1. .xctemplate
    produtividade e
    cocoaheads campinas - outubro 2019

    View Slide

  2. Fabrício Serralvo
    dev iOS @ iFood

    View Slide

  3. como vai ser
    • 20 ~ 25 minutos
    • baixa profundidade
    • pré requisito: xcode

    View Slide

  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

    View Slide

  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.

    View Slide

  6. // Foo.swift
    // Created on 26/10/19
    extension Foo: Bar {
    return “foo-bar”
    }

    View Slide

  7. o que é
    • disponível desde o xcode 3
    • se divide em duas categorias
    • project template
    • file template

    View Slide

  8. View Slide

  9. /Applications/Xcode.app/Contents/Developer/Library/
    Xcode/Templates

    View Slide

  10. View Slide

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

    View Slide

  12. estrutura
    • arquivo .plist para configuração: TemplateInfo.plist
    • ícone e ícone 2x: TemplateIcon.png e [email protected]
    • arquivos que definem o template, MyFile.swift por exemplo
    • tudo isso em uma pasta com o sufixo .xctemplate

    View Slide

  13. View Slide

  14. exemplos e demonstração
    • struct + protocolos
    • markdown
    • unit tests
    • view controller + table view
    • table view cell + xib

    View Slide

  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

    View Slide

  16. quando usar
    • facilita padronização
    • foco em boas práticas
    • automatização

    View Slide

  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

    View Slide


  18. referências

    View Slide


  19. perguntas?

    View Slide


  20. muito obrigado!

    View Slide