資源描述:
《iphone開(kāi)發(fā)教程之將 google 的云計(jì)算功能連接到 apple 的 iphone 中(1)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、iPhone開(kāi)發(fā)教程之將Google的云計(jì)算功能連接到Apple的iPhone中(1)簡(jiǎn)介iPhoneSDK和GoogleAppEngine的背景何為GoogleAppEngine?從GoogleAppEngine生成plist文件清單1.main.py清單2.sonnet.py的示例清單3.HTTPGet的結(jié)果針對(duì)手持設(shè)備的云計(jì)算和軟件開(kāi)發(fā)是兩項(xiàng)非常熱門的技術(shù),并被越來(lái)越多地結(jié)合起來(lái)用于創(chuàng)建混合解決方案。在本文中,了解如何連接GoogleAppEngine(Google的云計(jì)算功能)和iPhone(Apple的移動(dòng)平臺(tái)),以及如何通過(guò)連接到AppEngine云并緩存應(yīng)用程序
2、數(shù)據(jù)以備離線使用,從而利用開(kāi)源庫(kù)TouchEngine動(dòng)態(tài)控制iPhone上的應(yīng)用程序數(shù)據(jù)。簡(jiǎn)介過(guò)去幾年出現(xiàn)了很多創(chuàng)新技術(shù),2008年對(duì)技術(shù)而言是不同凡響的一年。兩項(xiàng)最讓人興奮的創(chuàng)新是云計(jì)算和移動(dòng)應(yīng)用程序開(kāi)發(fā)。在本文中,我們將探究一種通信方法,這種方法能利用這兩個(gè)技術(shù)來(lái)實(shí)現(xiàn)協(xié)作開(kāi)發(fā)人員的夢(mèng)想。在本文中,我們將使用GoogleAppEngine(Google的云計(jì)算平臺(tái))和iPhone(Apple的移動(dòng)平臺(tái))來(lái)開(kāi)發(fā)一個(gè)能同步“云”數(shù)據(jù)的應(yīng)用程序。我們將利用一種簡(jiǎn)單的方法來(lái)從AppEngine拉出數(shù)據(jù)放到iPhone上;這種方法需要大量使用python和AppEngine。使用R
3、SS、ATOM或REST將數(shù)據(jù)連鎖到iPhone的常規(guī)方法非常簡(jiǎn)單,但是必須要編寫一個(gè)解析器。更簡(jiǎn)單的一種做法是使用XML屬性列表或plist。根據(jù)屬性列表的手冊(cè)頁(yè)面(參見(jiàn)參考資料):“屬性列表使用幾個(gè)核心基礎(chǔ)類型將數(shù)據(jù)組織成指定的值和值的列表,這些類型包括CFString、CFNumber、CFBoolean、CFDate、CFData、CFArray和CFDictionary。借助這些類型,您就能夠生成結(jié)構(gòu)良好、可傳輸、可存儲(chǔ)和可訪問(wèn)的數(shù)據(jù),并且還盡可能提高了效率?!眕list消除了在iPhone上解析XML的煩擾,因?yàn)檫@些plist是XML文件格式的,CocoaTouc
4、h可以很容易將其解析并轉(zhuǎn)變成有意義的對(duì)象。在AppEngine上使用Python內(nèi)的plist庫(kù),不用費(fèi)什么力氣就能將任意一個(gè)簡(jiǎn)單Python庫(kù)對(duì)象發(fā)送給iPhone,但前提是Python庫(kù)內(nèi)的數(shù)據(jù)類型是plist允許的。本文展示了使用TouchEngine開(kāi)源庫(kù)開(kāi)發(fā)應(yīng)用程序以便查看莎士比亞的十四行詩(shī)。要獲得GoogleCode項(xiàng)目的鏈接,請(qǐng)參見(jiàn)參考資料。首先,讓我們先來(lái)看看有關(guān)iPhoneSDK和GoogleAppEngine的背景信息。iPhoneSDKNativeiPhoneSDK可通過(guò)Objective-C語(yǔ)言得到。它非常類似于MacOSX?上的Cocoa編程,包括了
5、能充分利用iPhone獨(dú)特特性的一些API,比如GPS、觸摸屏(multi-touch)、加速器(accelerometer)以及屏幕鍵盤。將來(lái)的功能還將包括對(duì)通知自動(dòng)推入(pushnotification)等技術(shù)的支持。有關(guān)iPhoneNativeSDK的更多信息,請(qǐng)參見(jiàn)參考資料。iPhoneSDK和GoogleAppEngine的背景對(duì)于移動(dòng)應(yīng)用程序開(kāi)發(fā)人員而言,iPhone提供了豐富的開(kāi)發(fā)環(huán)境。直到最近,Objective-C對(duì)很多開(kāi)發(fā)人員而言仍舊是一種相當(dāng)深?yuàn)W的語(yǔ)言,因?yàn)樗挥糜贜eXT和Apple,但是現(xiàn)在通過(guò)CocoaTouchSDK,它的支持者開(kāi)始多了起來(lái)。借助
6、iPhone,Objective-C更是成為了全部新一代移動(dòng)應(yīng)用程序開(kāi)發(fā)人員的前沿和中心。有了Amazon的S3存儲(chǔ)和EC2彈性計(jì)算服務(wù),云計(jì)算在可視化方面得到了很大的推進(jìn)。GoogleAppEngine是基于服務(wù)的云計(jì)算市場(chǎng)的一個(gè)新生力量。GoogleAppEngine為著名的Google可伸縮數(shù)據(jù)中心提供了一個(gè)Python語(yǔ)言的API(將來(lái)會(huì)出現(xiàn)其他語(yǔ)言的版本)。這是一個(gè)極大的變革,它讓軟件開(kāi)發(fā)人員能夠從管理應(yīng)用程序伸縮性的固有復(fù)雜性中解脫出來(lái),讓他們能將精力集中于應(yīng)用程序的編寫。何為GoogleAppEngine?我們先來(lái)看看如何從GoogleAppEngine生成pl
7、ist文件,之后,您會(huì)通過(guò)iPhoneCocoaTouchSDK在iPhone上使用該文件。由于AppEngine起初是免費(fèi)的,所以它成為了移動(dòng)應(yīng)用程序開(kāi)發(fā)人員的一種有趣的原型化方法。此外,此API是Python版本,而該語(yǔ)言享有開(kāi)發(fā)迅速的美譽(yù);而且它還是一種解釋效率很高的語(yǔ)言。通過(guò)AppEngine和Python將iPhone應(yīng)用程序的繁重任務(wù)以及數(shù)據(jù)存儲(chǔ)外包給“云功能”,是一種非常有益的做法。從GoogleAppEngine生成plist文件要跟隨本文進(jìn)行操作,需要下載AppEngineSDK(參見(jiàn)