TechDays 2012 筆記心得—Day2

  • 7703
  • 0
  • 2017-05-02

TechDays 2012 筆記心得—Day2

緣起

時間來到TechDays第二天,今天有場重頭戲,就是Visual Studio 2012的上市發表會,另外也有許多其他豐富的課程,小喵就來分享一下今天接收到的知識洗禮心得。

 

Visual Studio 2012 上市發表會

WP_000137

首先小喵參加了Visual Studio 2012的上市發表會,這次的Visual Studio 2012上市發表會中,主題的概念是【Modern App + Modern Lifecycle】,翻作中文可以說是【現代化的App + 現代化的開發生命週期】

主要有三大主題,分別是:

  • Windows Store App
  • HTML5
  • Scrum敏捷開發

小喵先針對此三主題分別提出小喵的心得

 

Windows Store App

設備、CPU、螢幕尺寸:

隨著Windows 8即將在2012/10/26正式上市,Windows 8除了提供原本NB / PC上面的作業系統外,同時也開始支援(平板)裝置的使用,而面對平板,整個操作的模式、程式開發思考的方式也將與以往不同。

  • 操作模式:觸控、翻轉、GPS等各式新的操作模式有別以往。
  • CPU的不同:X86,X64,ARM,…
  • 螢幕尺寸不同:從1024*768,到Full HD的1920*1080,各式各樣不同的尺寸,不同的尺寸也可以帶來不同的應用。

對於開發Windows 8的應用程式,勢必面臨更多新的挑戰。因此Visual Studio協助我們開發App給Windows 8使用,他能夠協助我克服以上種種的問題,並且有相當的規範,協助我們能夠開發帶給使用者更好使用者操作經驗的應用程式。而Visual Studio 2012幫我們可以解決這些問題。只要依循Visual Studio的規範,就可以設計出符合操作模式、可支援各項CPU,並可在各種螢幕尺寸運作良好的App。

 

開發語言

除了設備、CPU、螢幕尺寸外,開發Windows 8的 App是否需要另外在學新的語言。我們來看一下開發需要的語言

Windows8AppLang

是的,無論是適合觸控的Windows Store App (Windows-8 Style,以前稱之為Metro Style),或者是Desktop Apps,使用的語言就是

  • C / C++
  • C# / VB.NET
  • JavaScript

所以您只要原本有這些的基礎(相信大部分之前走微軟Solution的朋友,都有此基礎),都可以不必刻意去學。

而運作的UI則是 XAML 或 HTML5 / CSS3,這部分之前沒有基礎的朋友可能要加強這一塊了。不過好在微軟有出了Blend這個工具,可以幫我們透過視覺化的設計,來設計UI,只要依循相關的設定限制,相信是沒問題的。

其中的HTML5 / CSS3 搭配 JavaScript這個部份真的很特別,這讓原本是在設計Web應用程式的朋友,可以藉由熟悉的工具與語言VS2012/Blend + HTML5/CSS來開發相關的應用程式。

 

Live DEMO

在Live DEMO的部分,讓小喵印象深刻的是,講師們把一個本來做在網頁上,透過HTML5 + Javascript來設計的俄羅斯方塊的遊戲,將網頁另存成HTML格式,然後把相關儲存的檔案,原封不動的複製貼上到一個空的JavaScript開發Windows 8 Form的專案中,然後程式也沒啥改,就編譯成功了(太神奇了)。接著運作下來,跟在Web上面看到的是一樣的,且除了運作點選開始的時候,會多跳一個 IE 的是窗外,一樣可以變成一個App在Widnows 8的開始觸控畫面中。

另外透過部屬到Windows Store上面,可以設定要上到哪個國家的Winows App,讓我們開發好的應用軟體,有機會在全世界各個不同國家中運作。

另外廠商分享的時候提到,在Debug的時候,如果開發過iOS的朋友,就知道那種錯誤訊息跟組合語言沒兩樣,只能透過插旗子的方式慢慢地除錯,跟使用Visual Studio 2012可以中斷,可以Step By Step的方式來除錯,讓使用Visual Studio 2012開發時,猶如置身在天堂中。

 


HTML5

現代化Web網站的開發考量

