5

我已经开发了一个 PHP 应用程序。我想使用 phonegap.com 或类似的方法来开发基于相同 MySQL 数据库的本机应用程序。换句话说,将移动应用程序与网络应用程序连接起来。

它需要以不同的方式做一两件事。首先,使用原生 GPS 功能来确定用户的位置——我猜这只能通过 HTML5 来完成?

其次,只要 Web 应用程序用户收到通知,就发送推送通知。

所有信息都已经存在,在 MySQL 数据库中,并且除了上述两个功能之外的所有内容都可以正常运行。

我目前正在为 Web 应用程序上的所有内容开发 API - 使其以 API 为中心。在我看来,很容易通过 API 连接这两个版本。

例如,用户在 Web 应用程序上注册。然后他被提供给 iphone 应用程序以供下载。

是否可以让他通过 iPhone 登录。另一方面,他是否可以通过 iphone 搜索数据库并“添加新朋友”——在朋友表中建立两个用户的连接——在那个时候,朋友也是Web应用程序?

我已经阅读了很多关于所有可用选项的内容,但仍然很困惑!任何帮助都会非常有帮助。

4

5 回答 5

3

我的客观看法有三种可能:

开始使用 Objective-C

您将必须学习如何编码,并且将为您的用户获得最佳的原生体验。这将很容易让您使用 GPS 定位,或者您可以在手机上缓存内容。手机上互联网连接的一个关键问题是互联网连接可能不稳定。所以你必须为此设计。您已经采取了正确的方法:使用直接 MySQL C-API 直接连接到数据库服务器不会工作得那么好,因为该协议不是无状态的。您必须先登录到服务器,然后才能发送 SQL 查询。

通过使用希望是无状态的 API,甚至可能是 RESTful API,您可以为您的原生 iPhone 应用程序使用一些不错的快捷方式。然后,您可以使用RestKit库轻松地将来自服务器的 JSON 答案转换为对象,进行缓存和其他不错的功能。

编写一个网络应用程序

第二种可能性是使用最先进的 HTML5 技术构建一个不错的 Web 应用程序。这样做的好处是,您将编写一个 Android 应用程序,并且两个移动设备都使用 webkit 浏览器。好吧,情况并非完全如此,因为有不同版本的 Android 具有不同的屏幕尺寸,但总的来说,这个假设成立。以 Google 的 Google Calendar 网络应用为例,我认为这是一个很好的折衷方案。您还可以为此获得一个主屏幕图标,您将没有应用程序审批流程,并且可以随时更新。使用 HTML5 离线存储为您提供了一定程度的自由度。

使用 Phonegap

在 PhoneGap 或其他 HTML 包装框架中编写应用程序将生成 Objective-C 代码的选项是一种可能的选择,但在我看来这并不是一个好的选择。原因是您正在处理某种中间层,如果出现任何问题或遇到错误,您无论如何都必须深入到objective-c。另一个问题是关于 iOS 的更新。它可能会破坏一些依赖关系,然后您必须等到您的中间体更新才能使用新功能。

于 2012-05-01T10:51:22.047 回答
3

我自己不是电话开发人员,但是我刚刚完成了一个原生 Android 应用程序,它连接到一个网站并能够登录,做一些可以在网站上做的事情。如果 GPS 跟踪集成使用本机功能,则不太可能使用 HTML5(尽管我不确定它是如何工作的)。

基本上,为了连接到远程数据库/服务器,您需要从手机向服务器端脚本发出 HTTP 请求。

所以总结一下:为了达到你正在寻找的工作流程的结果可能看起来像这样:

1.手机用户填表->

2.App 向服务器端脚本发出 HTTP 请求 ->

3.script 完成繁重的工作(例如连接到数据库)->

4.script 渲染结果 ->

5.移动应用程序显示结果。

我希望这有帮助。

于 2012-05-01T10:30:20.100 回答
1

Phonegap 是开发这个应用程序的好主意。Phonegap 虽然只支持客户端脚本——这意味着你不能在它的代码中嵌入 php。但是,您可以轻松地在脚本中创建 AJAX 调用,从您已经开发的 php 应用程序/api 获取和发送数据。

Phonegap 还支持 GPS 和数据存储选项,您可以将数据存储在本地,并在互联网可用时进行同步。

对于反向同步(服务器到客户端),您将有两个选择。1. 创建一个 javascript 来进行频繁的 ajax 调用以检查更新。2. 使用推送通知(这里是 iOS APNs 和 Phonegap 集成的教程)- http://devgirl.org/2012/10/19/tutorial-apple-push-notifications-with-phonegap-part-1/

使用 phonegap 取决于个人喜好。从积极的方面来说,您可以节省时间/成本,因为所有平台都使用相同的代码。不利的一面是,它在更改页面时会有轻微的延迟,导致它看起来像一个网站,但您可以通过使用 jquery mobile 之类的东西来预取所有页面然后来回动画它们来避免这种情况。这也将有助于在单独的独立线程中上传数据,同时用户可以自由地在应用程序中漫游。

希望有帮助。

于 2014-02-08T06:02:42.210 回答
0

简而言之,最好的方法是让您使用带电话间隙的 php Web 服务。

你也可以通过使用 PHP 和 android 的 android。这是一个非常好的和简单的方法。试试这里的教程

于 2016-02-21T21:51:39.890 回答
0

您可以使用 Visual Studio Community 的免费版本托盘 Xamarin(.Net 的一部分),然后与您的 PHP Web 应用程序交互。然后,您可以将本机 Xamarin 应用程序(用 C# 编写)编译到 Android 和 iOS。

于 2019-12-18T18:10:28.093 回答