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