Frameworkless Frontend Development
Why do we use frameworks?
Reinventing the square wheel
Photo by Dakota Corbin on Unsplash
By Falk2 (Own work) [CC BY-SA 4.0], via Wikimedia Commons
Every framework you’ve ever seen is really just an echo of this statement:
My language sucks!
Robert C. Martin (Uncle Bob)
I ❤️️ JavaScript
Ehi guys, if I would need to have data binding without using Angular/React or whatever, what do you suggest?
Welcome Frameworkless!
Talk is cheap, show me the code
Linus Torvalds
What is Frameworkless?
In a nutshell...
Frameworkless means to learn how to code without frameworks, learning from frameworks themselves
And to add a "No Framework" option on the table everytime that we need to start a new project or feature
And when using a framework, don't think that the "Framework way" is the only way
Emergent Design
...architectures should be driven by the underlying technical requirements of the system, rather than speculative planning for a future that may change.
Thoughtworks Technology Radar
The right architecture should be defined by your features...
Let the need for a framework to emerge
How to choose then?
Context is Everything
How is more important then What
Non-functional requirement
accessibility
accountability
accuracy
adaptability
administrability
affordability
agility
auditability
autonomy
availability
compatibility
composability
configurability
correctness
credibility
customizability
debugability
degradability
demonstrability
dependability
deployability
determinability
discoverability
distributability
durability
effectiveness
efficiency
extensibility
fault tolerance
fidelity
flexibility
inspectability
installability
integrity
interoperability
learnability
maintainability
manageability
mobility
modifiability
modularity
operability
orthogonality
performances
portability
precision
predictability
process capabilities
producibility
provability
recoverability
recoverability
relevance
reliability
repeatability
reproducibility
resilience
responsiveness
reusability
robustness
safety
scalability
seamlessness
securability
self-sustainability
serviceability
simplicity
stability
standards compliance
survivability
sustainability
tailorability
testability
timeliness
traceability
transparency
usability
wow effect
Framework Compass Radar
Introducing...
Choose a small set of NFR and put them on a Radar Chart...
All members of the team should fill the chart
Try to choose a framework / library that matches the values of the Chart
The importance is in the discussion itself, not in the tool
Longevity > Velocity
Longevity < Velocity
Tech decisions are not just about the code...
...but it's also about people!
Programming is a social activity
Uncle Bob
One More Thing...
Frameworkless Movement
Get Involved
Thanks
f.strazzullo@extrategy.net
@TheStrazz86
https://github.com/francesco-strazzullo
https://medium.com/@TheStrazz86
https://slides.com/francescostrazzullo