13. “ Whenever a new
framework, tool or
technique comes out, I hear
more groans than
celebrations ”
http://wesbos.com/overwhelmed-with-web-development/
14. “ How are we supposed to
get any work done when
everything keeps changing?
”
http://wesbos.com/overwhelmed-with-web-development/
17. TAKEAWAYS
Don’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.
21. VIEW
React 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, …
22. JAVASCRIPT
ES201X 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
23. CSS
CSS 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
24. BUNDLER
Webpack 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
25. SERVER
Node 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…
27. API
GraphQL 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)
28. LINTING
ESLint Why?
Makes it easier for use to write
correct code, follow conventions
and avoid silly mistakes.
Alternatives JSHint, JSCS
29. TEST
Mocha + 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
30. 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…
31. DEMO
LET'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.