React + Native = React Native
If you’re feeling at home with frontend-development, you sure have heard if not already used the React-framework. And if you’re new to developing for the web: Welcome! React is framework to efficiently render your views by deciding when to render them or not (oversimplified, but I’ll write a more detailed post about React in future, for sure!).
If you really like React (like me), React Native is a great choice to reuse your Typescript/Javascript-skills and knowledge of quite a mighty framework to build apps for iOS and Android fast and efficiently that perform very well on various devices, as your React components get mapped to native UIKit and Android SDK - React Native is not a web-wrapper by any means.
But…
But until recently, React Native was only usable for the operating systems mentioned above, that is iOS and Android. There were early efforts from the community to build derivats for then-OS-X and Windows, but both required too much commitment for being maintainable by people in their spare time.
Strg + Alt + Microsoft
Did I say commitment was lacking in prior attempts? Well, Microsoft noticed that as well and decided to take care of things. The first phase of this project was to map all core React Native components to Windows equivalents to gain feature parity with the core library.
During this time, the team noticed that a better, faster implementation with high performance could be possible. Subsequently, the project shifted focus and started to re-implement all core features under a new name, called vNext. This meant that everything created up until that point was thrown away and replaced by vNext-counterparts. The team really was in Berserk-Mode!
The result though is an implementation that is not only fast, stable and uses modern Windows-APIs but also is nearly on feature-parity with the current React Native core. react-native-windows is on 0.62, react-native on 0.63. Quite an accomplishment!
One more thing...
Yet the outcome of Microsoft’s effort wouldn’t be complete if I wouldn’t tell you about one very special other react-native fork the team build: react-native-macos. Yep, you’ve read right: Microsoft is the main force behind bringing a stable version of React Native for macOS!
Note though that the ecosystem around React Native for Windows and macOS is still in it's early stages. Some widely used libraries such as react-native-camera or react-native-netinfo. To find out more, visit this link.
I hope you enjoyed our little field trip into Microsoft’s latest efforts in open source by being the main contributor to versions of React Native for Windows and macOS. Check the links to learn more, as there’s much to read!
- Tom