Frameworkless Frontend Development 

Why do we use frameworks?

Not Invented Here (NIH) syndrome

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?

Demo

Scalability

Performances

You shouldn't go frameworkless but...

"Defend" yourself from Frameworks

What parts of a framework are really important for your project?

@Component(...)
export class MyComponent implements OnInit {
 
  results: string[];
 
  constructor(private http: HttpClient) {}
 
  ngOnInit(): void {
    this.http.get('/api/items').subscribe(data => {
      this.results = data['results'];
    });
  }
}
@Component(...)
export class MyComponent implements OnInit {
 
  results: string[];
  
  ngOnInit(): void {
    window.fetch('/api/items')
        .then(r => r.json())
        .(data => {
          this.results = data['results'];
        });
  }
}

Frameworkless

Full Framework

The Right Mix for your business needs

...but how to understand our clients business needs?

Context is everything

Technical debt

Technical investment

Technical debt

Frameworks are...

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

Sometimes you need to build your own wheels

Photo by paolo candelo on Unsplash

Ego Slide

f.strazzullo@extrategy.net

@TheStrazz86

https://github.com/francesco-strazzullo

https://medium.com/@TheStrazz86

https://slides.com/francescostrazzullo

Thanks!

Frameworkless Frontend Development - Codemotion Milan 2017

By Francesco Strazzullo

Frameworkless Frontend Development - Codemotion Milan 2017

  • 2,687