As a subset of the JS community, react has seen a lot of so-called ""good practices"" these last years, made out of libraries and design patterns. As if it wasn't hard enough to stay sane in a crazy JS world, we're now doing the same in react.
Together, let's explore how such abundance of new techniques can actually be embraced, without making you lose your mind !
1 of 57
More Related Content
JS Fest 2019/Autumn. Alexandre Gomes. Embrace the "react fatigue"
5. JS Fatigue
! Yearly ES spec
! New libraries, features
! New good practices
! Imposter syndrome
! TS is now the industry standard
! Node is now required for front/back-end
! Tooling complexity (webpack, babel) = Entry barrier
10. A new paradigm !
! New paradigm: UI as a function of state
! All previously done by a framework ! (switch to micro)
! Fast iterations, new problems to solve
! npm ecosystem
13. Full-stack 束Frameworks損
Vulcan is unique in that it spans the full stack, from the database to the browser.
While there exists many excellent back-end frameworks or backend-as-a-service
providers, these all still require you to handle your front-end code yourself,
including building a set of components to read, write, and display data.
But because Vulcan is full-stack, its able to speed up these repetitive tasks by
providing a whole range of helper components that are 鍖ne-tuned to the Vulcan back-
end, and as a result just work out of the box.
15. Yo
! From , living in
! Full-Stack, focusing on front-end
logic
! Just talk to me later on!
! @alexgomesdev
16. My experience with webdev
! Full-Stack dev
! Worked on the back-end, Node.js
! Entered front-end dev professionally
! Straight up took on a complex project
! I dont have that much experience !
19. At first, I was like
! Im lazy
! No DSL to learn
! No opinionation
! React it is!
! (incidentally, unidirectional
data flow and functional
style)
20. Im lazy: no opinionation/DSL
! React is a library, not a framework
! 束React is just JS損
! No concepts to learn on top of JS/HTML, just a 束simple損 API
25. Just moving the problem away
! Boilerplate
! Abstracting REST API / network (Ethereum, etc..) calls to redux
! There must be a better alternative ?
33. GraphQL
! Declarative data-fetching
! Query Language + Schema Definition Language (SDL)
! Ask only for what you need
! Doesnt define how you get data
! Doesnt have to be a server
! Just a spec
37. Well not only !
! Query-Component colocation
! Reduces redux usage
! Complete ecosystem with optimistic UI updates, caching etc (apollo-
client)
! New pattern to learn
! New concepts to learn if you use relay
! Defines your app architecture
46. But
! New syntax to learn
! New composition model to learn
! New reasons for debates to emerge in the community
! Entry-barrier to react becoming even higher
49. Can be mitigated!
! Dont try to recreate a framework
! Dont be afraid to try non-standard libs
! Would a new React dev learn easily?
! Avoid lock-in
50. 束Would a new React dev learn easily?損
! Try to minimise the 束onion effect損
! Gatsby: Need to learn React + GraphQL
51. Avoid lock-in
! How hard is it to opt out of chosen solution?
! react has small lock-in footprint
! rails-like solution = bigger lock-in
52. Every pattern can be dirty
! Try to think your pattern at scale in advance
! Regularly reconsider your choices
54. Seriously, dont go full hipster
! Keep it clean
One lib/technology per pattern
Isolated parts of your app
Refactor if/after you ditch that pattern/library
No conflicting patterns
! Side projects are cool !
55. Embrace it
! Dont forget why you chose a library vs. a framework
! Skeptical mindset
! React Fatigue is a strength
! Embrace the ecosystem
56. Stay curious!
! Stay curious
Read about new libs / patterns
Analytic mind on trends
Dont always go with the community