Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
360
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Architecting Rails Apps
Iago Dahlem Lorensini
December 10, 2018
Featured
See All Featured
Crafting Experiences
bethany
1
380
Faster Mobile Websites
deanohume
310
32k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
560
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
The agentic SEO stack - context over prompts
schlessera
0
970
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.4k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The SEO identity crisis: Don't let AI make you average
varn
0
590
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