-
Notifications
You must be signed in to change notification settings - Fork 508
can this will support ios or android mobile platform? #4955
Comments
Not in our plan for foreseeable future. We will be happy to accept changes to add the support if somebody is interested in contributing them. BTW: Have you checked Mono (https://github.com/mono/mono) ? It is .NET runtime that supports ios and android today. |
I chose to comment here instead of opening another issue, you can correct the title and the comment.
"the runtimes are converging", Miguel de Icaza said in his answer to my question at Connect(); 2016 in a live Q&A session. published benchmarks on the web, show Xamarin's performance worse than apps built with their respective platform's techs, Swift or Java/Kotlin, and better than competing techs, but not as much better than I expected, on android I expected JITing Mono and Xamarin to be much faster than V8 and [a direct competitor]'s runtime. according to this answer on SO, Xamarin has binding between native and managed il jit runtime for 3 different types of objects, is that correct?, will AOT compiled apps have have on par or even better perf that first-class citizen techs? other published benchmarks on the web also show the competition (which are also attractive to me, because of my as good web skills), suffering from marshaling constraining perf, Native can make Xamarin stand out again very clearly from the competition. is there a (publicly shareable) date/goal for ARM support, and following that IOS and Android support, and then following that Xamarin changing from Mono to CoreRT? if not, can you give an estimate? (q4 2018?). |
@wesamco Thanks for your interest in CoreRT! These good questions.
Xamarin/Mono is leveraging parts of CoreRT today – check https://github.com/mono/mono/tree/master/external . A better question to ask would be whether there are plans for Xamarin/Mono to leverage specific component, and what kind of improvement you would expect out of it.
The platform API bindings are independent on the runtime itself. They marshal arguments between .NET and the other programming environment, and the marshalling is where their performance overhead comes from as you have noted. The marshalling overhead does not go away with AOT or CoreRT. For example, the .NET string is different from Objective-C string, and thus it always needs to be marshaled.
The ARM port is led by Samsung engineers for their Tizen platform. I have not seen any dates announced by them yet related to CoreRT. |
Tizen uses armel (arm softfp) calling conventions, so it's not 100% ARM, difference is how to pass floating point arguments. But when Tizen support will be enabled it will needs little work to support ARM hard fp. There is no official dates for release. |
But CoreRT will have a slightly advantage as it could load a native library in its memory space directly without need of P/Invoke right? And it will be possible to do the other way around (to link in a native application written in C - for example - a library AOT compiled by CoreRT). |
CoreRT does this already for the .dlls that are guaranteed to be always present. The performance advantage out of doing this is very small. I doubt you would be able to measure it. |
can this will support ios or android mobile platform in plan?
The text was updated successfully, but these errors were encountered: