在Xamarin解决方案中使用jQuery Mobile是否可行?

时间:2014-03-26 17:02:29

标签: jquery-mobile windows-phone-8 xamarin.ios xamarin.android xamarin

在Xamarin解决方案中,典型的项目分组如下:

SOLUTION
    CORE Project (shared non-UI code, referenced by all the other projects)
    Android Project
    iOS Project
    Windows Phone Project

使用此解决方案体系结构,您需要为每个(非Core)项目编写特定于平台的UI代码。

如果只有两个项目会更容易,例如:

SOLUTION
    CORE Project
    HTML5/CSS/jQuery/jQuery Mobile Project

有哪些缺点? HTML5 / jQuery Mobile"服装"也许并不像本机应用程序那样;表现可能不太好。

但这是一个可行的选择吗?我很想在此声明的基础上尝试这个:" ...总的来说,Web应用程序比不同语言的多个本机应用程序更容易开发和维护。 here

我认为PhoneGap是具有独立本机代码的最低公分母GUI,而Xamarin是具有单独GUIS的API的最低公分母子集,并且该提议是两个GUI的最低公分母和API。但作为一种补偿,以及#34;贫民窟"在两端,代码是(部分)共享的,并且所有的GUI都是共享的(虽然各种浏览器的调整和垫片无疑是必要的。)

我能看到的主要问题是那些需要编写平台特定代码的区域,例如处理条形码扫描和外围设备(带式打印机)打印 - 它会在哪里生存?

更新

基于我在" Xamarin跨平台应用程序开发中看到的内容.pdf"通过Doogie Howser,似乎解决方案folderama应该是这样的:

SOLUTION
    FooeyBar.Core
        . . .
    FooeyBar.Core.Droid
        . . .
    FooeyBar.Core.iOS
        . . .
    FooeyBar.Droid
        . . .
    FooeyBar.iOS
        . . .

思想/肯定/反驳?

2 个答案:

答案 0 :(得分:2)

绝对可以将Web前端包装在本机应用程序中。您单独使用Xamarin时遇到的一个令人头疼的问题是,您的UI必须几乎完全针对您所针对的平台进行重写(良好的业务逻辑分离可以减轻这种痛苦)。

在集成硬件的本机shell中使用Web UI的一种方法是在injecting javascript和自定义协议处理程序工作的两者之间编写一个瘦的通信层,我已经成功地将这个策略应用于项目 - 它可以工作,它可以让你开发一次你的UI,然后为每个设备设置样式。好消息是您不需要依赖浏览器检测 - 您的本机应用程序可以使用特定URL加载其WebView,后端可以确定要使用的样式,甚至可以在设备之间提供UI版本控制和功能更改。

如果您确实采用了这种方法,请确保将您的原生应用通信层编写为尽可能精简和通用,以减少将来更新本机应用的需要。

答案 1 :(得分:1)

如果您打算用html / javascript编写应用程序中的所有UI,为什么甚至使用Xamarin?这是MonoTouch提供的主要优势 - 每个设备上具有100%本机UI体验(具有共享代码库)。如果你想走那条路,那就去配合Phonegap或Titanium。

至于你的例子,它不一定更容易",这只是你想要完成的事情或你希望你的应用看起来像什么的问题。我找到了第一种方法,单独的项目将更容易"为了我。我也喜欢它在各自平台上提供的原生UI。

最重要的是找到最适合您需要的工具。我不建议尝试使其中一个工具像另一个一样工作。与使用任何一种方法的方法相比,这种方法可以得到更好的结果。

相关问题