2012-05-01 69 views
5

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

它需要以不同的方式做一两件事。首先,使用原生GPS功能来确定用户的位置 - 我猜这可以通过HTML5完成?其次,每当Web应用程序用户收到通知时发送推送通知。

所有的信息已经存在,在MySQL数据库上,除了上述两个功能以外的所有功能都正常工作。

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

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

是否有可能让他通过iPhone登录。另一方面,他是否有可能通过iphone搜索数据库,然后“添加一个新朋友” - 在朋友列表中建立两个用户的连接 - 在该朋友中,朋友也是朋友Web应用程序?

我一直在阅读很多关于所有可用的选项,我仍然很困惑!任何帮助都会非常有帮助。

回答

3

我自己并不是手机开发者,但是我刚刚完成了构建原生Android应用程序,该应用程序连接到网站,并且能够登录,执行可能在网站上执行的操作。如果GPS跟踪集成使用本地功能,而不是使用HTML5(虽然我不确定它是如何工作的)。

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

所以才得出结论: 为了实现你要找的工作流程的结果看起来是这样的:

1.Mobile用户填写表单 - >

2.App确实一个HTTP请求给服务器端脚本 - >

3.script的辛勤工作(例如连接到数据库) - >

4.script呈现一个结果 - >

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

我希望这会有所帮助。

+0

谢谢你:) – Samwise

3

林我的目标看来有三种可能:

开始使用Objective-C的

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

使用您的API,它是希望无状态的,甚至一个RESTful API,那么你可以采取一些不错的快捷键为您的原生iPhone应用程序。然后,您可以使用RestKit库轻松将来自服务器的JSON答案转换为对象,执行缓存和其他不错的功能。

编写一个Web应用程序

第二种可能性是建造采用先进设备,最先进的HTML5技术的一个很好的Web应用程序。最重要的是,你可以编写一个Android应用程序,以及两个移动设备都使用webkit浏览器。那么它不完全是这种情况,因为有不同的屏幕尺寸的不同版本的Android,但总的来说这个假设成立。例如,看看谷歌的谷歌日历网络应用程序,我认为这是一个很好的折衷。您也可以为此获取主屏幕图标,您将不需要应用程序审批流程,并且可以随时更新。使用HTML5离线存储为您提供一定的自由度。

使用PhoneGap的

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

+0

所以,在你看来;最好是单独创建一个移动web版本的web appliacation - 不同的UI等。然后允许iPhone,Android等用户创建他们的家庭仪表板/跳板的快捷方式?欢呼的答案,非常有帮助! – Samwise

+0

嗯,是的,没有。从技术角度来看,这是有道理的。通常客户只是想要一个应用程序,不管是什么。在这种情况下,会有一个薄包装层(基本上只为您的应用程序提供第二个Web浏览器)。顺便说一句,如果你发现答案有帮助,随时投票。 – GorillaPatch

+0

但是创建一个webApp并不能解决接收APN的问题。如果你需要这样一个复杂的应用程序,你应该选择本地的。 –

0

使用Zend Studio的。 Zend Studio现在允许开发人员使用PHP开发移动应用程序。 看到下面的链接:NewsTutorial

+0

该链接已损坏 – Jez

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的一些预取所有页面,然后它们的动画来回。这也有助于在单独的独立线程中上传数据,而用户可以自由漫游应用程序。

希望有所帮助。

0

简单地说,去最好的办法是让你使用PHP的Web服务与手机的差距。

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