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
Architecting Rails Apps
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Iago Dahlem Lorensini
December 10, 2018
0
320
Architecting Rails Apps
Iago Dahlem Lorensini
December 10, 2018
Tweet
Share
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Tell your own story through comics
letsgokoyo
1
810
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
Designing Experiences People Love
moore
144
24k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Optimizing for Happiness
mojombo
379
71k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
120
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Transcript
ARCHITECTING ARCHITECTING RAILS RAILS APPS APPS Studies and thoughts from
a Front End perspective.
IAGO DAHLEM IAGO DAHLEM Passionate about web and it's ecossystem
JavaScript Addicted (also like Ruby) Software Developer at Codeminer 42 Florianópolis
WE ARE HIRING! WE ARE HIRING!
[email protected]
DISCLAIMERS DISCLAIMERS No code examples :( Keep focus on the
theory Don't get it to hard
WHY FRONT-END WHY FRONT-END PERSPECTIVE? PERSPECTIVE? Common problems Same responsibilities
None
None
THE BAD RAILS THE BAD RAILS Built on top of
MVC Changes affects other parts of the app Top level structure screams the web framework We don't know what it does
"MVC is a delivery design pattern." - Uncle Bob
WHAT IS ARCHITECTURE WHAT IS ARCHITECTURE ANYWAY?! ANYWAY?! Independent of
technology/framework Makes software easier to change and test
Domain layer Application layer Infrastructure layer Input layer
DOMAIN LAYER DOMAIN LAYER Entities and business Rules Used by
the application layer to de ne use cases Examples: User, Article
APPLICATION LAYER APPLICATION LAYER Use cases and actual behavior Interacts
with Domain units Adapts the Infrastructure Layer Examples: CreateUser, CreateArticle
INFRASTRUCTURE LAYER INFRASTRUCTURE LAYER Interacts with the external world of
the application The lowest of them Databases, email services, external APIs Examples: UserRepository, MailChimpService, ArticlesService
INPUT LAYER INPUT LAYER The entry point Should only receives
user input Returns a response to the user Controllers, CLIs, WebSockets, GUIs Examples: UsersController, ArticlesController
SUMMARIZING SUMMARIZING Keep it simple You don't need to use
everything Find what works better for and your business Make it fun
ADDITIONAL ADDITIONAL INFORMATION INFORMATION The Miners - Scalable Frontend #1
Uncle Bob - Architecture the Lost Years
THANKS! THANKS! @iagodahlem iagodahlem.com