What is a good technology stack today?

38
WHAT IS A GOOD WEB TECHNOLOGY STACK TODAY? Gustaf Dalemar

Transcript of What is a good technology stack today?

Page 1: What is a good technology stack today?

WHAT IS A GOODWEB TECHNOLOGY

STACKTODAY?Gustaf Dalemar

Page 2: What is a good technology stack today?

You can't know where you're going until you know where you've

been- Someone

“”

Page 3: What is a good technology stack today?

1995 2000 2005 2010 2016

JAVASCRIPTIS BORN

Page 4: What is a good technology stack today?

1995 2000 2005 2010 2016

DHTML IS

INTRODUCED

Page 5: What is a good technology stack today?

1995 2000 2005 2010 2016

AJAX NEW

LIBRARIES

Page 6: What is a good technology stack today?

1995 2000 2005 2010 2016

MV* AND

BUILD TOOLS

Page 7: What is a good technology stack today?

1995 2000 2005 2010 2016

?

Page 8: What is a good technology stack today?

WEB DEVELOPMENT

IS MOVING FASTER THAN

EVER

Page 9: What is a good technology stack today?

WEBGLWEBASSEMBLEY

CSS3+ & HTML5NEW APIs

WEB COMPONENTSNEW VERSIONS OF JS

Page 10: What is a good technology stack today?

HIGHER EXPECTATIONSFIRST CLASS EXPERIENCE

Page 11: What is a good technology stack today?

FRAMEWORK- vs -

LIBRARIES

FROM FRAMEWORKSTO LIBRARIES

Page 12: What is a good technology stack today?

“JAVASCRIPT FATIGUE”We have become paralyzed by our own rate of invention

Page 13: What is a good technology stack today?

“ Whenever a new framework, tool or

technique comes out, I hear more groans than

celebrations ”http://wesbos.com/overwhelmed-with-web-development/

Page 14: What is a good technology stack today?

“ How are we supposed to get any work done

when everything keeps changing? ”http://wesbos.com/overwhelmed-with-web-development/

Page 15: What is a good technology stack today?

UNDERSTANDABLEBUT WE SHOULD NOT NEED TO FEEL THIS

Page 16: What is a good technology stack today?

HOW TO MANAGE

BECOME A HAPPY DEVELOPER

Page 17: What is a good technology stack today?

TAKEAWAYSDon’t try to know everything, is is not possible.There is no perfect solution. Hard to go totally

wrong.Wait for others and listen to what they are saying.

(Use Edge for instance)Stick to what you understand, don’t feel the need

to change everything at once.Experiment with new technologies in smaller

projects.The basics don’t change, focus on fundamentals.

Page 18: What is a good technology stack today?

WHAT IS A GOODWEB TECHNOLOGY

STACK TODAY?

Page 19: What is a good technology stack today?

I HAVE WORKED THE LAST YEAR

WITH CREATING FRONT END

STACKS

Page 20: What is a good technology stack today?

WARNINGTHE FOLLOWING SLIDES CONTAIN

HYPE & OPINIONS

!

Page 21: What is a good technology stack today?

VIEWReact with Flux Why?

Makes it easier for us to create user interfaces that are easy to reason about and are performant. Great DX. Use together with Redux and React Router.

Alternatives Cycle.js, Angular 2, Meteor, …

Page 22: What is a good technology stack today?

JAVASCRIPTES201X through Babel Why?

Makes it easier to write code that is both powerful and easy to understand. Use the syntax of tomorrow today.

Alternatives Traceur, Closure, TypeScript

Page 23: What is a good technology stack today?

CSSCSS Modules Why?

Makes it easier to manage CSS in a modular structure. This since it makes the normally globally scoped CSS locally scoped. Use together with your favorite preprocessor.

“Alternatives” Less, Sass, NextCSS, PostCSS

Page 24: What is a good technology stack today?

BUNDLERWebpack Why?

Primarily makes it possible to write code that uses modules and then run everything in the browser. Also adds additional features that makes it possible to replace task runners.

Alternatives Browserify, JSPM, Rollup

Page 25: What is a good technology stack today?

SERVERNode Why?

Logical to reuse the same logic both on the client and the server for a better user experience through universal (isomorphic) rendering. Often implemented with Express/Koa.

Alternatives Nothing really…

Page 26: What is a good technology stack today?

UNIVERSAL RENDERING

App API

ClientJavascrip

t

ServerJavascrip

t

Page 27: What is a good technology stack today?

APIGraphQL with Relay Why?

GraphQL makes it possible to define “queries” that talk to a single endpoint that will fetch exactly the data that we need. Something needed when apps become more modular and complex.

Alternatives Falcor, REST (In some language)

Page 28: What is a good technology stack today?

LINTINGESLint Why?

Makes it easier for use to write correct code, follow conventions and avoid silly mistakes.Alternatives JSHint, JSCS

Page 29: What is a good technology stack today?

TESTMocha + Karma + Expect Why?

A great set of tools to write tests, both for Node and for the browser. Can easily be combined with additional tools to make testing easier in for instance React.

Alternatives AVA, Chai, Jasmine, Jest, Tape

expect

Page 30: What is a good technology stack today?

PACKAGE MANAGER

npm Why?

Bower is declared dead and additionally npm can replace the need for Grunt and Gulp (when used together with for instance Webpack).

Alternatives Nothing in practice…

Page 31: What is a good technology stack today?

DEMOLET'S SEE MOST OF THIS IN ACTION

Demo was based on this project and used through Roc (see later slide). To get the same as shown in demo use Roc by doing the following:

See http://www.getroc.org/#install for how to set it up, quite straight forward and easy to do.

Page 32: What is a good technology stack today?

HOW DO WE USE

EVERYTHING TOGETHER?

Page 33: What is a good technology stack today?

BOILERPLATE

STARTER KIT

Copy all of this into a directory and change parts of it. It will work, we promise.

- Creator

Page 34: What is a good technology stack today?

GENERATORLIKE YEOMAN

Page 35: What is a good technology stack today?

MANUALLYHAND CRAFT IT WITH LOVE

Page 36: What is a good technology stack today?

WE NEED A BETTER SOLUTION

“Imagine the benefits of a framework with the flexibility of modern libraries”

Page 37: What is a good technology stack today?

RocRoc.jsAn ecosystem of complete and

versioned solutions, powered by an extendable and configurable

architecturehttp://getroc.org

Page 38: What is a good technology stack today?

THANKS FOR LISTENINGQUESTIONS?