By: Matthew Poulson
The React starter addresses these concerns.
But let's step back from it.
Public
Content
Public
App
Internal
Content
Internal
App
What are our requirements today?
Server-side Rendering
isomorphic
Fast Responsive UI
Reusable
Shareable
Components
Modular
Architecture
Hireability
Long Term
Support
Scalable
Rapid
Development
Team
Development
Fun
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Server/Browser
Build
Runtime Engine
UI Rendering
Routing
State
Style
All web apps require a two headed monster, the client and the server
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Run the same app both places Isomorphicly
Build
Runtime Engine
UI Rendering
Routing
State
Style
Runtime Engine
UI Rendering
Routeing
State
Style
Build
Node & Browser
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Node & Browser
UI Rendering
Routing
State
Style
React
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Node & Browser
Routing
State
Style
React
React Router
Build
Runtime Engine
UI Rendering
Routing
State
Style
(Caching, Storing, and Generating)
State
“state” is an object that determines how a component renders & behaves. In other words, “state” is what allows you to create components that are dynamic and interactive.
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Unidirectional data flow
"All data in an application follows the same lifecycle pattern"
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
A series of prescribed state changes
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Requesting and Persisting Data
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Node & Browser
React
React Router
State
Style
Redux
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Node & Browser
React
React Router
Redux
Style
CSSNext & CSS Modules
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Runtime Engine
UI Rendering
Routing
State
Style
Module
each of a set of standardized parts or independent units that can be used to construct a more complex structure, such as an item of furniture or a building.
Module
Have their own scope and api
Configurable
Composable
Build
Runtime Engine
UI Rendering
Routing
State
Style
Build
Node & Browser
React
React Router
Redux
CSSNext & CSS Modules
Webpack
Babel
The Standard
#install ldsjs
npm i -g ldsjs --registry=http://icsnpm.ldschurch.org
#create a react starter project
ldsjs react hello-world