suporte a macros na sua aplicação com powershell
TRANSCRIPT
![Page 1: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/1.jpg)
Globalcode – Open4education
Suporte a macros na sua aplicação com PowerShell
Trilha .NET
Igor Abade V. LeiteLambda3
Microsoft MVP – Visual Studio ALMProfessional Scrum Trainer – Scrum.org
![Page 2: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/2.jpg)
Globalcode – Open4education
Agenda
MotivaçãoTecnologias de MacroSolução com PowerShellDemo
![Page 3: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/3.jpg)
Globalcode – Open4education
Motivação
![Page 4: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/4.jpg)
Globalcode – Open4education
Motivação
Suporte a macros é legal útilDiversos tipos de aplicações podem usar
ERP é exemplo mais óbvioMas vale para qualquer aplicação desktop
Permite customizar sem recompilarFácil de estender os recursos
![Page 5: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/5.jpg)
Globalcode – Open4education
Tecnologias de Macro
Visual Basic for Applications (VBA)Maduro, estável, mas caro e obsoletoMicrosoft permitia que empresas licenciassem
Exemplo: CorelDRAW! vinha com VBAMas não é mais comercializado
Visual Studio Tools for Applications (VSTA)“Evolução” do VBA – substitui VB por C# e VB.NETUsa .NET ao invés do runtime VB do VBAUsado desde 2008 como ambiente de macros do VSMicrosoft permite que empresas licenciem
Caro. Nunca obteve tração
![Page 6: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/6.jpg)
Globalcode – Open4education
Tecnologias de Macro
PowerShellNão é exatamente uma tecnologia de macro, mas...
Versátil como VBA.NET puro, com acesso a todos os seus recursosSuporta self-hosting
![Page 7: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/7.jpg)
Globalcode – Open4education
Solução com PowerShell
Requisitos da solução:Embutir numa aplicação WPFOferecer console PowerShell para REPL
Similar à janela Immediate do VBA
IDE para edição de scriptsComo o IDE do VBA
Interação de mão-dupla entre aplicação e PowerShellCódigo PS pode acessar objetos da aplicaçãoAplicação pode passar e receber estado para PowerShellCódigo (delegates, scriptblocks) devem ser executáveis por qualquer um dos dois lados
![Page 8: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/8.jpg)
Globalcode – Open4education
Aplicação de Exemplo
WAF WriterAplicação de exemplo do WAFFeita em WPF com MVVM
Excelente ponto de partidaMVVM facilita integraçãoSó falta integrar com PowerShell ;-)
![Page 9: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/9.jpg)
Globalcode – Open4education
PowerShell self-hosting
NugetSystem.Automation.Management
Classe PowerShellPowerShell.Create() cria runtimeMétodo AddScript() para passar scriptsMétodo Invoke() para executar os scripts
![Page 10: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/10.jpg)
Globalcode – Open4education
Demo
![Page 11: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/11.jpg)
Globalcode – Open4education
GitHub!
https://github.com/igoravl/TDC2016_DotNet
![Page 12: Suporte a macros na sua aplicação com PowerShell](https://reader035.vdocuments.mx/reader035/viewer/2022070510/58ab60511a28abbc2a8b57af/html5/thumbnails/12.jpg)
Globalcode – Open4education
Obrigado!Suporte a macros na sua aplicação com PowerShell
Trilha .NET
Igor Abade V. LeiteLambda3
Microsoft MVP – Visual Studio ALMProfessional Scrum Trainer – Scrum.org