|
| 1 | + |
| 2 | + |
| 3 | +Learn React.js for *high performance* JavaScript applications. |
| 4 | + |
| 5 | +## Start |
| 6 | + |
| 7 | +- Getting started: http://facebook.github.io/react/docs/getting-started.html |
| 8 | +(recommends using [JSX](http://jsx.github.io) which is quite bleeding-edge) |
| 9 | +- Tutorial: http://facebook.github.io/react/docs/tutorial.html |
| 10 | + |
| 11 | + |
| 12 | +## Background |
| 13 | + |
| 14 | +React is a JavaScript library for building user interfaces. |
| 15 | + |
| 16 | ++ **Just the UI:** Lots of people use React as the V in MVC. |
| 17 | +Since React makes no assumptions about the rest of your technology stack, |
| 18 | +it's easy to try it out on a small feature in an existing project. |
| 19 | ++ **Virtual DOM:** React uses a *virtual DOM* diff implementation |
| 20 | +for ultra-high performance. It can also render on the server using |
| 21 | +Node.js — no heavy browser DOM required. |
| 22 | + * This means that every time something changes, React creates a _virtual_ DOM tree, checks for the differences between that and the existing DOM and then re-renders **only the differences** to the DOM |
| 23 | ++ **Data flow:** React implements one-way reactive data flow which reduces |
| 24 | +boilerplate and is easier to reason about than traditional data binding. |
| 25 | + |
| 26 | + |
| 27 | +### Reading |
| 28 | + |
| 29 | ++ Main Site: http://facebook.github.io/react/ |
| 30 | ++ Getting Started: http://facebook.github.io/react/docs/getting-started.html |
| 31 | ++ Thinking in React: http://facebook.github.io/react/docs/thinking-in-react.html |
| 32 | ++ Overview (Flux): http://facebook.github.io/flux/docs/overview.html |
| 33 | ++ GitHub: https://github.com/facebook/react |
| 34 | + |
| 35 | +### Video |
| 36 | + |
| 37 | ++ *Introduction* to React.js: https://www.youtube.com/watch?v=XxVg_s8xAms |
| 38 | ++ *Thinking* in React: http://tagtree.tv/thinking-in-react (click "maybe later" for video to start) |
| 39 | ++ Main List: https://facebook.github.io/react/docs/videos.html |
| 40 | ++ Building UIs with ReactJS: http://youtu.be/lAn7GVoGlKU?t=51s |
| 41 | ++ *High performance* functional programming with **React** *and* **Meteor**: |
| 42 | +https://www.youtube.com/watch?v=qqVbr_LaCIo |
| 43 | ++ React's Architecture: https://www.youtube.com/watch?v=eCf5CquV_Bw |
| 44 | ++ Getting Started with React.js: ~~ https://www.youtube.com/watch?v=6ho8aOPUYxs ~~ |
| 45 | +http://code.tutsplus.com/courses/getting-started-with-reactjs |
| 46 | +(I Paid the $15 for the course - let me know if you need access) |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | +## What? |
| 51 | + |
| 52 | +react.min.js (minified!) is ***124kb***! |
| 53 | +see: http://facebook.github.io/react/downloads.html |
| 54 | +specifically: http://fb.me/react-0.11.2.min.js |
| 55 | + |
| 56 | +### Resources |
| 57 | + |
| 58 | +- Great list of React.js resources: https://github.com/enaqx/awesome-react |
| 59 | + |
| 60 | +### Components not Templates |
| 61 | + |
| 62 | +> http://css-tricks.com/modular-future-web-components |
| 63 | +
|
| 64 | +### Server-Side Rendering |
| 65 | + |
| 66 | ++ https://www.npmjs.com/package/react-server-example |
| 67 | ++ http://maketea.co.uk/2014/06/30/building-robust-web-apps-with-react-part-4.html |
| 68 | + |
| 69 | + |
| 70 | +## Testing with JEST |
| 71 | + |
| 72 | ++ GitHub Repo for Jest CLI: https://github.com/facebook/jest |
| 73 | ++ Get Started: http://facebook.github.io/jest/docs/getting-started.html |
| 74 | ++ Tutorial: https://facebook.github.io/jest/docs/tutorial.html |
| 75 | ++ API: https://facebook.github.io/jest/docs/api.html |
| 76 | ++ Testing Flux Apps: http://facebook.github.io/react/blog/2014/09/24/testing-flux-applications.html |
| 77 | + |
| 78 | +### Test Coverage |
| 79 | + |
| 80 | ++ http://stackoverflow.com/questions/28283371/how-to-get-test-coverage-from-jest-while-testing-react-js-app |
| 81 | + |
| 82 | +## React Native |
| 83 | + |
| 84 | +- React.js Conf 2015 Keynote: http://youtu.be/KVZ-P-ZI6W4 |
0 commit comments