Skip to content

Commit

Permalink
Updates, 2016-10-23
Browse files Browse the repository at this point in the history
Add React Native, React Server Rendering, and Static Types pages
Rework MobX page for clarity
  • Loading branch information
markerikson committed Oct 24, 2016
1 parent e499a00 commit 6489951
Show file tree
Hide file tree
Showing 22 changed files with 282 additions and 34 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ You might also want to check out my categorized list of Redux-related addons, li
- [Functional Programming](functional-programming.md)
- [Immutable Data](immutable-data.md)
- [React/Redux Testing](react-redux-testing.md)
- [React Native](./react-native.md)

#### Advanced Topics

Expand All @@ -38,11 +39,14 @@ You might also want to check out my categorized list of Redux-related addons, li
- [React and Forms](./react-forms.md)
- [React and AJAX](./react-ajax.md)
- [React Styling](./react-styling.md)
- [React Server Rendering](./react-server-rendering.md)
- [React/Redux Performance](react-performance.md)
- [React/Redux Architecture](react-redux-architecture.md)
- [Redux Side Effects](redux-side-effects.md)
- [Redux Tips and Techniques](redux-techniques.md)
- [Webpack Advanced Techniques](webpack-advanced-techniques.md)
- [Static Typing](./static-typing.md)




Expand Down
8 changes: 8 additions & 0 deletions es6-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@
http://learnharmony.org/
An interactive tool for learning and experimenting with ES6/ES2015 features

- **ES6 New Features Tutorials**
https://www.youtube.com/playlist?list=PL6gx4Cwl9DGBhgcpA8eTYYWg7im72LgLt
A set of video tutorials explaining the new features in ES6


#### In-Depth Details

Expand Down Expand Up @@ -95,6 +99,10 @@
https://www.bennadel.com/blog/3123-using-es6-generators-and-yield-to-implement-asynchronous-workflows-in-javascript.htm
A dive into how generators work, and how they can be used to handle async behavior

- **ES6 Promise Anti-Patterns and Best Practices**
http://www.datchley.name/promise-patterns-anti-patterns/
Some advice for good usage of Promises


#### Techniques

Expand Down
3 changes: 3 additions & 0 deletions javascript-resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ While this list is primarily focused on learning React and Redux, and generally
https://medium.com/@nashvail/lets-settle-this-part-one-ef36471c7d97
Another look at `this`, with a number of examples and explanations

- **Grokking Scope in Javascript**
https://code.tutsplus.com/tutorials/grokking-scope-in-javascript--cms-26259
Advice for understanding how Javascript variable coping works


#### Paid Courses and Books
Expand Down
58 changes: 41 additions & 17 deletions mobx-tutorials.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,54 @@

#### Basic Introductions
- **MobX Docs**
https://github.com/mobxjs/mobx
The official MobX documentation. They also have an [interactive 10 minutes introduction](https://mobxjs.github.io/mobx/getting-started.html) to get started with MobX and React.
I would suggest you also take a look at their [API overview](https://mobxjs.github.io/mobx/refguide/api.html).
https://github.com/mobxjs/mobx
https://mobxjs.github.io/mobx/
https://mobxjs.github.io/mobx/getting-started.html
The official MobX site, with documentation including a getting started introduction and API reference.

- **Getting Started with MobX - Video Series**
[MobX introduction tutorial by LearnCode.academy](https://www.youtube.com/watch?v=_q50BXqkAfI)
A quick two videos introduction to MobX, how to set it up get start coding a simple ToDo App.
https://www.youtube.com/watch?v=_q50BXqkAfI
A quick two videos introduction to MobX: how to set it up, and get started coding a simple ToDo App.

- **Managing complex state in React - Video Series**
[Manage Complex State in React Apps with MobX](https://egghead.io/courses/manage-complex-state-in-react-apps-with-mobx)
MobX fundamentals including debugging with the MobX-react devtools.
- **Managing complex state in React with MobX - Video Series**
https://egghead.io/courses/manage-complex-state-in-react-apps-with-mobx
Videos describing MobX fundamentals including debugging with the MobX-react devtools.

- **Introduction video to MobX with React - Video**
[Practical React with MobX](https://www.youtube.com/watch?v=XGwuM_u7UeQ)
In depth introduction to MobX with React including 'Why mobx' (all coded with ES5).
https://www.youtube.com/watch?v=XGwuM_u7UeQ
In depth introduction to MobX with React including 'Why mobx' (all coded with ES5).

- **Comparing MobX and Redux - Video**
[Comparing MobX and Redux](https://www.youtube.com/watch?v=83v8cdvGfeA)
A great video to understand the differences between MobX and Redux.
- **React Native with MobX — Getting Started**
https://medium.com/@dabit3/react-native-with-mobx-getting-started-ba7e18d8ff44
An introduction article about combining MobX and React Native to create a simple list app.

- **Real World MobX**
https://www.youtube.com/watch?v=Aws40KOx90U
A talk by MobX creator Michel Weststrate, describing MobX's concepts and usage

- **React Native with MobX — Getting Started**
[Medium article](https://medium.com/@dabit3/react-native-with-mobx-getting-started-ba7e18d8ff44#.s9xqrdxxg)
An introduction article about combining MobX and React Native to create a simple list app.

#### Testing

- **Testing React and MobX**
[How to Test React and MobX with Jest](https://semaphoreci.com/community/tutorials/how-to-test-react-and-mobx-with-jest?utm_content=buffer15b42&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer)
https://semaphoreci.com/community/tutorials/how-to-test-react-and-mobx-with-jest
A look at ways to test React components and MobX logic


#### MobX and Redux Comparisons

- **Comparing MobX and Redux - Video**
https://www.youtube.com/watch?v=83v8cdvGfeA
A great video to understand the differences between MobX and Redux.

- **Redux or MobX: An attempt to dissolve the confusion**
http://www.robinwieruch.de/redux-mobx-confusion/
An in-depth comparison of the ideas, concepts, approaches, and use cases for the two state management libraries

- **Redux vs MobX by example**
https://hashnode.com/post/redux-vs-mobx-by-example-part-i-intro-and-exploring-redux-cito5m0nn0sssxi53c7zq7jpr
https://hashnode.com/post/redux-vs-mobx-by-example-part-ii-the-simplicity-of-mobx-and-conclusion-citpp2tbu003za853ua1tx228
Implementation of the same app using both Redux and MobX, and a final comparison of the approaches

- **"How does MobX compare with Redux, and which is better for React app development?"**
https://hashnode.com/post/how-does-mobx-compare-with-redux-and-which-one-is-better-for-react-app-development-cisrch8eh0030g5532qeds1ja/answer/citq8rptk010cus530wdzdg69
An excellent answer comparing the two libraries and their philosophies
6 changes: 5 additions & 1 deletion node-js-and-npm.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,8 @@ NPM 3.7 or later, as that fixes a bug with the progress bar that drastically slo

- **Pragmatic Modularity with Node**
http://mafintosh.com/pragmatic-modularity.html
Includes a description of Node's resolution algorithm for `require`
Includes a description of Node's resolution algorithm for `require`

- **Node Hero: The Complete Node.js Tutorial**
https://risingstack.com/resources/node-hero
An ebook covering a variety of topics about using Node, including basic usage, NPM, Express, and building server applications. The ebook is free, but requires email registration to download.
6 changes: 6 additions & 0 deletions pros-cons-discussion.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,12 @@ similar structures in ClojureScript.
https://twitter.com/AdamRackis/status/751486423232966656
Discussion of React's performance compared to an existing Handlebars/Knockout app

- **"Why is everying in Javascript changing so fast?**
https://news.ycombinator.com/item?id=11833301
https://news.ycombinator.com/item?id=12760268
https://news.ycombinator.com/item?id=12758514
Yet another rant thread about Javascript churn, but with a couple very insightful comments about the unique complexities and challenges involved in writing applications for the web.

#### React's PATENTS License

- **Facebook Open Source License FAQ**
Expand Down
16 changes: 12 additions & 4 deletions react-component-patterns.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
### React Component Patterns

**Related topics**:
- [Thinking in React](./thinking-in-react-and-flux.md): Articles discussing ways to think about React applications and component structure

#### Terms and Concepts

- **React Patterns**
Expand Down Expand Up @@ -61,6 +64,11 @@
https://medium.com/@dan_abramov/mixins-are-dead-long-live-higher-order-components-94a0d2f9e750
A look at some of the issues with using mixins, and reasons why higher-order components are (usually) an improvement.

- **Mixins Considered Harmful**
https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html
https://news.ycombinator.com/item?id=12087796
Dan Abramov explains why the React team discourages use of mixins, and prefers HoCs

- **Higher Order Components: Theory and Practice**
http://engineering.blogfoster.com/higher-order-components-theory-and-practice/
Gives practical use cases for HOCs, such as authentication, routing, and data management, with samples.
Expand Down Expand Up @@ -101,6 +109,10 @@
http://rea.tech/functions-as-child-components-and-higher-order-components/
Comparisons and examples for these two component patterns

- **ReactCasts: Higher Order Components**
https://youtu.be/6nVxCWUAEPM
A screencast that walks through the idea and usage of Higher Order Components


#### Other Component Patterns

Expand Down Expand Up @@ -128,7 +140,3 @@
https://medium.com/@mirkomariani/functional-components-with-react-stateless-functions-and-ramda-e83e54fcd86b
Examples of using Ramda functions to compose together components

- **Mixins Considered Harmful**
https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html
https://news.ycombinator.com/item?id=12087796
Dan Abramov explains why the React team discourages use of mixins, and prefers HoCs
7 changes: 6 additions & 1 deletion react-forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,9 @@

- **Two-Way Data Binding and Form Validation in React**
https://medium.com/@thejenniekim/two-way-data-binding-and-form-validation-in-react-9d0b15123176
Another demonstration of building a form with some logic and validation.
Another demonstration of building a form with some logic and validation.

- **Form Validation as a Higher Order Component**
https://medium.com/javascript-inside/form-validation-as-a-higher-order-component-pt-1-83ac8fd6c1f0
https://medium.com/javascript-inside/form-validation-as-a-higher-order-component-pt-2-1edb7881870d
A 2-part series, demonstrating how to use Ramda and FP approaches to create validation logic
12 changes: 12 additions & 0 deletions react-native.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
### React Native


#### Tutorials

- **React Native Workshop**
https://rangle-io.gitbooks.io/react-native-workshop/content/
An introduction to React Native's concepts, in conjunction with Flexbox and Redux

- **Building the F8 App**
http://makeitopen.com/
A dive into how the Facebook F8 conference mobile app was built, including planning, design, testing, and data management.
7 changes: 7 additions & 0 deletions react-performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,10 @@ My [Redux Ecosystem Links](https://github.com/markerikson/redux-ecosystem-links)
http://rea.tech/reactjs-performance-debugging-aka-the-magic-of-reselect-selectors/
Discussion of React perf topics, and how Reselect selector functions can improve perf for Redux apps

- **Refactoring Components for Redux Performance**
https://yahooeng.tumblr.com/post/152078809581/refactoring-components-for-redux-performance
Discusses common perf issues, methods for analyzing perf, and ways to structure Redux-connected container components to cut down on re-rendering.

- **React/Redux Performance Tuning Tips**
https://medium.com/@arikmaor/react-redux-performance-tuning-tips-cef1a6c50759
A number of suggestions for improved performance with Redux
12 changes: 12 additions & 0 deletions react-redux-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,14 @@
- **My journey toward a maintainable project structure for React/Redux**
https://hackernoon.com/my-journey-toward-a-maintainable-project-structure-for-react-redux-b05dfd999b5
Describes an evolution of approaches for project structure

- **Building Modular Redux Applications**
https://vimeo.com/album/4199344/video/187454108
A talk discussing an approach to Redux structure by splitting logic into "data providers/sources" and presentation.

- **How to Structure real world Redux/React Applications**
https://medium.com/@yiquanzhou/how-to-structure-real-world-redux-react-application-d61e66a7dd36
Another look at structuring code, based on business logic, data domains, and reusability.


#### Redux Architecture
Expand Down Expand Up @@ -152,6 +160,10 @@
https://hackernoon.com/avoiding-accidental-complexity-when-structuring-your-app-state-6e6d22ad5e2a
An excellent set of guidelines for organizing your Redux store structure.

- **Redux Step by STep: A Simple and Robust Workflow for Real Life Apps**
https://hackernoon.com/redux-step-by-step-a-simple-and-robust-workflow-for-real-life-apps-1fdf7df46092
A follow-up to the "Accidental Complexity" article, discussing principles for structuring a Redux app and demonstrating how they apply to actual code.

- **Things I Wish I Knew About Redux**
https://medium.com/horrible-hacks/things-i-wish-i-knew-about-redux-9924abf2f9e0
https://www.reddit.com/r/javascript/comments/4taau2/things_i_wish_i_knew_about_redux/
Expand Down
4 changes: 4 additions & 0 deletions react-redux-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,10 @@
https://medium.com/@mmontoya/testing-reactjs-components-with-mocha-webpack-ce7f710d268c
Looks at how mocha-webpack can be used to enable faster testing for React components

- **Testing React Components with Enzyme and Mocha**
https://ifelse.io/2016/04/04/testing-react-components-with-enzyme-and-mocha/
Examples of setting up a Webpack+Mocha test environment, and using Enzyme for implementing tests

#### General Testing, Tools, and Setup

- **Javascript Testing: Unit vs Functional vs Integration**
Expand Down
9 changes: 9 additions & 0 deletions react-server-rendering.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
### React Server Rendering

- **React for Beginers: Creating an Isomorphic React App**
https://codingbox.io/react-for-beginners-creating-isomorphic-react-redux-app-and-deploying-it-on-heroku-6a313f8f3693
An in-depth article describing an isomorphic project configuration and deployment

- **React.js: Server side rendering**
http://crypt.codemancers.com/posts/2016-09-16-react-server-side-rendering/
An example of setting up server rendering using React-Router and Express
4 changes: 4 additions & 0 deletions react-state-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@
- **Best Practices for Component State in React**
http://brewhouse.io/blog/2015/03/24/best-practices-for-component-state-in-reactjs.html
Some excellent suggestions and approaches for state handling and structure.

- **A Visual Guide to State in React**
https://daveceddia.com/visual-guide-to-state-in-react/
Describes what "state" is, what kinds of data should be included into React state, and how state flow relates to component updates.


#### Using `setState`
Expand Down
18 changes: 17 additions & 1 deletion react-styling.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,20 @@

- **Style as a Function of State**
https://medium.com/@rofrischmann/styles-as-functions-of-state-1885627a63f7
A look at how styles can be managed similar to UI, and an example using the author's new styling library
A look at how styles can be managed similar to UI, and an example using the author's new styling library

- **React JS Style Components**
https://www.youtube.com/watch?v=gNeavlJ7lNY
A talk describing ways to better compose existing styles in an application, using components.

- **Functional CSS From A Pure UI Perspective**
https://medium.com/@sharifsbeat/functional-css-from-a-pure-ui-perspective-bd04c8af4fdc
Thoughts on various ways to compose classes and styles together.

- **Invidual Paint for your React Components**
https://vimeo.com/album/4199344/video/187454103
A talk discussing various approaches to manage styles and themes for React

- **Components: A Styling Odyssey**
https://speakerdeck.com/alexlande/components-a-styling-odyssey
Slideshow discussing pros and cons of various approaches to managing styles for components
26 changes: 20 additions & 6 deletions react-tutorials.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@

#### Basic Introductions

- **React Documentation**
https://facebook.github.io/react/docs/hello-world.html
https://facebook.github.io/react/tutorial/tutorial.html
The official React documentation, recently rewritten with an excellent set of tutorials, explanations, and API information.

- **React to the Future**
http://elijahmanor.com/talks/react-to-the-future/dist/#/
A fantastic HTML slideshow describing what React is, what makes it special, and how to work with it

- **React Docs Tutorial**
https://facebook.github.io/react/docs/tutorial.html
The original React tutorial page from the React docs

- **React: Getting Started and Concepts**
https://scotch.io/tutorials/learning-react-getting-started-and-concepts
Expand Down Expand Up @@ -87,7 +88,14 @@
http://blog.jfo.click/how-react-do/
A tutorial written by someone as they learned React, stepping up through a series of React concepts.


- **React Tutorials for Beginners**
https://www.youtube.com/playlist?list=PL6gx4Cwl9DGBuKtLgPR_zWYnrwv-JllpA
A set of video tutorials introducing React concepts

- **How to get Create-React-App to work with your API**
https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/
An example of how to set up a server to work with Create-React-App


#### Project-Based Tutorials

Expand Down Expand Up @@ -176,7 +184,8 @@

- **#ReactForNewbies: Building a Todo App with Create-React-App**
https://edemkumodzi.com/reactfornewbies-building-a-todo-app-with-create-react-app-part-1-5aae4bd637ee
The first part of an ongoing series, written by someone who is writing the posts as he learns React.
https://edemkumodzi.com/reactfornewbies-building-a-todo-app-with-create-react-app-part-2-f846e2d8b820
An ongoing series, written by someone who is writing the posts as he learns React.

- **Rock and Roll React Tutorial**
http://myappincome.co.uk/rock-and-roll-reactjs-tutorial-part-1/
Expand Down Expand Up @@ -263,6 +272,11 @@
https://www.youtube.com/watch?v=xsKYAa1ZXpQ
A talk digging into React's internal concepts and implementation, including the split between the core library and the renderers.

- **setState() State Mutation Operator May Be Synchronous in ReactJS**
https://www.bennadel.com/blog/2893-setstate-state-mutation-operation-may-be-synchronous-in-reactjs.htm
Digs into the behavior of React's setState method, and discusses when it may be synchronous vs asynchronous


#### Paid Courses and Books

Also see the course sites listed in the [Community Resources](community-resources.md#online-course-sites) page.
Expand Down
Loading

0 comments on commit 6489951

Please sign in to comment.