SlideShare a Scribd company logo
1 of 8
Boas Práticas com Xamarin Forms
#ifoodFriends
It´s-a me Bertuzzi
• Thiago Bertuzzi é desenvolvedor .net há 12 anos participando
de projetos Desktop, Services, Web e Mobile utilizando
Xamarin.
• É Microsoft MVP em Developer Technologies
• É Líder técnico na NESS
• Contribui para comunidade Xamarin escrevendo artigos,
compartilhando códigos, palestrando e criando pacotes Nuget.
Compartilho a Interface , mas não compartilho
as Guidelines
• Não é porque Xamarin.Forms te criar uma Tela para iOS e Android,
que eu não devo respeitar as Guidelines.
Vamos Abrir e utilizar nosso APP
• Mantenha o mínimo de dependências possíveis.
• Se precisar baixar muitos dados, utilize o background.
• Lazy Loading, carregue o que precisa sob demanda.
• Não espere dados carregarem para você atualizar sua tela, ninguém
gosta de ver uma tela congelada.
• Utilize só os Plugins e Controles de terceiro se necessário ;) .
• Utilize o Linker, sempre...
• MessagingCenter só em ultimo caso, para casos de BackGround, ou se
ameaçarem sua família. Utilize se possivel um framework que resolva
isso.
Xaml -> Boas Praticas
• Habilite Layout Compression nos layouts que aceitam. Mas verifique
antes.. (Se possui entradas de toque por exemplo )
• Não utilize bindings desnecessários ..
Title por exemplo, pra que ?
• Não utilizar os valores Default, por exemplo
se é grid.row = 0 pra que declarar ? (Evite recriação da tela )
• Utilize dispose sempre que possível Mobile não tem memoria infinita.
• Se assinar um Evento, então devemos desassinar (unsubscribe)
Xaml -> Boas Praticas
• Não utilize StackLayout para um controle apenas
• Reduza o carregamento de controles , nada de stacklayout dentro de
outro stacklayout
• Utilize mais Grids menos stacklayouts e principalmente
RelativeLayout :) , se você precisa de um Grid porque usa stacklayout?
• Não coloque Stacklayout nem ListView dentro de uma scrollview
Xaml -> Label e ListView
• Não utilize vários Labels, geralmente um Span com FormattedText
resolve seu problema.
• Utilize Estrategia de Cache no listview
• RecycleElement por padrão
• Utilize HasUnevenRows sempre que
precisar de linhas com tamanhos diferentes
• Não utilize TableView no Lugar de ListView, TableView é mais para
Layout de Settings
Obrigado / Duvidas?
• “Toda vez que alguém fala “Chamarin”,Deus mata um panda”
• Referencias : https://kent-boogaart.com/blog/jason-smith%27s-xamarin-
forms-performance-tips
• twitter.com/tbertuzzi
• github.com/tbertuzzi
• nuget.org/profiles/Bertuzzi
• medium.com/@bertuzzi
• bertuzzi.dev

More Related Content

Similar to Boas Práticas com Xamarin Forms para Apps Mobile Otimizados

Melhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoMelhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoRicardo Martins
 
Melhores práticas de deployment do IBM Connections
Melhores práticas de deployment do IBM ConnectionsMelhores práticas de deployment do IBM Connections
Melhores práticas de deployment do IBM Connectionsrodrigoareis
 
Arquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudarArquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudarBetter Developer
 
Tunning PostgreSQL em modo OGRO - 13º Latinoware
Tunning PostgreSQL em modo OGRO - 13º LatinowareTunning PostgreSQL em modo OGRO - 13º Latinoware
Tunning PostgreSQL em modo OGRO - 13º LatinowareGerdan Santos
 
Acelerando o caminho para nuvem com serverless e java
Acelerando o caminho para nuvem com serverless e javaAcelerando o caminho para nuvem com serverless e java
Acelerando o caminho para nuvem com serverless e javaEvandro Pires da Silva
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front EndCaio Vaccaro
 
Magento Gerencimento e Customização de Temas
Magento Gerencimento e Customização de TemasMagento Gerencimento e Customização de Temas
Magento Gerencimento e Customização de TemasVanessa Me Tonini
 
Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Nelson Glauber Leal
 
Xamarin.Forms: estes pacotes vão salvar sua vida
Xamarin.Forms: estes pacotes vão salvar sua vidaXamarin.Forms: estes pacotes vão salvar sua vida
Xamarin.Forms: estes pacotes vão salvar sua vidaThiago Bertuzzi
 
O que vi na QCon 2012 São Paulo
O que vi na QCon 2012 São PauloO que vi na QCon 2012 São Paulo
O que vi na QCon 2012 São PauloIsmael
 
Simple singleton pattern
Simple singleton patternSimple singleton pattern
Simple singleton patternDennis Calazans
 
Domain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da CaixaDomain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da CaixaThiago Bertuzzi
 
O que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-endO que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-endDiego Eis
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de DesenvolvimentoAlvaro Viebrantz
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisrafaelberlanda
 
Boas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareBoas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareFelipe
 
Fazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFabio Telles Rodriguez
 
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ..."Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...Cesar Augusto Nogueira
 
Polis Hyperlink Dicas e truques de Performance para JPA e EJB
Polis Hyperlink Dicas e truques de Performance para JPA e EJBPolis Hyperlink Dicas e truques de Performance para JPA e EJB
Polis Hyperlink Dicas e truques de Performance para JPA e EJBDanival Calegari
 

Similar to Boas Práticas com Xamarin Forms para Apps Mobile Otimizados (20)

Melhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoMelhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magento
 
Melhores práticas de deployment do IBM Connections
Melhores práticas de deployment do IBM ConnectionsMelhores práticas de deployment do IBM Connections
Melhores práticas de deployment do IBM Connections
 
Arquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudarArquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudar
 
Tunning PostgreSQL em modo OGRO - 13º Latinoware
Tunning PostgreSQL em modo OGRO - 13º LatinowareTunning PostgreSQL em modo OGRO - 13º Latinoware
Tunning PostgreSQL em modo OGRO - 13º Latinoware
 
Acelerando o caminho para nuvem com serverless e java
Acelerando o caminho para nuvem com serverless e javaAcelerando o caminho para nuvem com serverless e java
Acelerando o caminho para nuvem com serverless e java
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front End
 
Magento Gerencimento e Customização de Temas
Magento Gerencimento e Customização de TemasMagento Gerencimento e Customização de Temas
Magento Gerencimento e Customização de Temas
 
Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023
 
Xamarin.Forms: estes pacotes vão salvar sua vida
Xamarin.Forms: estes pacotes vão salvar sua vidaXamarin.Forms: estes pacotes vão salvar sua vida
Xamarin.Forms: estes pacotes vão salvar sua vida
 
O que vi na QCon 2012 São Paulo
O que vi na QCon 2012 São PauloO que vi na QCon 2012 São Paulo
O que vi na QCon 2012 São Paulo
 
Simple singleton pattern
Simple singleton patternSimple singleton pattern
Simple singleton pattern
 
Domain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da CaixaDomain Driven Design : Pensando Fora da Caixa
Domain Driven Design : Pensando Fora da Caixa
 
O que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-endO que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-end
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portais
 
Boas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareBoas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de software
 
Fazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da porta
 
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ..."Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
 
Polis Hyperlink Dicas e truques de Performance para JPA e EJB
Polis Hyperlink Dicas e truques de Performance para JPA e EJBPolis Hyperlink Dicas e truques de Performance para JPA e EJB
Polis Hyperlink Dicas e truques de Performance para JPA e EJB
 
Db2
Db2Db2
Db2
 

More from Thiago Bertuzzi

Secure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptxSecure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptxThiago Bertuzzi
 
Cobertura de Código: Testes de Unidade
Cobertura de Código: Testes de UnidadeCobertura de Código: Testes de Unidade
Cobertura de Código: Testes de UnidadeThiago Bertuzzi
 
MAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesMAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesThiago Bertuzzi
 
Criando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsCriando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsThiago Bertuzzi
 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms Thiago Bertuzzi
 
Do Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealDo Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealThiago Bertuzzi
 
Plugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeekPlugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeekThiago Bertuzzi
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...Thiago Bertuzzi
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazer4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazerThiago Bertuzzi
 
Novidades de Xamarin e Visual Studio for Mac no .Net Conf
 Novidades de Xamarin e Visual Studio for Mac no .Net Conf Novidades de Xamarin e Visual Studio for Mac no .Net Conf
Novidades de Xamarin e Visual Studio for Mac no .Net ConfThiago Bertuzzi
 
Persistência e Bancos de Dados com Xamarin.Forms
Persistência e Bancos de Dados com Xamarin.FormsPersistência e Bancos de Dados com Xamarin.Forms
Persistência e Bancos de Dados com Xamarin.FormsThiago Bertuzzi
 
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...Thiago Bertuzzi
 
Armazenando Dados com Xamarin
Armazenando Dados com XamarinArmazenando Dados com Xamarin
Armazenando Dados com XamarinThiago Bertuzzi
 
Xamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveisXamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveisThiago Bertuzzi
 
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Thiago Bertuzzi
 
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019Thiago Bertuzzi
 
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacNovidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacThiago Bertuzzi
 
Porque Xamarin.Forms é Incrivel - MVPConfLatam2019
Porque Xamarin.Forms é Incrivel - MVPConfLatam2019Porque Xamarin.Forms é Incrivel - MVPConfLatam2019
Porque Xamarin.Forms é Incrivel - MVPConfLatam2019Thiago Bertuzzi
 

More from Thiago Bertuzzi (20)

Secure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptxSecure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptx
 
Cobertura de Código: Testes de Unidade
Cobertura de Código: Testes de UnidadeCobertura de Código: Testes de Unidade
Cobertura de Código: Testes de Unidade
 
Código Seguro
Código SeguroCódigo Seguro
Código Seguro
 
MAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesMAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidades
 
Criando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsCriando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.Forms
 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
Xamarin summit 2020 : Plugins e Controles para Xamarin.Forms 
 
