Frontend fatigue

Gagyi Benedek

  • benedek.gagyi@logmein.com
  • @GagyiBenedek

frontend developer @ LogMeIn, Budapest

The sky's the limit!

  • what's the bare minimum?
  • which framework should I choose?
  • what's next?

What's the bare minimum?

  • JS basics
  • ES.next (ES2016, ES6 ...)
  • Modern CSS
  • Flux architecture

What's the bare minimum?

  • new language features
  • spread operator
  • promises vs. async/await
  • Babel

ES.next

What's the bare minimum?

  • flexbox
  • native variables
  • at least one strategy (OOCSS, BEM, SMACSS ...)
  • do we need preprocessors?
  • what about PostCSS?

Modern CSS

What's the bare minimum?

  • "A UI is just the representation of a JSON."
  • Redux.js
  • is MVV* dead?

Flux

Which framework should I choose?

  • React
  • Angular 2
  • Vue 2

Which framework should I use?

  • UI library, nothing else
  • virtual DOM
  • component oriented
  • JSX
  • wins the popularity contest, stable

React

Which framework should I use?

  • true framework
  • kind of forces TypeScript and RxJS
  • steep learning curve
  • dependency injection
  • easy to read syntax
  • size: AOT compiling, tree shaking

Angular 2

Which framework should I use?

  • backed by Asian companies
  • inspired by Angular -> easy to learn
  • flexible
  • not too popular (yet)

Vue 2

Which framework should I use?

It depends...

Which framework should I use?

It depends...

  • going big? React!

Which framework should I use?

It depends...

  • going big? React!
  • starting small? Vue 2!

Which framework should I use?

It depends...

  • going big? React!
  • starting small? Vue 2!
  • special needs? Angular 2!

Which framework should I use?

It depends...

  • going big? React!
  • starting small? Vue 2!
  • special needs? Angular 2!
  • what about performance?

What's next?

  • functional programming
  • web components
  • web assembly
  • cross-platform solutions

What's next?

Functional programming

  • the holy grail of programming (?)
  • Elm
  • long way to go

What's next?

Web components

  • native solution
  • Polymer
  • it's almost here

What's next?

Web assembly

  • compile-to-web
  • Emscripten
  • all the major players are pushing it

What's next?

Cross-platform solutions

  • one codebase to rule them all
  • Ionic, React Native, Nativescript, Electron ...
  • widely used, not quite there yet

What was left out?

  • TypeScript (Flow)
  • task runner (Grunt, Gulp, Broccoli)
  • bundlers (Webpack, Browserify)
  • HTTP/2
  • Dart

Thank you for the attention!

deck

By Benedek Gagyi

deck

  • 1,220