现在,客户总是在问“为什么不为iPhone / iPad / Android / Phone 7等制作版本”.我的老板问这会有多难.我最初的答案很难,特别是因为我可能是唯一一个做这项工作的人.我在Visual Studio开心的地方以外没有任何经验.
现在我遇到了Mono@R_502_5985@和MonoDroID.他们似乎提供了一个简单的解决方案,但我确信有很多问题.我怀疑我能够只为AndroID编译我的应用程序.
我倾向于认为这将是太多的工作,唯一现实的解决方案是一个移动网站,每个页面的几个版本用于不同的屏幕分辨率.不幸的是,现有的应用程序有一个本地数据库,并且“有时连接”,因此不会削减它.
在浪费大量时间之前有任何建议和提示吗?
干杯
标记
I doubt that I will be able to just compile my app for AndroID
那是正确的;你不会.
因此,背景:MonoTouch和Mono for Android的设计理念是将“核心”.NET和C#体验带入iOS和AndroID,同时还展示了每个特定平台的基本功能.而PhoneGap和Titanium抽象底层平台(用于“一次编写,随处运行”的氛围),Mono@R_502_5985@和Mono for AndroID不提供平台抽象,直接暴露底层平台类型和成员.
结果是Mono@R_502_5985@程序使用MonoTouch.UIKit.UIButton,它直接包装底层的Cocoa@R_502_5985@ UIButton类型.
同样,Mono for AndroID程序将使用Android.App.Activity,它直接包装底层的AndroID android.app.Activity类型.
两个平台上的共同点是“核心”框架命名空间和类型,您可以在.NET,.NET CF,Silverlight,windows Phone 7和Mono上找到它们:System,System.Collections.Generic,System.linq(是的,linq-to -Objects),System.Xml.linq(是,linq-to-XML),System.IO等等.例如,参见assemblies included in Mono for Android.
那么,您可以在AndroID上使用现有的windows Mobile应用程序吗?不,因为AndroID的Mono不提供System.windows.Forms.
但是,您应该可以重构现有代码以遵循模型/视图/控制器设计模式(或MVVM,或……),抽象出UI(视图),以便您可以替换各种平台,例如带有Mono@R_502_5985@的iOS UI,带有XAML的WP7用户界面,带有Mono for AndroID的AndroID用户界面,带有ASP.NET MVC的HTML用户界面等等.你不会得到“一次编写,随处运行”的体验,但是您将能够为用户提供与其所选平台一致的本机用户界面.
例如,请参阅MIX11 Conference Apps,它使用公共代码库,同时为iOS,AndroID和WP7提供特定于平台的UI.
总结以上是内存溢出为你收集整理的iphone – 开发移动C#应用程序以在多个平台上运行全部内容,希望文章能够帮你解决iphone – 开发移动C#应用程序以在多个平台上运行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)