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