这两周参加了Xamarin的培训,感觉还是比较有吸引力的一项技术,其前身是MonoDeveloper,现在是商业化的产物。其可以利用Mono的特性用C#在IOS, android, WP,本地代码跨平台,有点java的味道,而且相比HTML5,肯定在性能上和功能上都有更好的表现。如果真正实施项目,还是有很多问题得弄明白才行。
- 它是怎么做到的?
Write your app in C# and call any native platform APIs directly from C#. The Xamarin compiler bundles the .NET runtime and outputs a native ARM executable, packaged as an iOS or Android app.
用C#代码直接调用本地平台库,Xamarin编译器将.NET运行时捆绑并输出成本地ARM代码,打包成IOS或android应用。
- UI用户体验都不一样,怎么办?
UI不共享,而逻辑代码和数据层共享。
- 支持所有android和ios的系统API吗?
是的,都可以通过C#调用,但是得了解这两个平台自己的机制,包括生命周期等。另外,还有Mono的.NET库可以使用。
- 性能如何?
Unity3D就是基于Mono的,你说呢?
- 可以用Visual Studio开发吗?
有插件。
- 可以用第三方.NET/java/oc的库吗?
可以