
Office 365, Skype, MS Teams, and VS Code Are All Being Rewritten in React Native - signa11
https://twitter.com/thelarkinn/status/1006746626617008128
======
auchenberg
Hi, I'm Kenneth, PM on VS Code. To clarify here: @code is written in
TypeScript and is an Electron app. Not React Native. We don't have plans on
moving away from Electron in any near future.

~~~
senectus1
well that's a shame. the Teams app is a slow clunky piece of irritation.

------
mataug
Is re-writing whole parts of a complex project like Skype, O365, or VS Code
really worth the effort ?

Compared to fixing existing bugs ?

I'm assuming that MS has decent code quality standards here.

------
radicaldreamer
Office 365, the mobile version I assume. There’s no way they’re rewriting
Excel for Windows in React...

~~~
alex_duf
why?

~~~
mataug
My understanding is that its almost impossible to achieve the same level of
performance that a C/C++ based spreadsheet editor achieves, with a JS based
spreadsheet editor.

Especially when dealing with large and complex spreadsheets.

~~~
neilsimp1
While I'm not disagreeing with you, React would only handle the view part.
Native code could still handle the computational parts.

------
matthberg
What is it with this tweet being reposted?

Previous discussion here:
[https://news.ycombinator.com/item?id=17300893](https://news.ycombinator.com/item?id=17300893)

~~~
falcolas
Perhaps because the previous discussion has been buried?

~~~
sctb
Buried under a fine dust perhaps? We've applied some leavening to let it come
up from the second page.

------
xor_null
I wonder, not long ago there was a c++ conference were two Microsoft employees
were talking about the Office mobile apps and how they developed it [1]. They
said that they developed the main part in c++ and the ui part in the
respective ui platform (cocoa/android ui framework).

Would be interesting why they moved from this approach to React native.

[1] [https://m.youtube.com/watch?v=3HROqnw-
nf4](https://m.youtube.com/watch?v=3HROqnw-nf4)

------
newscracker
The tweet itself is short on details due to the 280 character limitation on
Twitter. The TL;DR seems to be that most of the UI, which was earlier written
in TypeScript and created as an Electron application is now in React Native.

Here's the reddit comment [1] with more details (copy pasted the text of that
comment here):

> Hi there!!! Original Tweeter here! I'm Sean and I'm a Program Manager at
> Microsoft working on Microsoft Edge and Edge Dev Tools!

> Going to clarify across a few things. Some was lack of more then 280 chars
> in a tweet and not expecting this to get beyond #JavaScript twitter.

> MS Teams, VS Code, is already written _with_ TypeScript which is compiled to
> JavaScript powered by Electron. It is an electron application. VS Code is on
> GitHub and Open Source if you'd like to see examples of how or what.

> We are not abandoning C++, C#, or any of the other awesome languages, apis,
> and toolings that we use across Microsoft. EdgeHTML is almost entirely
> written in C++ like any other browser engine. However we do also run
> JavaScript (compiled from TypeScript) in DevTools, and leverage open source
> technologies like React and webpack to build the UI's for them.

> Office 365's UI, a lot of it, but definitely not all of it, are pieces that
> are built using React Native (Windows). API's and Services are still going
> to be powered by C++, C#, or whatever is the most appropriate for that team.
> Nothing is converting to "all/completely" JavaScript/TypeScript.

> React Native compiling JavaScript to "native code" is arguably wrong. Most
> of what is native are API's interactions and Native Modules that can be
> communicated with through JavaScript. WebViews power UI rendering thanks to
> React. Thanks to the Skype Engineer who sniped me on that in discussion.

> Feel free to ask anything else! It's the least I can do for tweeting some
> pretty unclear messaging.

[1]:
[https://www.reddit.com/r/programming/comments/8qqhlz/office_...](https://www.reddit.com/r/programming/comments/8qqhlz/office_365_ms_teams_skype_code_and_the_edge_debug/e0ll1dt/)

------
LaurentVB
Javascript, not react native

~~~
wccrawford
If you scroll down a bit, you'll see some of the replies reference using React
Native.

~~~
ofrzeta
Including a link to [https://github.com/Microsoft/react-native-
windows](https://github.com/Microsoft/react-native-windows)

