Charly POLY - Senior Software Engineer at
1
00'
2
10'
3
20'
Animations era
Interactions era
SPA era
JQuery /Prototype |
---|
Cross-browsers API |
Animations |
- |
- |
- |
3
20'
2
10'
1
00'
Backbone |
---|
MVP |
Component State management |
Templating |
- |
Angular / React |
---|
MVV, MV* |
Separation of Concerns |
Application State management |
modules |
DI |
From animations to apps
3
20'
1
00'
State management
Crypto
Offline capabilities
Routing
Rendering
PWA
Modern front-end is Software
Software Architecture in practice
Technical Roadmap
Guidelines
A Quality Attribute (QA) is a measurable or testable property of a system that is used to indicate how well the system satisfies the needs of its stakeholders
Software Architecture in Practice, p.63
Software Architecture in Practice
Quality Attribute = Definition + Tactics + Scenarios
Product
requirements
Architecture QAs
Technical roadmap
Technical guide
Features updates
New features
Start-up stage
(team size, etc..)
AND /
OR
Market-fit
Stage
Garage
Early
Growth
Late
Build a technical roadmap
Build a technical roadmap
Build technical guidelines
Guidelines for new development
➡️ Enhance Modifiability, so :
reduce module size, increase cohesion and reduce coupling
- Components naming convention
- Redux as event-bus to defer binding of components
- Components refactoring to follow SRP principles
- Data HoC in order to prepare GraphQL migration
Guidelines for new development: Components naming convention
Guidelines for new development: Components naming convention
[Domain]|[Page/Context]|ComponentName|[Type] Part surrounded by “[]” are optional.
From redux + REST to GraphQL
Strategic Debt
Track it!
Redeem it
Introduce it
1
2
3
Guidelines for new development: REST to GraphQL migration
Guidelines for new development: REST to GraphQL migration
Guidelines for new development: REST to GraphQL migration
See you at React Europe
🎙️ 🇪🇺