Skip to content

Instantly share code, notes, and snippets.

@geoffreydhuyvetters
Last active January 13, 2023 06:49
Show Gist options
  • Save geoffreydhuyvetters/2ba00d413b8ff7bc1fa5a2e51c61ba43 to your computer and use it in GitHub Desktop.
Save geoffreydhuyvetters/2ba00d413b8ff7bc1fa5a2e51c61ba43 to your computer and use it in GitHub Desktop.
What is React Fiber? And how can I try it out today?

What is React Fiber? And how can I try it out today?

what?

React Fiber is an ongoing reimplementation of React's core algorithm. It is the culmination of over two years of research by the React team.

why?

The goal of React Fiber is to increase its suitability for areas like animation, layout, and gestures. Its headline feature is incremental rendering: the ability to split rendering work into chunks and spread it out over multiple frames.

Other key features include the ability to pause, abort, or reuse work as new updates come in; the ability to assign priority to different types of updates; and new concurrency primitives.

some hints on what we could get as new features (mostly marked with unstable_... for now)

how can I try it out today?

  1. git clone https://github.com/facebook/react
  2. gulp react:extract-errors (i've added an npm script to avoid installing gulp globally)
  3. npm run build
  4. use react.js / react-dom-fiber.js in the /build folder

examples?

status?

Fiber isn't completely ready yet http://isfiberreadyyet.com/.
Scheduled for release in 16.0.0 / 17.0.0 ? (see Dan's comment below)

thanks @threepointone for the build steps

@webeli
Copy link

webeli commented Dec 18, 2016

Cool.

@grzesiekgs
Copy link

Does it actually affects 'regular' developer in any way? Are we going to have any new 'super powers' (besides new return types)?

@geoffreydhuyvetters
Copy link
Author

geoffreydhuyvetters commented Dec 18, 2016

@grzesiekgs:

from what I've read, the first release is gonna be fully backwards compatible, probably 'super powers' later on :)
https://twitter.com/dan_abramov/status/808620912031449088

@arcanis
Copy link

arcanis commented Dec 18, 2016

I remember reading somewhere that custom renderers would be much easier to implement starting with Fiber. Is it still true?

@geoffreydhuyvetters
Copy link
Author

geoffreydhuyvetters commented Dec 18, 2016

@arcanis

read it too (also a @dan_abramov tweet if I'm not mistaken), I'm not working on Fiber to be clear
Just bundling my finds 😃

@gaearon
Copy link

gaearon commented Dec 19, 2016

Yes, making custom renderers is way easier with Fiber.

I wouldn't strictly say it's slated for 16. May have to wait until 17. There is still quite a bit of work to do.

First releases will definitely focus on backward compatibility and not on new features.

@jhartma
Copy link

jhartma commented Dec 19, 2016

This sounds all really nice. Would you have any data on how incremental rendering affects the rendering performance of typical react apps?

@gaearon
Copy link

gaearon commented Dec 20, 2016

I don't know, there's a lot of real world testing and tuning we have to do before we can say anything for certain. :-)

@herlarbs
Copy link

Hope It doesn't take the same path Angular 2 took with Angular 1

@yokodev
Copy link

yokodev commented Jan 2, 2017

Hope It doesn't take the same path Angular 2 took with Angular 1

+1 on that

@ancyrweb
Copy link

ancyrweb commented Jan 3, 2017

Hope It doesn't take the same path Angular 2 took with Angular 1

Care to explain, please ?

@rajinder-yadav
Copy link

rajinder-yadav commented Jan 25, 2017

@Rewieer A lot of breaking changes, Angular 2 came out with little care for backward compatibility. Reason for it was, they wanted to start off with a clean slate, reduced code base and use new design patterns and experience learned for Ng 1

@kirillrocks
Copy link

@Rewieer A lot of breaking changes, Angular 2 came out with little care for backward compatibility. Reason for it was, they wanted to start off with a clean slate, reduced code base and use new design patterns and experience learned for Ng 1

That's the reason I've moved to react in the first place, and it was one great decision.

@renso3x
Copy link

renso3x commented Feb 11, 2017

Excited on this one!

@Ahrengot
Copy link

"Official example" link is broken

@NetguruGist
Copy link

There aren’t many articles on this matter, yet this one – Should I be worried about React Fiber? – might be a good starting point on the topic. Read more on what contribution to the system it provides as well as what are the key benefits of React Native contains.

@cimi
Copy link

cimi commented May 10, 2017

The instructions in the gist no longer work as since April 2017 react no longer uses gulp to build.

@ReeganExE
Copy link

That's the reason I've moved to react in the first place, and it was one great decision.

Most of us seem to have same reason for moving to react
I unsderstand the decision of Angular team, but... I don't want to learn a lot of things to do the same thing.

@nikolal
Copy link

nikolal commented May 25, 2017

@ReeganExE

I would say, at least one third of the NG community. 👍

@TallOrderDev
Copy link

Fiber is now in beta, and is ready.

@alexhtech
Copy link

Awesome! I have successfully install fiber and test my isomorphic application... all works fine!

@jiovan
Copy link

jiovan commented Aug 26, 2017

Nice.

@Eli-Black-Work
Copy link

Is React Fiber now being referred to as Concurrent Mode?

@geoffreydhuyvetters
Copy link
Author

No, fiber and concurrent mode are 2 different things, Fiber was a reworking of the React internals and was released with React 16

@Eli-Black-Work
Copy link

Ah, got it, thanks. Appreciate the followup :) Would be cool if we could 👍 on people's comments in Gist, too!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment