Hacker News new | past | comments | ask | show | jobs | submit login

I find this a bit ironic that Nuclide is an IDE designed to support React and React-Native, built on top of Atom - Atom itself just ripped out their React implementation in favor of direct DOM manipulation. Don't get me wrong, I'm a huge React proponent and likely will give this a whirl - but it is ironic, no?

They never really needed React in the first place, because React doesn't solve THEIR problem. Their problem is so specific to text editors: how do you get hundreds of lines of hundreds of rich-text characters to render as fast as possible?

In terms of game engines: React is comparable to the occlusion culling capabilities of a 3D game engine (render less), where Atom was in search of the fastest way for the graphics engine to push triangles to the GPU (render fast). Ultimately I believe a mix of both is the best.

Having implemented a code editor, I can assure you that not re-rendering lines and blocks of code is also a worthy effort. It probably just doesn't fit into react's incremental computation model yet?

Yeah, that's the reason why they tried React I guess. But as far as I can tell they kept the should-update-or-not procedures they implemented specifically FOR React. So what they removed wasn't the concept of React, just the library as their DOM rendering implementation.

Use the right tool for the right job. By your logic, you should never write an assembler in anything but assembly language.

I don't think it is quite like that. Assembler was needed to bootstrap the effort.

> Use the right tool for the right job.

In that case a webgui is certainly not the right tool for the job.

I would argue that React set them on the path to doing DOM manipulation right. After all, when they started using React as a replacement for (less optimal) manual DOM manipulation, it brought performance improvements, and when they replaced React with (more optimal) manual DOM manipulation they achieved further performance improvements.

I think Atom still uses React-- they just decided to build one super performance-sensitive part, EditorComponent, without it (https://github.com/atom/atom/pull/5624).

Can't have turtles all the way down. Or can they ?

call it cross-pollination.

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact