boas práticas de desenvolvimento em iot - victor lima
TRANSCRIPT
![Page 2: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/2.jpg)
Boas práticas
![Page 3: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/3.jpg)
IAlguns exemplos
Controle deVersão
Separação de ambientes
Gestão de pacotes
Build automatizado
Testes automatizados
Testes Integrados
Integração Continua
DeployContínuo Instrumentação
![Page 4: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/4.jpg)
IEm mobile?
Controle deVersão
Separação de ambientes
Gestão de pacotes
Build automatizado
Testes automatizados
Testes Integrados
Integração Continua
DeployContínuo Instrumentação
![Page 5: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/5.jpg)
IEm mobile?
git Separação de ambientes
Gestão de pacotes
Build automatizado
Testes automatizados
Testes Integrados
Integração Continua
DeployContínuo Instrumentação
![Page 6: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/6.jpg)
IEm mobile?
git plist, build type
Gestão de pacotes
Build automatizado
Testes automatizados
Testes Integrados
Integração Continua
DeployContínuo Instrumentação
![Page 7: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/7.jpg)
IEm mobile?
git plist, build type
cocoapods, gradle
Build automatizado
Testes automatizados
Testes Integrados
Integração Continua
DeployContínuo Instrumentação
![Page 8: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/8.jpg)
IEm mobile?
git plist, build type
cocoapods, gradle
gradle, xcodebuild
Testes automatizados
Testes Integrados
Integração Continua
DeployContínuo Instrumentação
![Page 9: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/9.jpg)
IEm mobile?
git plist, build type
cocoapods, gradle
gradle, xcodebuild
Testes Integrados
Integração ContinuaXCTest, JUnit
DeployContínuo Instrumentação
![Page 10: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/10.jpg)
IEm mobile?
git plist, build type
cocoapods, gradle
gradle, xcodebuild
Integração ContinuaXCTest, JUnit XCTest,
Robotium
DeployContínuo Instrumentação
![Page 11: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/11.jpg)
IEm mobile?
git plist, build type
cocoapods, gradle
gradle, xcodebuild
XCTest, JUnit XCTest, Robotium Jenkins, xcserver
DeployContínuo Instrumentação
![Page 12: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/12.jpg)
IEm mobile?
git plist, build type
cocoapods, gradle
gradle, xcodebuild
XCTest, JUnit XCTest, Robotium Jenkins, xcserver
DeployContínuo Instrumentação
![Page 13: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/13.jpg)
IEm mobile?
git plist, build type
cocoapods, gradle
gradle, xcodebuild
XCTest, JUnit XCTest, Roboeletric Jenkins, xcserver
Instrumentaçãotestflight,crashlytics
![Page 14: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/14.jpg)
IEm mobile?
git plist, build type
cocoapods, gradle
gradle, xcodebuild
XCTest, JUnit XCTest, Robotium Jenkins, xcserver
testflight,crashlytics google analytics
![Page 15: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/15.jpg)
O que mudou então?
![Page 16: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/16.jpg)
Um template
![Page 17: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/17.jpg)
IVocê, amanhã
![Page 18: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/18.jpg)
Como isso se aplica?
![Page 19: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/19.jpg)
IIProblema
Você está desenvolvendo um aplicativo para uma empresa que permite você alugar um carro. Você usa um aplicativo, ele se comunica com um hardware no carro que permite que o carro ande, após você pagar pelo
aluguel do mesmo.
![Page 20: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/20.jpg)
Como você garante as boas práticas de desenvolvimento?
![Page 21: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/21.jpg)
![Page 22: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/22.jpg)
![Page 23: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/23.jpg)
IAlgumas boas práticas
Controle deVersão
Separação de ambientes
Gestão de pacotes
Build automatizado
Testes automatizados
Testes Integrados
Integração Continua
DeployContínuo Instrumentação
![Page 24: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/24.jpg)
IAlgumas boas práticas
Controle deVersão
• A coisa tem software rodando nela, ele está no controle de versão?
• E os esquemas sobre como montar a coisa?
• Como você versiona, publica e comunica ele para o time e stakeholders?
![Page 25: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/25.jpg)
IAlgumas boas práticas
Separação de Ambientes
• Como você configura e separa as configurações especificas de cada ambiente em que a coisa vai rodar?
• Em Prod ela usa um certificado, em QA ele é self-signed?
• Para qual API ela aponta?
![Page 26: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/26.jpg)
IAlgumas boas práticas
Gestão de Pacotes
• Como você atualiza pacotes/libs que você usa em uma coisa?
• Como você gerencia e atualiza firmware de componentes que a sua coisa usa?
• Como você gerencia e atualiza componentes que a sua coisa usa?
![Page 27: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/27.jpg)
IAlgumas boas práticas
Build Automatizado
• Como você constrói partes ou integralmente a sua coisa?
• Jenkins for the win?
![Page 28: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/28.jpg)
IAlgumas boas práticas
Testes Automatizados
• Como você testa a sua coisa?
• Como você mocka coisas?
• Como você emula uma coisa?
• E se você depender de uma condição externa, do tipo: a coisa reage a algo quando alguma coisa pega fogo
![Page 29: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/29.jpg)
IAlgumas boas práticas
Testes Integrados
• Como você testa a sua coisa, de ponta a ponta?
![Page 30: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/30.jpg)
IAlgumas boas práticas
Integração Contínua
• Como você integra continuamente todo o incremento de produto?
• E as dependências?
• E hardware de grande porte?
![Page 31: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/31.jpg)
IAlgumas boas práticas
DeployContínuo
• Como você atualiza o software na sua coisa?
• E se a coisa estiver sem conexão com a internet?
![Page 32: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/32.jpg)
IAlgumas boas práticas
Instrumentação• Como você coleta dados da
sua coisa?
• Como você sabe como os seus usuários estão interagindo com a coisa?
![Page 33: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/33.jpg)
IOutras questões
Segurança
Recall
Compatibilidade
Privacidade
Mão de obra
Acesso a internet
Acessibilidade
![Page 34: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/34.jpg)
Obrigado!!!
![Page 35: Boas práticas de desenvolvimento em IoT - Victor Lima](https://reader031.vdocuments.pub/reader031/viewer/2022030313/58ecee1f1a28abd0758b4637/html5/thumbnails/35.jpg)
Desenvolvemos produtos digitais