Skip to main content

Technologies

There are many crossplatform technologies and there are many ways to look and group them.

The ones we have content so far are:

TechnologyUrl
Electronhttps://www.electronjs.org
PWAhttps://web.dev/progressive-web-apps/
React Nativehttps://reactnative.dev/
WebView2https://developer.microsoft.com/en-us/microsoft-edge/webview2/
Xamarinhttps://docs.microsoft.com/en-us/xamarin/get-started/what-is-xamarin-forms

By clicking on the name of each one you will access more detailed information about it.

Also, if you want to contribute content for one please do not hesitate!

Comparison

The following are some comparison tables about objective data. From there you can navigate to the details of each technology or, in some cases, know about the differences for a particular category.

If there is some information that you would like to see in here, please open an issue in GitHub.

Platform support

Have a quick look at all the platforms supported by the different technologies.

TechnologyWindowsmacOSLinuxAndroidiOS
Electronโœ…โœ…โœ…
PWAโœ…โœ…โœ…โœ…โœ…
React Nativeโœ…โœ…โœ…โœ…
WebView2โœ…โš’
Xamarinโœ…โœ…โœ…โœ…

Rendering strategies

As seen in the Rendering strategies section, there are 3 different ways of "painting pixels". You can see what is the strategy for each one in the following table:

TechnologyBrowser enginePlatform controlsDirect drawing
Electronโœ…
PWAโœ…
React Nativeโœ…
WebView2โœ…
Xamarin

Language support

This table shows what are the "out-of-the-box" languages supported by a technology. A project using one of these technologies could have parts of it created using another language and communicate each other via some type of mechanism. Those scenarios are not contemplated in the following table.

TechnologyC++C#GoJavaJavaScriptRust
Electronโœ…โœ…
PWAโœ…
React Nativeโœ…
WebView2โœ…โœ…
Xamarinโœ…

Source code license

This table compares the type of license the source of each project has. It could be licensed under an Open-source license like Apache 2.0, MIT, etc. or be close and not have access to it. Some projects might be based in OSS project, the "extra code" might be close source. For those cases the project is considered close source.

TechnologyNameUrl
ElectronMIThttps://github.com/electron/electron/blob/6fdf350bea8ec5452b66043cd81eff6917802068/LICENSE
PWABSD 3-clausehttps://source.chromium.org/chromium/chromium/src/+/main:LICENSE
React NativeMIThttps://github.com/facebook/react-native/blob/6c66cef8ecb6222c6930ef2104be97e3ab26c77b/LICENSE
WebView2Close sourcehttps://www.nuget.org/packages/Microsoft.Web.WebView2/0.9.430/License
XamarinMIThttps://github.com/xamarin/Xamarin.Forms/blob/78f4012603efcb1803d5b1cc3baecdde2a497096/LICENSE