懶惰是什么?
懶惰指人們刻意回避體力或腦力勞動(dòng)的行為。
產(chǎn)生原因:懈怠的心態(tài)、懶散的作風(fēng)以及對一事無成的漠視。
懶惰是如何影響Windows Phone開發(fā)工作的?
——讓資源在我們眼皮底下溜走。
無論大家認(rèn)為智能手機(jī)能夠在生活中扮演如何重要的角色,我們必須認(rèn)清一個(gè)現(xiàn)實(shí):這只是部小型設(shè)備,包括內(nèi)存、處理性能以及電池壽命在內(nèi)的各項(xiàng)參數(shù)均十分有限。盡量把能在其它平臺(tái)上進(jìn)行的工作與手機(jī)分離可以有效延長電池使用時(shí)間,而將數(shù)據(jù)及日常處理工作抽離出來也能幫助我們在多用戶及多平臺(tái)移動(dòng)解決方案中更加游刃有余。云解決方案正是由此向通用計(jì)算、大型擴(kuò)展規(guī)劃、高可用性一路高歌猛進(jìn),以按需使用的原則贏得了廣泛好評。云與移動(dòng)技術(shù)的強(qiáng)強(qiáng)聯(lián)合成功引發(fā)一加一大于二的良好效果。
大家作為一位Windows Phone開發(fā)人員,有沒有考慮過利用Windows Azure為自己的Windows Phone解決方案平添助力?各位的答案是什么,如果不是“我使用過Amazon或者其它云供應(yīng)商提供的服務(wù)”,那么真是要反思一下自己的工作積極性了。在下面的文章中,我將從多個(gè)方面與大家討論這個(gè)話題,希望幫助讀者朋友擺脫懶惰的惡習(xí),并考慮利用Azure的云基礎(chǔ)設(shè)施讓自己的Windows Phone應(yīng)用程序錦上添花:
◆Windows Azure: 點(diǎn)擊此處了解關(guān)于Windows Azure的更多詳情。通過閱讀,大家會(huì)了解到這套云平臺(tái)的功能、作用、業(yè)務(wù)模式以及如何為開發(fā)人員提供幫助。溫馨提示——學(xué)習(xí)過程其實(shí)相當(dāng)簡單。
◆用好免費(fèi)資源: 樂于嘗試新鮮事物是成功的必要前提,因此無論是哪種資源,只要不需要投入太多資金和精力,我們就不妨試它一試。免費(fèi)的Azure體驗(yàn)版就是大家不容錯(cuò)過的好東西。另外,各位只要訂閱MSDN,就能夠第一時(shí)間免費(fèi)使用Azure的強(qiáng)大功能,點(diǎn)擊此處了解更多內(nèi)容。
◆數(shù)據(jù): 數(shù)據(jù)是一切應(yīng)用程序的核心內(nèi)容——無論關(guān)系型還是非關(guān)系型都是如此。家庭成員之間可能希望與彼此共享各自設(shè)備上的應(yīng)用數(shù)據(jù),那么作為開發(fā)人員,我們就必須要盡量滿足這類需求,讓信息能夠在不同平臺(tái)之間順暢傳輸。出于這種考慮,建議大家采用集中式存儲(chǔ)、緩存內(nèi)保留的處理方式。而Azure正是解決問題的最佳方案,關(guān)系型數(shù)據(jù)交給SQL Azure,非關(guān)系型數(shù)據(jù)則交給Blobs或者Tables。這樣一來,兩種數(shù)據(jù)都會(huì)擁有極佳的可擴(kuò)展性及高度可用性。
◆Glance & Go(令人一見而鐘情的軟件提示): 還記得Windows Phone廣告中強(qiáng)調(diào)過的“所見即所得”嗎?Windows Phone中的信息推送機(jī)制無論是目前效果最好的軟件營銷手段之一,而Glance & Go方案則是這種機(jī)制的重要體現(xiàn)。為什么啟動(dòng)應(yīng)用程序時(shí)一定要伴隨著簡單的活動(dòng)板塊變化?因?yàn)樵贛ango系統(tǒng)中,通過板塊活動(dòng)推送信息的設(shè)定能夠讓開發(fā)人員擁有更多操作空間——我們有機(jī)會(huì)讓用戶在提示框中看到我們的應(yīng)用,這無疑會(huì)加深他們的印象。Azure可以作為我們Windows Phone應(yīng)用程序的最佳后端,它的托管服務(wù)能夠在手機(jī)激活時(shí)自動(dòng)以板塊、框體或者提示欄的方式向用戶宣傳我們的應(yīng)用程序產(chǎn)品。而且我們還能夠根據(jù)當(dāng)前用戶基礎(chǔ)的狀況調(diào)整后端的資源調(diào)配。
◆可擴(kuò)展性: 你的應(yīng)用程序可能時(shí)效性極強(qiáng),例如與NFL(即全美橄欖球聯(lián)盟)比賽有關(guān);或者你的應(yīng)用在初期下載量激增,卻在一個(gè)月之內(nèi)迅速疲軟。如果你的Windows Phone應(yīng)用利用某種后端處理服務(wù)及數(shù)據(jù),那么你打算如何處理擴(kuò)展性方面的問題?這種前高后低的境況往往令我們陷入兩難的選擇:性能大幅下降而失去用戶,或者為ISP或硬件支付過高的使用費(fèi)用。我們的老朋友Azure又出來救急了,它所采用的彈性使用方式能夠按需求分配資源并計(jì)費(fèi),這樣我們就不會(huì)在這方面浪費(fèi)投資了。
◆OData(開放數(shù)據(jù)協(xié)議): 別猶豫,接受這套協(xié)議吧。我們將在未來很和一段時(shí)間內(nèi),始終面對以混合型移動(dòng)平臺(tái)為主要對象的開發(fā)環(huán)境。想象一下,我們無需為自己的數(shù)據(jù)訪問層在iOS、Android以及Windows Phone之間的切換而重復(fù)投資難道不是件利國利民的大好事嗎?加入OData——也就是開放數(shù)據(jù)協(xié)議。以HTTP及Atom/JSon的基本設(shè)定為基礎(chǔ),OData是一套獨(dú)立的數(shù)據(jù)交換協(xié)議平臺(tái)。正如RSS之于上傳數(shù)據(jù),OData對數(shù)據(jù)順暢交換同樣具有重要意義。而且它為很多生態(tài)系統(tǒng)提供了代理庫,也就是一次部署、全平臺(tái)受益。真的這么方便,大家可以訪問OData的官方網(wǎng)站了解更多細(xì)節(jié),我們也在Silverlightshow網(wǎng)站上發(fā)布了一系列相關(guān)文章。
◆CDN(內(nèi)容發(fā)布網(wǎng)絡(luò)): 沒錯(cuò),大家可以將自己的應(yīng)用程序后端托管在本地ISP甚至是自己的臺(tái)式機(jī)上。不過如果各位的應(yīng)用程序會(huì)用到衛(wèi)星成像、地圖、媒體或者其它負(fù)載繁重的資源,而且用戶又遍布世界各地,那么應(yīng)用程序很可能會(huì)面臨極高的響應(yīng)延遲。原因很單純,極大的地域跨度令內(nèi)容交付工作變得很難及時(shí)完成。在這種情況下,最好的處理辦法自然是讓用戶能夠接入離自己所在地最近的服務(wù)器。Azure Content Delivery Network(簡稱CDN)來了,這是只有云基礎(chǔ)設(shè)施才具備的獨(dú)特優(yōu)勢,在世界各地部署了邊緣緩存節(jié)點(diǎn)。我們的內(nèi)容會(huì)被保存在緩存中,而Azure則利用DNS調(diào)整保證用戶能夠接入到與他們距離最近的服務(wù)器。這套機(jī)制設(shè)置極為簡便,而且這項(xiàng)優(yōu)勢也是每位云計(jì)算用戶都應(yīng)當(dāng)充分利用的。點(diǎn)擊此處與此處了解更多詳情。
◆Azure WP7 工具包: 為了盡量簡化Windows Phone開發(fā)人員使用Azure的方式,Azure DPE團(tuán)隊(duì)在開發(fā)工具包及幫助庫方面做了大量工作。目前我們已經(jīng)可以輕松獲得針對Windows Phone、iOS及Android系統(tǒng)推出的多款A(yù)zure工具包。因此,無論大家打算為哪款移動(dòng)平臺(tái)開發(fā)應(yīng)用程序,我們都應(yīng)該可以輕松使用Azure,因此這些工具包通過概括和簡化解決了大部分對于移動(dòng)開發(fā)人員而言晦澀難懂的Azure技術(shù)問題。專為WP7開發(fā)的Azure工具包(點(diǎn)擊此處查看詳情)提供了大量精彩模板,能夠讓我們的應(yīng)用程序輕松與云端的SQL Azure、Tables、Blobs以及推送通知等功能相對接。下載、創(chuàng)建新項(xiàng)目最后點(diǎn)擊F5,一切就是這么方便!
◆ACS, 通知與Nuget: 完整版Azure工具包中是不是包含了太多我們根本用不到的內(nèi)容?請各位別擔(dān)心,因?yàn)镸SFT已經(jīng)將各功能單獨(dú)拆分出來,并以Nuget的名頭各個(gè)推出(點(diǎn)擊此處查看詳情),如此一來就消除了資源浪費(fèi)的問題。需要利用來自谷歌/Live/Facebook等平臺(tái)的關(guān)聯(lián)賬戶來直接登錄我們的應(yīng)用程序?有一款專門負(fù)責(zé)在Azure上處理ACS(即訪問控制服務(wù))事務(wù)的Nuget。它能夠非常高效地讓用戶利用現(xiàn)有賬戶登錄應(yīng)用,并訪問Azure上的各類相關(guān)服務(wù)。如果打算在應(yīng)用程序中加入通知推送功能,另有一款Nuget專門為此而生??傊覀円龅木褪翘岢鰡栴}然后找到合適的功能,接下來一切都將迎刃而解。
◆Live API: 打算使用SkyDrive?哈哈,相信沒人愿意放棄這白來的25 GB免費(fèi)云存儲(chǔ)空間。很可能那些擁有Live ID的Windows Phone應(yīng)用程序用戶已經(jīng)開通了SkyDrive服務(wù)。如果大家打算增加應(yīng)用程序的云端存儲(chǔ)空間,或者把某些內(nèi)容交給云平臺(tái)保存,那么SkyDrive無疑是最方便也最劃算的解決方案。MSFT最近剛剛公布了Live API及一款軟件開發(fā)工具包,它們的出現(xiàn)使應(yīng)用安全訪問用戶的SkyDrive成為可能,并讓SkyDrive與Live服務(wù)套件之間的交互性更上一層樓。點(diǎn)擊此處查看更多詳情,這里還有另一篇文章,闡述了如何讓你的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)用程序呢?幸運(yùn)的是,Windows 8中的通知推送架構(gòu)與原有風(fēng)格相當(dāng)接近,因此大家可以很容易地掌握這套新機(jī)制。既然如此,為什么不搞一套統(tǒng)一的后端,讓它能夠同時(shí)服務(wù)于Windows Phone與Metro應(yīng)用程序呢?說到這我不得不敬佩Azure開發(fā)團(tuán)隊(duì)的效率,他們甚至已經(jīng)推出了一套專為Windows 8研發(fā)的工具包(點(diǎn)擊此處查看詳情),能夠提前解決我們的難題。
還有什么我漏掉的重要內(nèi)容嗎?大家不妨在評論中做出補(bǔ)充??傊囋嘇zure吧,它絕對是一款值得信賴的Windows Phone應(yīng)用程序后端。當(dāng)然,前提是它要適合大家的具體需求。
原文鏈接:http://mobile.dzone.com/articles/7-deadly-sins-windows-phone-1