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
210
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
100
Testing your app
jcaiqueoliveira
0
260
Modularizando seu app
jcaiqueoliveira
0
68
Nova Api de Localização Android
jcaiqueoliveira
0
72
Arquitetura para android
jcaiqueoliveira
6
320
Kotlin por onde começar?
jcaiqueoliveira
1
88
Introdução ao Android
jcaiqueoliveira
1
79
Kotlin 1.1
jcaiqueoliveira
0
120
Other Decks in Programming
See All in Programming
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
410
ドメインイベント増えすぎ問題
h0r15h0
2
540
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
270
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
280
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
220
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
180
Kaigi on Railsに初参加したら、その日にLT登壇が決定した件について
tama50505
0
140
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
330
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.2k
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
100
HTML/CSS超絶浅い説明
yuki0329
0
170
Zoneless Testing
rainerhahnekamp
0
150
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Building Your Own Lightsaber
phodgson
104
6.2k
A Philosophy of Restraint
colly
203
16k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
230
Six Lessons from altMBA
skipperchong
27
3.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Done Done
chrislema
182
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Adopting Sorbet at Scale
ufuk
74
9.1k
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