我们建立了一个ASP.NET MVC网站,该网站使用响应式设计针对移动设备和平板电脑设备进行了优化。
我们希望将这些视图重新/打包到Phonegap应用程序中,以创建iOS / Android / Windows应用程序。
我们最初的想法是在Phonegap项目中拥有骨架视图,并从ASP.NET MVC网站远程提供内容(包括标记)。但是,我的理解是Apple可能不会批准具有这种架构的应用程序。
对于如何设计Phonegap应用程序的任何想法都非常感激。
答案 0 :(得分:1)
正如您所暗示的那样,Apple通常不鼓励通过瘦shell伪装成本机应用的网站。请参阅此SO进行一些讨论:
Does Apple reject "mobile web shell" applications?
对于我正在处理的当前应用,我通过Apache服务并在Chrome中进行测试来完成所有开发工作。我通过使用Cordova构建过程包装同一组html / cs / js文件并推送到设备来测试设备。对您无效的唯一原因是您必须拥有一堆服务器端逻辑和条件呈现您的视图。
所以你要么:
1)只是去尝试提交一个简单的原生包装网站,很好的可能会被批准没有问题
OR
2)我的建议是对您的视图设计/交互进行一些修改,例如包括原生移动应用程序风格的导航栏等,以便体验与应用程序比网站更相似。然后使用新的客户端/应用程序视图,将服务器端Controller / Model交互与Rest / JSON api交换出来。
例如,目前你有类似的东西:
//Server side
class mainController
{
void fooAction()
{
string bar = getModelThatIncludesBar().bar;
...
renderView($bar, 'fooView');
}
}
相反,更像是这样:
// Client side, poor mans MVC
bar = useAjaxToGetModelThatIncludesBar().bar; // pretend this is synchronous :)
...
fooViewElementThatNeedsBarData.innerHtml = bar
编辑:我在这里大大简化了一些事情,试图将其提炼到我看到的基本两个选项。如果你想和它聊聊,请给我发消息。
答案 1 :(得分:0)
我的建议是你需要将客户端和服务器端语言分开。然后将服务器端语言转换为Web服务SOAP或REST,以便客户端可以从服务器发送和接收数据。 Phonegap is allowed client side language only
。