JavaScript Micro Apps @Compass Learning
Component UI + Microservice Architecture
Micro - The Good
Feature driven
Framework / design pattern / style guide / process agnostic
Resource scalable
Decoupled
NodeJS / JavaScript FullStack + Cloud Infrastructure Ecosystem support
Micro - The Bad
Antipatterns
Event and State Management
View Component Hierarchy
Style consistency vs. component decoupling
Developer Full Stack / JavaScript interest and knowledge
Internal npm package maintenance
Micro - The Ugly
The hype backlash
JavaScript fatigue
HipsterJS
NNFF
Raiders Of The Lost Arc - Don't Touch The Shiny Thing
If it ain't broke (even if it is)
Why Go Micro @Compass?
Knowledgeable, enthusiastic resources
Existing Monolithic Architecture with hotspot features
Ready for change
Hotspot features - Student Growth Indicator, Reports, etc.
Testable, less performance critical features
Managing The Pain
Tweaked Generators
Embed Styles in Components + Layout Containers
Treat client side routes like API Gateways
Observer Pattern / Pub Sub UI Components
Model View Intent Pattern
(any virtual dom / component lib + any FRP lib)
Deployment + Container Automation
Semver
Rational evaluation, education and investigation
AUTOMATE ALL THE THINGS
Use cloud services and existing solutions vs. NIH for not feature related work! There's plenty of work and new stuff to create :)
NOT EVERY WHERE!
NOT ALL AT ONCE!