omniture

Windows Phone開發(fā)人員七宗罪之懶惰

2012-06-05 14:35

懶惰是什么?

懶惰指人們刻意回避體力或腦力勞動的行為。

產(chǎn)生原因:懈怠的心態(tài)、懶散的作風(fēng)以及對一事無成的漠視。

懶惰 

懶惰是如何影響Windows Phone開發(fā)工作的?

——讓資源在我們眼皮底下溜走。

無論大家認為智能手機能夠在生活中扮演如何重要的角色,我們必須認清一個現(xiàn)實:這只是部小型設(shè)備,包括內(nèi)存、處理性能以及電池壽命在內(nèi)的各項參數(shù)均十分有限。盡量把能在其它平臺上進行的工作與手機分離可以有效延長電池使用時間,而將數(shù)據(jù)及日常處理工作抽離出來也能幫助我們在多用戶及多平臺移動解決方案中更加游刃有余。云解決方案正是由此向通用計算、大型擴展規(guī)劃、高可用性一路高歌猛進,以按需使用的原則贏得了廣泛好評。云與移動技術(shù)的強強聯(lián)合成功引發(fā)一加一大于二的良好效果。

大家作為一位Windows Phone開發(fā)人員,有沒有考慮過利用Windows Azure為自己的Windows Phone解決方案平添助力?各位的答案是什么,如果不是“我使用過Amazon或者其它云供應(yīng)商提供的服務(wù)”,那么真是要反思一下自己的工作積極性了。在下面的文章中,我將從多個方面與大家討論這個話題,希望幫助讀者朋友擺脫懶惰的惡習(xí),并考慮利用Azure的云基礎(chǔ)設(shè)施讓自己的Windows Phone應(yīng)用程序錦上添花:

Windows Azure: 點擊此處了解關(guān)于Windows Azure的更多詳情。通過閱讀,大家會了解到這套云平臺的功能、作用、業(yè)務(wù)模式以及如何為開發(fā)人員提供幫助。溫馨提示——學(xué)習(xí)過程其實相當簡單。

用好免費資源: 樂于嘗試新鮮事物是成功的必要前提,因此無論是哪種資源,只要不需要投入太多資金和精力,我們就不妨試它一試。免費的Azure體驗版就是大家不容錯過的好東西。另外,各位只要訂閱MSDN,就能夠第一時間免費使用Azure的強大功能,點擊此處了解更多內(nèi)容。

數(shù)據(jù): 數(shù)據(jù)是一切應(yīng)用程序的核心內(nèi)容——無論關(guān)系型還是非關(guān)系型都是如此。家庭成員之間可能希望與彼此共享各自設(shè)備上的應(yīng)用數(shù)據(jù),那么作為開發(fā)人員,我們就必須要盡量滿足這類需求,讓信息能夠在不同平臺之間順暢傳輸。出于這種考慮,建議大家采用集中式存儲、緩存內(nèi)保留的處理方式。而Azure正是解決問題的最佳方案,關(guān)系型數(shù)據(jù)交給SQL Azure,非關(guān)系型數(shù)據(jù)則交給Blobs或者Tables。這樣一來,兩種數(shù)據(jù)都會擁有極佳的可擴展性及高度可用性。

Glance & Go(令人一見而鐘情的軟件提示): 還記得Windows Phone廣告中強調(diào)過的“所見即所得”嗎?Windows Phone中的信息推送機制無論是目前效果最好的軟件營銷手段之一,而Glance & Go方案則是這種機制的重要體現(xiàn)。為什么啟動應(yīng)用程序時一定要伴隨著簡單的活動板塊變化?因為在Mango系統(tǒng)中,通過板塊活動推送信息的設(shè)定能夠讓開發(fā)人員擁有更多操作空間——我們有機會讓用戶在提示框中看到我們的應(yīng)用,這無疑會加深他們的印象。Azure可以作為我們Windows Phone應(yīng)用程序的最佳后端,它的托管服務(wù)能夠在手機激活時自動以板塊、框體或者提示欄的方式向用戶宣傳我們的應(yīng)用程序產(chǎn)品。而且我們還能夠根據(jù)當前用戶基礎(chǔ)的狀況調(diào)整后端的資源調(diào)配。

可擴展性: 你的應(yīng)用程序可能時效性極強,例如與NFL(即全美橄欖球聯(lián)盟)比賽有關(guān);或者你的應(yīng)用在初期下載量激增,卻在一個月之內(nèi)迅速疲軟。如果你的Windows Phone應(yīng)用利用某種后端處理服務(wù)及數(shù)據(jù),那么你打算如何處理擴展性方面的問題?這種前高后低的境況往往令我們陷入兩難的選擇:性能大幅下降而失去用戶,或者為ISP或硬件支付過高的使用費用。我們的老朋友Azure又出來救急了,它所采用的彈性使用方式能夠按需求分配資源并計費,這樣我們就不會在這方面浪費投資了。

OData(開放數(shù)據(jù)協(xié)議): 別猶豫,接受這套協(xié)議吧。我們將在未來很和一段時間內(nèi),始終面對以混合型移動平臺為主要對象的開發(fā)環(huán)境。想象一下,我們無需為自己的數(shù)據(jù)訪問層在iOS、Android以及Windows Phone之間的切換而重復(fù)投資難道不是件利國利民的大好事嗎?加入OData——也就是開放數(shù)據(jù)協(xié)議。以HTTP及Atom/JSon的基本設(shè)定為基礎(chǔ),OData是一套獨立的數(shù)據(jù)交換協(xié)議平臺。正如RSS之于上傳數(shù)據(jù),OData對數(shù)據(jù)順暢交換同樣具有重要意義。而且它為很多生態(tài)系統(tǒng)提供了代理庫,也就是一次部署、全平臺受益。真的這么方便,大家可以訪問OData的官方網(wǎng)站了解更多細節(jié),我們也在Silverlightshow網(wǎng)站上發(fā)布了一系列相關(guān)文章。

