Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rebuilding Tech in Asia's Frontend with React

Melvin Lee
January 28, 2016

Rebuilding Tech in Asia's Frontend with React

Slides for my talk during ReactJS Singapore Jan 2016 meetup.

Links TLDR if you're lazy to download the PDF:

Dev Tools:
- webpack: https://webpack.github.io/
- bootstrap-loader: https://github.com/shakacode/bootstrap-loader
- Babel: https://babeljs.io/
- react-transform-hmr: https://github.com/gaearon/react-transform-hmr
- ESLint: http://eslint.org/
- eslint-config-techinasia: https://github.com/techinasia/eslint-config-techinasia

Core Libraries:
- lodash: https://lodash.com
- react-router: https://github.com/rackt/react-router
- react-helmet: https://github.com/nfl/react-helmet
- Fetch API (polyfill): https://github.com/github/fetch

Starting Boilerplate:
- https://github.com/gaearon/flux-react-router-example

Migrating from Flux to Redux:
- http://rackt.org/redux/docs/recipes/MigratingToRedux.html

Testing:
- mocha: https://mochajs.org
- karma: https://karma-runner.github.io/0.13/index.html
- sinon: http://sinonjs.org/
- expect: https://github.com/mjackson/expect
- enzyme: https://github.com/airbnb/enzyme

Prerender.io: https://prerender.io/

Tech in Asia stuff:
- Join Us: https://www.techinasia.com/join
- Developer complimentary passes give-away for Tech in Asia Singapore 2016: https://www.techinasia.com/developers-free-passes-tech-asia-singapore-2016

Melvin Lee

January 28, 2016
Tweet

More Decks by Melvin Lee

Other Decks in Technology

Transcript

  1. Before... 2 separate platforms, serving content within itself: for editorial

    content app for startups database WordPress Laravel
  2. After serving editorial content via REST API REST service for

    startups database + ??? application calling the respective APIs WordPress Laravel React
  3. Dev Tools for bundling all our assets for our custom

    Bootstrap theme for our ES2015+ goodies (and compiling JSX) for hot reloading with our for linting webpack bootstrap-loader Babel 5 6 react-transform-hmr ESLint own extended rules
  4. Core Libraries for array/object management & FP for routing for

    ʳ‡–ƒʴ management for AJAX calls lodash react-router react-helmet Fetch API      IHWFK XUO WKHQ U !UMVRQ  WKHQ GDWD !FRQVROHORJ GDWD  FDWFK H !FRQVROHORJ %RRR     
  5. Flux Architecture Modified Flux architecture based on boilerplate One foot

    into : Action Creators Actions Dispatcher Reducers Stores Components migrating to Redux
  6.       H[SRUWGHIDXOWIXQFWLRQZUDS6RPHWKLQJ ^ UHWXUQ :UDSSHG&RPSRQHQW

     !^ UHWXUQFODVV6RPH&RPSRQHQWH[WHQGV&RPSRQHQW^  UHQGHU ^ UHWXUQ:UDSSHG&RPSRQHQW^WKLVSURSV`^WKLVVWDWH`! ` ` ` ` FODVV)RR&RPSRQHQWH[WHQGV&RPSRQHQW^` H[SRUWGHIDXOWZUDS6RPHWKLQJ )RR&RPSRQHQW      
  7. Testing + for browser-based testing for test spies, stubs &

    mocks for assertion for JSX testing mocha karma sinon mjackson/expect airbnb/enzyme       LPSRUW^VKDOORZ`IURP HQ]\PH  GHVFULEH 0\&RPSRQHQW!   !^ LW UHQGHUVWKUHH)RR!FRPSRQHQWV   !^ FRQVWZUDSSHU VKDOORZ 0\&RPSRQHQW!  H[SHFW ZUDSSHUILQG )RR WRKDYHOHQJWK   `  `     
  8. Still loads to do & play around! (Slowly) migrate to

    Redux Optimize DOM rendering (infinite scroll) Making code base universal (isomorphic) ready Normalizing our store data Finish working on ??? features
  9. Tech in Asia Singapore 2016 12 - 13 April 2016

    · Suntec City Convention Centre https://www.techinasia.com/developers-free-passes-tech- asia-singapore-2016