3 ms·
Xamarin tools are built around the idea that the core of every application tend to be platform independent and so could be written in C# (or F#). This gets comp
by Renaud 13y ago
Xamarin tools are built around the idea that the core of every application tend to be platform independent and so could be written in C# (or F#).
This gets compiled into native code on some platforms (iOS).
Their approach is to build native apps that use the native UI design tools, so for each platform, you have to re-design its UI to follow the UI paradigms of that particular platform.
The result is still compelling: the UI is native, the underlying code is common on all platforms, you get to use 100% of your platform technical capabilities, the app runs as fast as native apps, you get the power of .Net development tools (even Visual Studio if you want) and all the cool features of C# 5.0 (and F#) to build your apps.
Xamarin, through Mono and its mobile development tools is actually building what Microsoft promised but never really delivered: platform independence for .Net (OS/X, iOS, Windows, WinRT, Android, Linux).
- yapcguy 13y agoAre Xamarin tools really the holy grail of cross-platform app development? What are the hidden gotchas? What about MonoDevelop for the desktop? The Windows and Mac download packages are at v4 but Linux at v2.6. Are Xamarin slowly abandoning use of GTK# ? Is this because of GTK 2 v 3 fragmentation? Should we be supporting C++ and QT given that QT now supports iOS and Android? Given that some developers are scared of C++ what about C# / F# with QT QML? Are there any bindings which are maintained and tracking QT updates?
- rodrigokumpera 13y agoXamarin doesn't provide its products on Linux. But it doesn't mean MonoDevelop doesn't work there. The latest versions run on it, it's just a matter that we don't have the manpower to keep up with packaging. On GTK+ 2, it's still the main toolkit used by the IDE, but on windows/mac some bits of the native toolkits are used to improve the user experience. QT on iOS and Android means you get non-native UIX. So why bother with C++? Disclaimer: I work for Xamarin.