走進“衣食住行” 看Windows Phone應用是如何煉成的
原創作者:馬沛
5月,一款叫做“衣食住行“的移動應用在微軟Marketplace上發布,這是在Windows Phone平臺上的一款應用,由微軟亞太研發集團中國創新組(CIG)開發完成。近日,記者專訪CIG“衣食住行”開發團隊, 一同回顧Windows Phone應用的誕生過程。
【51CTO專訪報道】5月,一款叫做“衣食住行“的移動應用在微軟Marketplace上發布,這是在Windows Phone平臺上的一款應用,由微軟亞太研發集團中國創新組(CIG)開發完成。近日,記者專訪CIG“衣食住行”開發團隊, 一同回顧Windows Phone應用的誕生過程。
“衣食住行”由微軟亞太研發集團CIG的3名技術人員通過4個月的時間完成上線。項目經理黃昊文在接受記者專訪時談到:“項目組中的3名.NET開發者,之前都沒有移動應用的開發經驗,只是做過Windows的桌面應用開發,部分了解SQL Server。這次也是***次接觸Windows Phone SDK。”衣食住行“作為一個信息聚合平臺,需要和第三方合作伙伴的數據進行整合,包括API文檔的對接或修改。對于***次接觸移動開發的項目團隊,通過MSDN找到了詳細的開發文檔,雖然基本上越過了技術上的挑戰,但是面對移動開發全新的業務流程,開發方法和項目管理的過程,在初期黃昊文卻是面臨著很大的挑戰。
Windows Phone應用:衣食住行
Sprint核心——體驗敏捷開發的實踐
“衣食住行“客戶端的代碼在3萬行以上,不包括XAML。全部從零開始寫,貫穿項目始終的敏捷開發是黃昊文感觸最為深刻的開發過程。”我們將整個項目分成了4個Sprint,3個開發Sprint,1個測試Sprint。敏捷開發對項目經理的要求很高,需要靈活的把握和調整每一個周期內的項目進度“,黃昊文回顧了當時完成第1個Sprint時,由于是新組建的團隊需要磨合和了解,用了比計劃多50%的時間來完成,而很快又發現這個結果并不是所需要的,因此全部推翻重新來做。“這也是敏捷開發相比較原先瀑布式開發的優勢,能將風險控制在Sprint里。一旦發現項目出現偏差,能夠很快調整方向,有效的減少了項目延期、需求實現不匹配的問題。”
微軟亞太研發集團中國創新組全家福
黃昊文認為敏捷開發過程還有一個很重要的環節就是每天的Sprint短會。短會的目的很明確,每個人就回答三個問題:你昨天做了什么?今天打算做什么?在做的過程中碰到過什么問題?如果能回答這三個問題,項目經理就能夠把握整個項目是否按照計劃完成,有沒有出現之前沒有預想到的風險問題等。“而且重點是Sprint短會一定得在早晨站著開“,黃昊文說:“每天每個人用兩、三分鐘回答這三個問題,3~5人的項目組花15分鐘左右就能很好的了解項目的進度,和一些突發的事件,然后很快可以調整計劃應對。”
黃昊文總結了敏捷開發成功的幾個要素:***,開發者的規模不能太多,一旦超過10人以上,作為項目經理對項目的核查就很困難了,一般3~6個最為合適,分工方式也最為靈活。第二,劃分Sprint的周期,一般是4~6個星期,不能少于3周。在Sprint開始之前,項目經理要很明確的列出做一個Sprint的計劃。而且要盡可能的細化,每一個工作的完成時長不能超過2天,***以半天為周期進行劃分。“***通過1~2個Sprint實現項目成員內部的磨合了解,這樣接下來的項目進展就會越做越順了“,黃昊文分享道:“敏捷開發的靈活性還體現在整個項目組都會全程參與討論交互設計,接口設計,每個人都很清楚完成的這一部分將會對整個產品帶來怎樣的影響,并了解整體的業務流程和進度,這對于開發者是一種非常好的積累”。
Expression Blend、Metro控件:Windows Phone應用開發利器
基于Visual Studio平臺的Windows Phone應用開發讓開發者們很快進入了角色。更為突出的是引入了Silverlight XAML,更好的讓設計和開發人員可以并行協作的開展項目了。以前做前端開發最痛苦的是用程序實現切圖后的動畫效果,現在這部分的工作完全可以由專業的設計人員在Expression Blend中完成。“在用了XAML工具后整個開發速度快了很多因為前端開發無需綁定最終版的設計效果圖“,黃昊文印象深刻的談到:”我們實現了真正的并行開發,在界面中確定幾個控件的名字,綁定控件之間的邏輯關系后,單個控件的界面、擺放位置以及交互體驗即使進行調整,也不會影響后臺的程序開發。這樣設計和開發相互之間的依賴性減弱,沒有相互之間的確認、修改、等待確認的過程,非常有效的縮短了整個產品的設計開發時間。“
Expression Blend從界面和用戶習慣來看,與Photoshop的使用很相似。既可以成為作圖工具,也可以通過代碼完成動畫效果,包括一些簡單的邏輯都可以通過Blend實現,前端展現層和后端邏輯層分開,由前端的控件綁定后端的數據實現交互。
因為Windows Phone采用了全新的Metro風格,這種風格看似簡單的展現,其實在后面有著針對用戶體驗分析這一門深入的科學研究。黃昊文帶領的項目團隊開始Windows Phone應用開發的初期,也曾嘗試花大量的時間去做自己的控件,但發現不僅耗時而且做了無用功。“這可能是傳統桌面應用開發人員經常走入的誤區,喜歡自己寫一些個性化的控件。但在移動應用層面,我們一定要遵守的規則就是所有的開發過程都是圍繞要提供更優秀的用戶體驗為最終目標的“,黃昊文深有體會的談到了一次失敗的控件開發經歷:”在Sprint1中,我們花了大力氣做了一個Windows 上很常見的下拉框,并且綁定了數據進去。后來發現在手機上的用戶體驗非常不好,因為沒有考慮到手指、屏幕、空間等等的因素。“
在Windows Phone SDK自帶的標準控件中,所有的設計調用是完全符合Metro風格的。并且豐富的控件數量可以滿足幾乎所有的需求,開發者不需要自己再去做控件,通過調用就可以最簡單、平滑的實現Metro風格的應用開發。
在采訪“衣食住行“項目組時,微軟亞洲工程院副院長、微軟亞太研發集團技術孵化部高級總監芮勇博士分享道:“微軟在過去三十多年發展過程中,做出很多很好的產品。但是在一本叫做《創新者的困境》的書中曾寫道:一個公司越成功,在發展過程中會變得越來越危險,因為依托成功的產品,會丟掉要去創新的風險。而當一個公司失去創新的欲望時,就會被日益邊緣化。”而讓大家非常欣喜看到的是,微軟在今天依然努力做著創新的嘗試,也在將這創新的基因植入更多的開發者體內。
微軟亞洲工程院副院長、微軟亞太研發集團技術孵化部高級總監芮勇博士
微軟亞太研發集團戰略合作與商務運營部總經理周斌女士
責任編輯:馬沛
來源:
51CTO.com