我一直在为我的企业应用程序寻找解决方案,至少需要支持3个平台,即iOS,Android和Window Phone。经过一整天的搜索,我终于将目光投向了2个有前途的跨平台解决方案,其中一个是单向跨接和另一个手机平台。 monocross似乎使用c#和.net是否可以访问本机库和语言?我在某处直接将它编译成可在目标平台上执行的二进制文件。 关于phonegap,它使用每个平台上的webviews来提供向最终用户呈现用户界面的功能。由于它是通过解释型语言和高级别API实施的,因此性能可能无法满足我们的需求。 最后,我们(我的团队)决定尝试单声道,架构如下图所示:如何在我的跨平台项目中使用单声道
+++++++++++++++++++++ representation层++++++++++++++++++++++++++
[MonoTouch的,MonoDroid的,Silverlight的]或[机GUI呼叫]或[HTML5/JS/CSS]
+++++++++++++表示控制器/业务逻辑层+++++++++++++++
[mono/c#]
++++++++++++++++++++++++++++ server side +++++++++++ ++++++++++++++++
[云]
我想用mono/c#编写一些通用的业务逻辑和数据结构,当涉及到一些通用平台功能,比如存储服务,通知,我想将它们包装在每个平台上,并为c#(业务逻辑层)使用统一的API。至于表示层,我们决定从上面列出的3个可选解决方案中进行选择。
要做到这一点,首先我必须弄清楚是否可以调用原生框架。 所以,我的问题是:
1,单声道工作,我的意思是,如何将C#代码编译为可在iOS,Android和Windows Phone上直接执行的二进制文件?
2,是否有一种机制可以进行原生调用?就像在cocos2d-x中一样,我可以通过JNI调用java方法,而在iOS中,C++可以直接调用oc。我可以在c#中用mono调用可可触摸物件吗?
3,是否可以在单个项目中管理所有这些东西,以及如何构建它们?
4,有没有更好的解决方案?
任何建议将不胜感激,谢谢你的耐心!
感谢莱克斯,我认为你指出正确的对我来说,事实上,我确实搜查过Xamarin,但我感到困惑,并认为单横和Xamarin是同样的事情。 –
在这种情况下,Xamarin应该被视为基础设施供应商,他为非微软平台构建CLR。 MonoCross似乎是Xamarin提供的一个非常有前途的框架,而Xamarin本身推出了Xamarin.Mobile(http://xamarin.com/mobileapi) –