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
🎙️ 🇪🇺