Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Arquitetura para projetos Android
Search
José Caique Oliveira
June 03, 2017
Programming
1
220
Arquitetura para projetos Android
Slides utilizados na apresentação sobre arquitetura no android day aracaju
José Caique Oliveira
June 03, 2017
Tweet
Share
More Decks by José Caique Oliveira
See All by José Caique Oliveira
Kotlin Flow
jcaiqueoliveira
0
110
Coroutines And Flow
jcaiqueoliveira
2
110
Testing your app
jcaiqueoliveira
0
290
Modularizando seu app
jcaiqueoliveira
0
71
Nova Api de Localização Android
jcaiqueoliveira
0
78
Arquitetura para android
jcaiqueoliveira
6
320
Kotlin por onde começar?
jcaiqueoliveira
1
89
Introdução ao Android
jcaiqueoliveira
1
80
Kotlin 1.1
jcaiqueoliveira
0
120
Other Decks in Programming
See All in Programming
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
810
WindowInsetsだってテストしたい
ryunen344
1
190
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
46
31k
C++20 射影変換
faithandbrave
0
530
Deep Dive into ~/.claude/projects
hiragram
8
1.5k
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
生成AIで日々のエラー調査を進めたい
yuyaabo
0
650
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
120
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
250
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
320
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
100
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
53
7.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Code Review Best Practice
trishagee
68
18k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Transcript
Arquitetura para projetos Android
Caique Oliveira Desenvolvedor Android @Stone
Trilhando uma jornada no Android
None
None
None
Eis que nasce sua aplicação
Como você pensa que foi feito
Como realmente é
None
Características ▷ Depende de frameworks ▷ Aplicação não portável ▷
View Inteligente ▷ God Model
Acoplamento
Problemas do acoplamento ▷ Difícil de manter ▷ Difícil de
testar ▷ Difícil de escalar
None
Problemas do acoplamento ▷ De quem realmente é a culpa
pelo problema? ▷ Como corrigir? ▷ Como garantir que não criou outros erros?
Como posso desacoplar minha aplicação?
Arquitetura de software ▷ Organização em camadas ▷ Evita dependências
▷ Escalável, Testável e de fácil entendimento
MVVM MVC VIPER Hexagonal MVP Etc
Arquitetura Limpa (aka clean)
None
None
Arquitetura Limpa ▷ Frameworks são detalhes(rest,banco,etc) ▷ Casos de Usos
são essenciais ▷ Entidades são essenciais
Arquitetura Limpa
O que se busca ▷ Depender o mínimo possível de
framework ▷ Depender de comportamentos(interface) ▷ Núcleo Testável
Como começar?
Defina Fronteiras
None
“ O núcleo da sua aplicação é importante o restante
deve ser descartável
“ Seu Json não é a sua informação
Conecte suas camadas ▷ Callbacks ▷ Programação reativa
None
None
Organize seus pacotes
Funcionalidade por pacote ▷ Fácil navegação ▷ Intenção explícita ▷
Fácil para achar dependências
Dificuldades ▷ Separar em camadas ▷ Escreve-se mais códigos ▷
Necessário cuidado com excesso de arquitetura
Concluindo ▷ Não há uma fórmula mágica ▷ Busque simplificar
seu projeto
Obrigado Slack Androiddevbr: caique
[email protected]
@jc_hobbit
Referências https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-ar chitecture.html https://speakerdeck.com/ubiratansoares/escaping-from-the-fr amework https://fernandocejas.com/2014/09/03/architecting-android-t he-clean-way/ https://vimeo.com/43612849