转换常规MVC站点以用于phonegap

Pra*_*bhu 19 asp.net-mvc mobile-website jquery-mobile cordova

我有一个使用ASP.NET MVC和jQuery完成的站点.是否可以在没有太多返工的情况下修改我现有的项目,以便可以在phonegap中使用它来创建iphone/android应用程序?

mel*_*dev 34

这是一种方法:将您的逻辑移动到MVC WebAPI(或其他REST/Web服务)项目,然后将MVC站点转换为简单的html/javascript/css/image站点(移动站点).然后重构您的Mobile站点以使用Ajax/JS查询您创建的WebAPI/Rest服务.一旦您以这种方式分离代码,您就可以使用Phonegap打包移动网站.我不确定你或你的项目会有多少工作.如果您在视图中使用了大量的Html Helpers或Razor标记,则可能过于复杂.

我建议的核心点是将移动UI层和后端处理层分开,这样您就只能使用Phonegap打包Html5/UI/Javascript层,并将后端处理保留在Web服务器上.我认为我不需要解释这一点,但很明显,与Phonegap一起打包的应用程序不会在移动设备上提供MVC/.Net框架来呈现视图或执行控制器等.通过将UI迁移到简单Html5和Javascript你可以对你的后端使用Ajax/Jquery/Javascript调用,你可能希望在ASP.Net MVC WebAPI中托管它.

编辑:猜猜我的建议有些混乱.我不是说这是唯一可行的方法,但这是我熟悉的,因为我们的团队是如何构建我们的桌面/网络+移动+ phonegap + mvc4 + webapi + kendoui应用程序的.这种模式对我们很有用,所以也许它对你也有用,或者至少给你一些关于如何构建解决方案的想法.祝好运!

  • 不知道为什么这是低估的,但这是正确的道路. (3认同)
  • 问题是当您使用某些无法像AntiForgeryToken转换的ASP.NET MVC功能时?您能解释一下如何使用AntiForgeryToken来实现登录安全性,并将所有内容迁移到简单的HTML视图中吗? (3认同)
  • 当然它不一定是WebAPI,这只是一种方法,如果你已经是.Net和MVC,可能是最好的做法.这里真正的建议是将项目分解为调用后端服务的UI/Javascript/Html层. (2认同)