There was a brief moment where I thought that I could at least trust Faceboook's open source offering and I was excited about React. Then I read about the sneaky PATENTS license in the other thread here - https://news.ycombinator.com/item?id=9271246
So now I'm going back to ignoring anything that Facebook puts out there.
Facebook to the right, Stallman to the left. When I write code, I use tools written by Stallman. When I communicate with friends and family, I use Facebook. There is no contradiction here: they are both useful, and useful is the yardstick by which reality judges memes.
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.
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).
What about the right tool for the job ? Why not use qt instead of web techs for a Gui ? I love Atom , but Atom is Slow, you can't open big files with it and frankly has all sorts of limitations due to web techs.
When will devs stop this madness? even if you are addicted to javascript, use an native GUI, qt supports javascript, or you are doing a disservice to potential users.
With Nuclide, you can build for iOS, Android, and the web. Most IDEs only support one of these platforms well.
Although I am disappointed by the current speed of Atom, I have no doubt it will improve. I think it is the most exciting OSS IDE out there. We hope to slowly converge on JS+Flow as the main front-end language at Facebook, and it will be a huge win to build tooling in the same language as the product.
The JetBrains suite of IDEs, all built on the same platform, support these and much more (Java, Python, Ruby, Scala, ...). With the exception of AppCode (for iOS) you can also get them all in the main release IDEA with relevant plugins.
I guess all modern IDEs can be considered unified at this point, but the idea is that all the tools and integrations are part of it - including the build process, typechecker, etc.
Before you would have to run all these in the background + have your IDE open (ie. Sublime Text).
Of course Sublime Text has plugins itself now too, but you get the idea.
I don't get the idea. And Im not sure when Sublime Text became considered an IDE, if anything it is anti-IDE. An IDE classically has tools and integrations, well, integrated. E.g. Visual Studio or Eclipse.
Sublime Text has a really robust plugin architecture, similar to Visual Studio's extension capabilities. Whenever I'm working on a project, I basically install whatever plugins I need into Sublime Text to give me full "IDE-like" capability specific to that stack. Be it debuggers, integrated compilers, REPLs, version control systems, etc.
I like Sublime Text because at it's default, it's just a text editor, and then _I_ turn it into the IDE that fits my flow and current technology requirements. It becomes an IDE completely customized for my project.
From what I gathered of the talk, they mean unifying the build, debugging, and analytics tools. So no more need to have Terminal, Xcode, and Chrome Dev tools open
I'm so excited for this: an IDE with first-class support for Hack? Yes please! My only reservation is the last time I used Atom, it was pretty slow, what's it like nowadays?
Similar experience - Atom on my home Macbook Pro is quick and snappy and an overall nice experience to use, but on a similarly powered Windows 7 work laptop it is noticeably slower to the point of being unusable. Last time I tried it on the Win7 box was about two months ago.
I use it every day. Mostly good, but clearly slower than ST3. My main gripe is that it is painfully slow at editing with multiple cursors. Multi-cursor edits that ST3 wouldn't hiccup at freeze up atom long enough that OSX asks if I want to kill it.
text editing is mostly ok for me: biggest bug is the full screen bug on OSX (it'll create a modal on the wrong full screen, but when you switch, the modal disappears, but still blocks the UI - only solution is hard kill, meaning you lose progress if the modal was a Save dialog)
I just tried to think of a ridiculous combination of techs to combine. I didn't realize the hilarious double meaning of it until after I got some upvotes. Sounds like a great April fools project to share.
Not a Facebook engineer. However, I was at F8. I spoke with a couple of engineers, and when they were showing me something on their laptops, they were using Atom.
From what was said at the presentation, this IDE is just a collection of plugins, so I'm guessing you can pick and choose the ones you like.
I've been using Atom + Flow + autocomplete-plus + ide-flow + jsx plugin + linters and eventually it really works for Javascript development. From Facebook Group[1] Nuclide "built as a suite of packages on top of GitHub's Atom editor.", would be great if installing Nuclide would be as easy as `apm install nuclide`.
If the code exists and is derived from Atom, it's MIT licensed. Being pedantic, they don't need to release it in the open for it to be open source - everyone who has access to the code may choose to release it, but it's not mandatory.
MIT is not copyleft so not even pedantry will save it. I.e. under MIT they can ship a binary blob and they only need to include the MIT license and a notice.
copyleft != open source. They don't even need to publish a binary blob, they can use the code internally. Yet the original project is still considered FLOSS.
I don't think that is a definition of open-source that is widely recognized or useful. If Microsoft uses MIT license software in the next version of Windows, is Windows considered open source? No.
I see all these tools are being built on top of Ace but Ace itself doesn't get much love. There are many issues in Ace that needs to be fixed but almost no company is putting resources on it.
I don't think Atom is built on Ace. They had their own system which was powered by React before switching to hand crafted DOM manipulation. Also, Atom's written in Coffeescript and Ace is ordinary JS.
You're typing text into a box. Please concentrate on typing the correct text into the box rather than caring which (basically identical) method of typing said text into said box you are using.
People have been typing text into boxes for about 50 years now.