Skip to content
This repository was archived by the owner on Jul 19, 2019. It is now read-only.

Commit 266a5b1

Browse files
authored
Merge pull request #39 from reactjs/gaearon-patch-2
Add notes for December, 8
2 parents 541f928 + 15ead61 commit 266a5b1

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed

2016-12/december-08.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
## December 8 ([discuss](https://github.com/reactjs/core-notes/pull/39))
2+
3+
This meeting is special for three reasons!
4+
5+
* [Brian](https://twitter.com/brian_d_vaughn) of [React Virtualized](https://bvaughn.github.io/react-virtualized/) fame **has joined the team!** 🎉
6+
* [IsFiberReadyYet.com](http://isfiberreadyyet.com/) is now **rendered with Fiber**.
7+
* We are sharing **our goals and areas of focus for the first half of 2017** (read below!)
8+
9+
### Attendees
10+
11+
* [Adam Wolff](https://twitter.com/dmwlff) (Front End Infrastructure)
12+
* [Andrew](https://twitter.com/acdlite) (React)
13+
* [Ben](https://twitter.com/soprano) (React)
14+
* [Brian](https://twitter.com/brian_d_vaughn) (React)
15+
* [Dan](https://twitter.com/dan_abramov) (React)
16+
* [Sebastian](https://twitter.com/sebmarkbage) (React)
17+
* [Tom](https://twitter.com/tomocchino) (React)
18+
19+
### Invididual Updates
20+
21+
#### Andrew
22+
23+
* Landed a big restructuring of Fiber scheduler that avoids excessive `try` / `catch`es. ([#8479](https://github.com/facebook/react/pull/8479))
24+
* Will keep working on improving Fiber scheduler. ([#8538](https://github.com/facebook/react/pull/8538))
25+
26+
#### Ben
27+
28+
* Keeping track of Fiber bugs we found testing Fiber at Facebook. ([#7925](https://github.com/facebook/react/issues/7925))
29+
30+
#### Brian
31+
32+
* Ported [React ART](https://github.com/reactjs/react-art) to Fiber using the new renderer API. ([#8521](https://github.com/facebook/react/pull/8521))
33+
34+
#### Dan
35+
36+
* Been bikeshedding on how to implement SVG with Sebastian for a while. ([#8417](https://github.com/facebook/react/pull/8417), [#8475](https://github.com/facebook/react/pull/8475))
37+
* Settled on the approach and landed an imperfect version of SVG support to iterate later. ([#8490](https://github.com/facebook/react/pull/8490))
38+
39+
#### Sebastian
40+
41+
* Fixing different bugs in Fiber.
42+
43+
#### Tom
44+
45+
* Now that we have SVG, ported [IsFiberReadyYet.com](http://isfiberreadyyet.com/) to use Fiber.
46+
47+
----------------------
48+
49+
## Plan for the First Half of 2017
50+
51+
### Goals
52+
53+
* Deliver on the promise of Fiber
54+
* Understand and improve byte-size and runtime performance
55+
56+
### Prerequisite work
57+
58+
See the [Fiber umbrella issue](https://github.com/facebook/react/issues/7925) for a more detailed list of remaining work on the new version of the React core (aka “Fiber”), which will replace the old version (aka “Stack”) in 2017. In summary:
59+
60+
* Do performance testing on Facebook products
61+
* Implement developer facing warnings
62+
* Fix remaining bugs and failing unit tests
63+
* Implement the React Native Fiber renderer
64+
* Figure out what to do about server-side rendering
65+
66+
Note that while Fiber is a complete rewrite of React, it strives to maintain backwards compatibility wherever possible. We are already testing existing products on it with little to no changes to their code.
67+
68+
### Start to deliver on the promise of Fiber
69+
70+
In addition to being a complete rewrite to the React core that we hope will be smaller and faster, Fiber gives us the ability to fix long standing issues and add long requested features:
71+
72+
* Return multiple components from render (aka fragments)
73+
* Return text from render
74+
* Proper and comprehensive support for error boundaries
75+
* New API for portals that unifies scheduling of different subtrees
76+
* Much, much easier to write custom renderers for React (web, native, canvas, GL, etc)
77+
78+
We will release the above along with the rollout of Fiber in early 2017, and will then shift our focus toward other projects which will help to realize some of the future promise of our investment:
79+
80+
### Understand and improve byte-size and runtime performance
81+
82+
Fiber allows us to make more sophisticated scheduling decisions to improve perceived performance and user experience. To reduce UI stalls and jank, we can make two changes to how React functions:
83+
84+
* Change default rendering mode to async so high-priority user interactions can interrupt other low-priority rendering work
85+
* Expose developer accessible hooks to allow more sophisticated control of rendering priorities
86+
87+
We’ve seen an increasing number of libraries inspired by React that promise to be faster and smaller than React. This half we will do an investigation into byte-size and initialization time and use that knowledge to improve React's start-up time. We will also investigate more sophisticated compilation techniques.
88+
89+
### Additional work and stretch goals
90+
91+
After releasing Fiber broadly, we will begin work to remove the old React core, which will require that we have complete feature parity with the existing React core. This will require that we:
92+
93+
* Implement React DevTools support in Fiber
94+
* Figure out and communicate subtle timing differences between Stack and Fiber
95+
* Move the shallow and test renderers off of the old Stack reconciler
96+
* Create a plan to support server-side rendering with Fiber
97+
98+
In addition to the above we may also focus on these important areas as stretch goals:
99+
100+
* Design new functional component API with declarative data subscriptions
101+
* Publicly deprecate `createClass`
102+
* Clean up old addons and cyclic dependencies
103+
* Make release process more straightforward
104+
* Make implementation safer with Flow
105+
106+
------------
107+
108+
Please feel free to discuss these notes in the [corresponding pull request](https://github.com/reactjs/core-notes/pull/39).

0 commit comments

Comments
 (0)