CDN(內(nèi)容發(fā)布網(wǎng)絡(luò)): 沒錯,大家可以將自己的應(yīng)用程序后端托管在本地ISP甚至是自己的臺式機上。不過如果各位的應(yīng)用程序會用到衛(wèi)星成像、地圖、媒體或者其它負載繁重的資源,而且用戶又遍布世界各地,那么應(yīng)用程序很可能會面臨極高的響應(yīng)延遲。原因很單純,極大的地域跨度令內(nèi)容交付工作變得很難及時完成。在這種情況下,最好的處理辦法自然是讓用戶能夠接入離自己所在地最近的服務(wù)器。Azure Content Delivery Network(簡稱CDN)來了,這是只有云基礎(chǔ)設(shè)施才具備的獨特優(yōu)勢,在世界各地部署了邊緣緩存節(jié)點。我們的內(nèi)容會被保存在緩存中,而Azure則利用DNS調(diào)整保證用戶能夠接入到與他們距離最近的服務(wù)器。這套機制設(shè)置極為簡便,而且這項優(yōu)勢也是每位云計算用戶都應(yīng)當充分利用的。點擊此處此處了解更多詳情。

Azure WP7 工具包: 為了盡量簡化Windows Phone開發(fā)人員使用Azure的方式,Azure DPE團隊在開發(fā)工具包及幫助庫方面做了大量工作。目前我們已經(jīng)可以輕松獲得針對Windows Phone、iOS及Android系統(tǒng)推出的多款A(yù)zure工具包。因此,無論大家打算為哪款移動平臺開發(fā)應(yīng)用程序,我們都應(yīng)該可以輕松使用Azure,因此這些工具包通過概括和簡化解決了大部分對于移動開發(fā)人員而言晦澀難懂的Azure技術(shù)問題。專為WP7開發(fā)的Azure工具包(點擊此處查看詳情)提供了大量精彩模板,能夠讓我們的應(yīng)用程序輕松與云端的SQL Azure、Tables、Blobs以及推送通知等功能相對接。下載、創(chuàng)建新項目最后點擊F5,一切就是這么方便!

ACS, 通知與Nuget: 完整版Azure工具包中是不是包含了太多我們根本用不到的內(nèi)容?請各位別擔(dān)心,因為MSFT已經(jīng)將各功能單獨拆分出來,并以Nuget的名頭各個推出(點擊此處查看詳情),如此一來就消除了資源浪費的問題。需要利用來自谷歌/Live/Facebook等平臺的關(guān)聯(lián)賬戶來直接登錄我們的應(yīng)用程序?有一款專門負責(zé)在Azure上處理ACS(即訪問控制服務(wù))事務(wù)的Nuget。它能夠非常高效地讓用戶利用現(xiàn)有賬戶登錄應(yīng)用,并訪問Azure上的各類相關(guān)服務(wù)。如果打算在應(yīng)用程序中加入通知推送功能,另有一款Nuget專門為此而生??傊?,我們要做的就是提出問題然后找到合適的功能,接下來一切都將迎刃而解。

Live API: 打算使用SkyDrive?哈哈,相信沒人愿意放棄這白來的25 GB免費云存儲空間。很可能那些擁有Live ID的Windows Phone應(yīng)用程序用戶已經(jīng)開通了SkyDrive服務(wù)。如果大家打算增加應(yīng)用程序的云端存儲空間,或者把某些內(nèi)容交給云平臺保存,那么SkyDrive無疑是最方便也最劃算的解決方案。MSFT最近剛剛公布了Live API及一款軟件開發(fā)工具包,它們的出現(xiàn)使應(yīng)用安全訪問用戶的SkyDrive成為可能,并讓SkyDrive與Live服務(wù)套件之間的交互性更上一層樓。點擊此處查看更多詳情,這里還有另一篇文章,闡述了如何讓你的Windows Phone應(yīng)用程序充分利用SkyDrive軟件開發(fā)工具包。

重復(fù)使用: 到這里,大家應(yīng)該已經(jīng)對Windows Phone中的通知推送以及MSFT通知推送服務(wù)(簡稱MPNS)比較熟悉了。那么如何為Windows 8系統(tǒng)創(chuàng)建Metro風(fēng)格的應(yīng)用程序呢?幸運的是,Windows 8中的通知推送架構(gòu)與原有風(fēng)格相當接近,因此大家可以很容易地掌握這套新機制。既然如此,為什么不搞一套統(tǒng)一的后端,讓它能夠同時服務(wù)于Windows Phone與Metro應(yīng)用程序呢?說到這我不得不敬佩Azure開發(fā)團隊的效率,他們甚至已經(jīng)推出了一套專為Windows 8研發(fā)的工具包(點擊此處查看詳情),能夠提前解決我們的難題。

還有什么我漏掉的重要內(nèi)容嗎?大家不妨在評論中做出補充??傊?,試試Azure吧,它絕對是一款值得信賴的Windows Phone應(yīng)用程序后端。當然,前提是它要適合大家的具體需求。

原文鏈接http://mobile.dzone.com/articles/7-deadly-sins-windows-phone-1

消息來源:51CTO