19

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

4

5 回答 5

34

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

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

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

于 2012-10-30T21:03:15.517 回答
1

我不确定,但您需要一个服务器来编译 ASP.NET 对吗?所以我认为这对你不起作用。我认为您需要使用 AJAX 来完成您的 ASP.NET 工作并将您的 ASP.NET 代码和 HTML-jQuery 分开,因为 Phonegap 需要一个 index.html 文件。您可以将 ASP.NET 文件存储在服务器上

于 2012-10-30T20:57:40.263 回答
1

您的问题的答案实际上取决于您尝试转换的网站类型。您是否只是想在 HTML 周围放置一个原生框架并将您的应用程序放入应用程序商店?

如果它本质上主要或完全是信息性的,并且您只是使用 MVC 来构建小册子类型的页面,那么它应该很容易移动。这假设除了页面到页面导航之外几乎没有逻辑。

如果您的站点转而推送大量依赖于后端服务器的数据,您将需要重新构建它以在本地存储数据或通过清单预取数据。接下来,您将需要实施一种策略,允许您将本地数据推送回服务器。

您的应用程序是否需要在断开连接状态下运行?

于 2012-10-30T21:48:27.893 回答
1

如果您想针对多个移动平台并且可能使用最广泛,Phonegap 是选项之一。由于您使用的是 jQuery,因此 jQueryMobile 将是学习曲线最少的使用路径。工作量主要集中在前端 UI 上,这取决于您要设计多少个屏幕来提供 Web UI 上已有的子集或完整功能集。您很可能必须使用此处记录的 jquery-mobile UI 小部件重新设计您的屏幕。这也是向您的客户展示带有导航的初始屏幕设计的好方法。

于 2012-10-31T08:16:58.293 回答
1

jquery mobile 非常适合学习和设计,但是在手机间隙运行的网络浏览器控制中速度很慢。

为此,您需要一个更轻量级的框架。

you can use an inappbrowser control to show your site in case it's responsive , but you wont have the device camera and contacts and so ...

take a look at : http://docs.phonegap.com/en/3.0.0/cordova_inappbrowser_inappbrowser.md.html#InAppBrowser

于 2015-05-09T13:10:37.220 回答