Do Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso RealDo Azure Devops ao Github Actions, Caso Real
Do Azure Devops ao Github Actions, Caso Real
 
Plugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeekPlugins e Controles para Xamarin.Forms Canal.net DevWeek
Plugins e Controles para Xamarin.Forms Canal.net DevWeek
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
4 Apps que todo Desenvolvedor Xamarin deveria fazer e Plugins e Controles par...
 
4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazer4 Apps que todo Desenvolvedor Xamarin deveria fazer
4 Apps que todo Desenvolvedor Xamarin deveria fazer
 
Novidades de Xamarin e Visual Studio for Mac no .Net Conf
 Novidades de Xamarin e Visual Studio for Mac no .Net Conf Novidades de Xamarin e Visual Studio for Mac no .Net Conf
Novidades de Xamarin e Visual Studio for Mac no .Net Conf
 
Persistência e Bancos de Dados com Xamarin.Forms
Persistência e Bancos de Dados com Xamarin.FormsPersistência e Bancos de Dados com Xamarin.Forms
Persistência e Bancos de Dados com Xamarin.Forms
 
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
Azure Weekend : Desenvolvedor Mobile: Por que ainda não utiliza o Visual Stud...
 
Armazenando Dados com Xamarin
Armazenando Dados com XamarinArmazenando Dados com Xamarin
Armazenando Dados com Xamarin
 
Xamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveisXamarin.Forms : O Poder do XAML, criando interfaces incríveis
Xamarin.Forms : O Poder do XAML, criando interfaces incríveis
 
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
 
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
Novidades de Xamarin, AppCenter e VisualStudio for Mac no Microsoft Build 2019
 
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacNovidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
 
Boas praticas com Prism
Boas praticas com PrismBoas praticas com Prism
Boas praticas com Prism
 
Porque Xamarin.Forms é Incrivel - MVPConfLatam2019
Porque Xamarin.Forms é Incrivel - MVPConfLatam2019Porque Xamarin.Forms é Incrivel - MVPConfLatam2019
Porque Xamarin.Forms é Incrivel - MVPConfLatam2019
 

Boas Práticas com Xamarin Forms para Apps Mobile Otimizados

  • 1. Boas Práticas com Xamarin Forms #ifoodFriends
  • 2. It´s-a me Bertuzzi • Thiago Bertuzzi é desenvolvedor .net há 12 anos participando de projetos Desktop, Services, Web e Mobile utilizando Xamarin. • É Microsoft MVP em Developer Technologies • É Líder técnico na NESS • Contribui para comunidade Xamarin escrevendo artigos, compartilhando códigos, palestrando e criando pacotes Nuget.
  • 3. Compartilho a Interface , mas não compartilho as Guidelines • Não é porque Xamarin.Forms te criar uma Tela para iOS e Android, que eu não devo respeitar as Guidelines.
  • 4. Vamos Abrir e utilizar nosso APP • Mantenha o mínimo de dependências possíveis. • Se precisar baixar muitos dados, utilize o background. • Lazy Loading, carregue o que precisa sob demanda. • Não espere dados carregarem para você atualizar sua tela, ninguém gosta de ver uma tela congelada. • Utilize só os Plugins e Controles de terceiro se necessário ;) . • Utilize o Linker, sempre... • MessagingCenter só em ultimo caso, para casos de BackGround, ou se ameaçarem sua família. Utilize se possivel um framework que resolva isso.
  • 5. Xaml -> Boas Praticas • Habilite Layout Compression nos layouts que aceitam. Mas verifique antes.. (Se possui entradas de toque por exemplo ) • Não utilize bindings desnecessários .. Title por exemplo, pra que ? • Não utilizar os valores Default, por exemplo se é grid.row = 0 pra que declarar ? (Evite recriação da tela ) • Utilize dispose sempre que possível Mobile não tem memoria infinita. • Se assinar um Evento, então devemos desassinar (unsubscribe)
  • 6. Xaml -> Boas Praticas • Não utilize StackLayout para um controle apenas • Reduza o carregamento de controles , nada de stacklayout dentro de outro stacklayout • Utilize mais Grids menos stacklayouts e principalmente RelativeLayout :) , se você precisa de um Grid porque usa stacklayout? • Não coloque Stacklayout nem ListView dentro de uma scrollview
  • 7. Xaml -> Label e ListView • Não utilize vários Labels, geralmente um Span com FormattedText resolve seu problema. • Utilize Estrategia de Cache no listview • RecycleElement por padrão • Utilize HasUnevenRows sempre que precisar de linhas com tamanhos diferentes • Não utilize TableView no Lugar de ListView, TableView é mais para Layout de Settings
  • 8. Obrigado / Duvidas? • “Toda vez que alguém fala “Chamarin”,Deus mata um panda” • Referencias : https://kent-boogaart.com/blog/jason-smith%27s-xamarin- forms-performance-tips • twitter.com/tbertuzzi • github.com/tbertuzzi • nuget.org/profiles/Bertuzzi • medium.com/@bertuzzi • bertuzzi.dev