2012-05-01 67 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