我們暫時把時間往前推10年,在10年前,我們考慮一個系統要開發成為什麼樣的平台或者架構,我們可能考慮的是

  • 單機系統
  • Client – Server架構
  • Web架構

接著,10年時間過去了,目前使用系統的裝置,也不再是以前除了PC以外就是NB的狀況,除了NB / PC以外,越來越多使用的是手機,而平板的使用率也越來越多,在這樣的環境轉變之下,我們考慮的,不再只是10年前,到底要Client – Servers呢,還是要Web化,而是更進一步地要考量,是否我們會希望我們的系統,可以應用在更多的裝置上(尤其目前智慧型手機如此的普遍的情況下,特別要考量手機的使用)。因此要考慮的是

  • Client - Server 架構
  • Web
  • For PC/NB
  • For Phone
  • For 平板

這時候就開思考,如果要開發Web版,如何可以開發出各式不同的設備都能使用

HTML5  / CSS3

當所有的手機作業商、所有的平板作業商,都支持著(目前 / 未來)這個技術:【HTML5】,那麼我們為何不用?

 

不同裝置瀏覽網頁更佳的使用者經驗

以目前而言,VS2012幾乎可以稱之為目前地表最強的HTML5 + CSS3的開發工具,除了可以針對各式各樣HTML5的語法有intellisense外,維護修改CSS3的時候,以往就算有intellisense也是很基本單純,但是現在,在變換顏色的時候,可以跳出挑色的拼盤,提供我們透過視覺化的操作就可以設定了。另外,此次特別針對MVC,內建了jQueryMobile這個framework,讓我們開發網頁時,可以更進一步考慮廣大的手機族、平板族在瀏覽我們設計出來的網頁時,可以有更佳的使用者操作經驗。

 

Live Demo

在Live Demo中,希望能夠做出各種不同的手機,都可以順利瀏覽的Web應用程式,並且將這程式開發好後,發佈到Windows Azure上,讓參與這KeyNote的朋友們,可以馬上的使用自己的手機,測試這樣的應用程式。

於是Eric透過VS 2012裡面的ASP.NET MVC,由於裡面內建jQueryMobile的技術,可以很快的開發出適合各種不同平台手機使用的介面(這邊稍微滴咕一下,新版的MVC內建支援jQueryMobile,為何新版的WebForm卻沒有把jQueryMobile包進去呢?不過問題點到就好)

經過一番的實作之後,現場參與此盛會的朋友,馬上就可以透過手機,使用發布在Windows Azure的Web應用程式(不論是Windows Phone, Andriod,或者是iPhone都可以),然後大家也一起發出訊息,顯示在大會堂的投影螢幕上。

 

App Vs HTML5

最後,行動裝置開發要選哪邊,要選擇開發App還是開發Web並使用HTML5的技術,成為企業要開發導入時的一個抉擇。這邊倒是沒有一個必然的答案,小喵覺得端視您所開發的系統,要被怎麼樣使用,再來決定用哪一種方案比較恰當。

 


Scrum敏捷開發

接著進入到下個議題,軟體的開發週期,Scrum敏捷開發。說真的,小喵聽到Scrum這個名詞,是這次的TechDays的選課的時候才第一次接觸,對這個名詞也沒有特別的感覺,所以選課的時候,都沒有選擇Scrum相關的課程。不過在聽過Visual Studio 2012上市發表會之後,小喵對於這個東西開始產生興趣,也特別在之後的課程,去上了沒有選擇的Scrum相關課程。這裡先點到,再來回到上市發表的內容與心得。

使用Scrum的背景

  • 軟體開發週期越來越短
  • 使用者需求不斷轉變
  • 許多App及研發團隊在使用
  • 美國使用敏捷開發約4成,其中Scrum最多

Live DEMO

這部分的說明,直接透過Live Demo來演示。演示過程中,對於各種項目有關專案管理的處理,都能夠透過Web的介面,輕鬆地去處理,而特別的是,原本Scrum使用白板與便利貼的方式進行工作的管理,在Visual Studio 2012的Team Fundation Server 2012,提供電子白板讓大家在開Sprint Meeting的時候,可以快速的處理,而且處理的結果,團隊中的所有成員馬上都看得到。

另外,開發人員也可以結由此,知道每天要做的工作有那些,做好之後自己將完成的放在完成

而管理者可以透過Web,直接掌握整個專案各個部分的進度,有多少未被認領、進度的狀況透過Burn Down Chart也可以很快的有所掌握

心得

Scrum的管理方式,與小喵之前去上PMP的管理方式不太一樣,PMP的管理,當專案進入開發程序,PM要顧好的就是金三角,範疇、時間、成本這三者除非必要,盡量不讓任何一個隨意改變,否則將會嚴重影響另外兩者。因此PMP的精神是盡量的去避免不必要的範疇變更,任何的需求應該在最開始的需求訪談中,就將所有需求確定下來。但是Scrum的精神卻是不一樣的,因為Scrum一開始就直接承認一個事實,那就是【使用者的需求會不斷的做變更】,為了不斷變更的需求所以要敏捷開發,去對應使用者一開始可能在User Story描述並不完整,而導致開發出來的東西不是使用者想要的。

在聽課的同時,心裡一直與以往PMP所學到的東西開始交戰,怎麼會這樣,怎麼一開始就承認需求是不斷變化的。但是事實上想想,的確也是使用者對於需要的描述,很難說一次就能夠將所有的需求完美的描述與呈現,導致後來有需求的變更。因此Scrum除了介面上讓我們可以管理外,另外運作的精神就是將開發的東西切細,產出的周期縮短,讓本來一個專案整體出來驗收的東西,提前讓每個階段的東西都可以讓使用者進行Code Review,並且透過Code Review的過程(可以錄影)除了將使用者錄影與指示當作文件與證據外,這個週期縮短,階段性完成盡量讓使用者驗收這個觀念,與PMP中的階段性驗收的概念又是可以貼近的。

而TFS 2012正是很棒的一個管理的工具,可以讓Product Owner,Scrum Master帶領團隊推進,而團隊可以自動自發的來了解自己需要做的事情,然後專心的把事情做好。這或許可以導入到目前的公司環境中,嘗試看看。


發表會整體心得

這次的發表以三大主題來進行分享,Windows Store App讓我們知道未來Windows 8有支援不同的裝置之後,可能帶來的操作上的轉變,也知道最新的Visual Studio2012可以很好的幫助我們開發Windows Store App。

而HTML5則是未來不可擋的趨勢,未來既然所有設備(NB/PC, Pad, Phone)都支援HTML5,那麼我們的思維應該要去想想這越來越大的手機族群、平板族群,是否該設計一個可以有更好使用者經驗的Web應用,而這個HTML5是一個跨平台的解決方式,而開發HTML5,Visual Studio 2012是目前為止地表最強的開發介面。這部分值得我們去著手進入。

最後Scrum敏捷開發,讓之前上過PMP課程的小喵,心中雖然剛開始有點小衝突,不過看看最後的目的還是要提供符合使用者需求的產出,只是管理手法不太一樣,而Visual Studio Team Fundation Server可以提供一個非常便利的平台來管理Scrum敏捷開發的過程。

 

以上是對於Visual Studio 2012上市發表會的一些小小心得感想,提供給大家參考。

 

Scrum相關課程

這次小喵在上完大會堂的Scrum介紹後,對於相關的議題產生了興趣,於是更改本來預定的課程,改上兩堂Scrum的課程

  • 研發主管的管理實踐  -  建立敏捷開發的團隊
  • Scrum 敏捷開發與 Team Foundation Server 2012 新功能

     

    心得

    第一堂課由李智樺老師講解Scrum的概念,第二堂則是由Franma介紹目前已經導入Scrum遇到的一些狀況,以及Team Fundation Server 2012的新功能

    有關李智樺老師講解的【研發主管的管理實踐  -  建立敏捷開發的團隊】,老師準備了滿滿的資料,有興趣的人可以到以下的Skype下載

    https://skydrive.live.com/?cid=68b24674607c69d9&id=68B24674607C69D9%211206

     

    image

     

    透過李智樺老師的講解,對於Scrum有了基本的概念。


以下是簽名:


Microsoft MVP
Visual Studio and Development Technologies
(2005~2019/6) 
topcat
Blog:http://www.dotblogs.com.tw/topcat