Welcome to MSDN Blogs Sign in | Join | Help

Windows Presentation Foundation 與 Silverlight 兩項技術共用了 XAML 表達使用者介面,但兩項技術鎖定的目標不同,也造成技術演進過程中的一些分歧。對於想同時使用這兩項技術的朋友,一直期望能找到如何使用這兩項技術的最佳實作方法。 CodePlex 社群中的 Guidance on Differences Between WPF and Silverlight (http://wpfslguidance.codeplex.com) 提供相關的資訊,近日甫釋出的 Microsoft WPF-Silverlight Comparison Whitepaper (http://wpfslguidance.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=28278) 是第一項對社群分享的成果,此白皮書文件將 WPF 與 Silverlight 共同(或接近) 的功能整理出來,對於兩者間分歧的部分也有著墨,並提供一些同時運用兩者技術時程式碼撰寫的策略,有助於用戶欲了解如何善用現有的技術投資,非常建議看一看此白皮書,並追蹤此社群後續的產出物。

/

隨著2009年5月 Visual Studio 2010 與 .NET Framework 4.0 Beta 1 正式開放下載,搭配此測試版的 Visual Studio 2010 and .NET Framework 4 Training Kit 自學教材於隔週開放下載,有興趣了解 Visual Studio Team Sysetm 與 .NET Framework 4.0 最新功能的朋友,可以於此處免費下載

一如往昔此自學教材包含了教學投影片, hands-on labs 與範例程式。並涵蓋以下主題:

  • C# 4.0
  • Visual Basic 10
  • F#
  • .NET Framework Parallel Extensions
  • Windows Communication Foundation
  • Workflow Foundation
  • Windows Presentation Foundation
  • ASP.NET 4
  • ADO.NET Entity Framework
  • ADO.NET Data Services
  • Managed Extensibility Framework
  • Visual Studio Team System

將有助於您快速了解 Visual Studio 2010 and .NET Framework 4 最新功能與未來發展藍圖。

2009年5月13日微軟公司於印度 TechEd 2009 會場宣布,釋出新的 SDK 以供 PHP 開發人員能夠更簡易地開發 Windows Azure 雲端應用程式。這個 SDK 名為 PHP SDK for Windows Azure (PHPAzure),是一項微軟協助的開放原始程式碼計畫,目前已經可以於 Microsoft CodePlex 下載,這讓自己的 PHP 程式執行在微軟機房變得更容易。
AzurePHP

Windows Azure 中提供了三種儲存資料的模式,分別為 Blobs,Tables 與 Queues,而此 SDK 中讓 PHP 開發人員有一致的方式來存取這三類儲存空間。微軟針對開放原始程式碼開發人員所設立的 Port 25 blog 中,社群經理 Peter Galli 提及微軟將宣佈一系列計畫,工具箱與範例程式碼,讓 PHP 開發人員能夠順利使用 Silverlight Controls,快速置作 Internet Explorer 8 網頁快訊 WebSlicess 與使用Microsoft Virtual Earth,並能真對 Microsoft SQL Server 單一 Table,讓 PHP 自動產生新增,讀取,異動,刪除 (Create, Read, Update, Delete (CRUD)) 程式碼之工具,這將有助於 PHP 開發人員更便利地使用微軟伺服器環境。

1 Comments
Filed under:

Silverlight 3 中新增的一項小功能,讓瀏覽器端儲存檔案,比起以前容易多了,但考量安全問題,必須透過使用者操作對話方塊形式,選取欲寫入的資料夾後,才可寫入檔案,開發人員仍不允許自由決定資料夾位置。

using System.IO;
using System.Text;

private void btnSaveFile_Click(object sender, RoutedEventArgs e)
{
           string myTextFile = "要儲存之檔案內容";

           SaveFileDialog dlg = new SaveFileDialog();
           dlg.DefaultExt = "txt";
           dlg.Filter = "文字文件(*.txt)|*.txt|所有檔案(*.*)|*.*";
           dlg.FilterIndex  = 1;
           if (dlg.ShowDialog() == true)
           {               
               using (Stream stream = dlg.OpenFile())
               {
                    byte[] fileByte = (new UTF8Encoding(true)).GetBytes(myTextFile);
                   stream.Write(fileByte, 0, fileByte.Length);
                   stream.Close();
               }
}

只需短短幾行程式碼即可完成,與 Silverlight 2 時相較真是宛如隔世。

1 Comments
Filed under:

Attachment(s): Silverlight3SaveFile.zip

Silverlight 2 開始支援了多執行緒 (Multithreading) 能力,當自行建立的執行緒要修改控制項的屬性值時,由於使用者介面控制項是由主執行緒所掌控,若沒有適當處理,我們的程式碼會得到錯誤訊息 "呼叫執行緒無法存取此物件,因為此物件屬於另一個執行緒"。假設我產生一個新的執行緒,並且每隔 500 milliseconds 將數字累加 1 ,並送入名為 lstMain 的 ListBox 控制項中。

using System.Threading;

private Thread TaskThread;

private void button1_Click(object sender, RoutedEventArgs e)
{
    ThreadStart ThreadJob = new ThreadStart(this.DoTheJob);
    this.TaskThread = new Thread(ThreadJob);
    this.TaskThread.Start();
}

private void DoTheJob()
{
    for (int i = 0; i < 10; i++)
    {
        AddNumber(i);
        Thread.Sleep(500);
    }
}

Silverlight 2 對於處理不同執行緒修改控制項屬性值的作法,是與 WPF 一樣的。WPF 與 Silverlight 2 控制項都有一個 Dispatcher 屬性,不同執行緒要存取控制項之前,必須先如下程式碼

private delegate void DelgateAddNuber(int num);

private void AddNumber(int idx)
{
    if (this.lstMain.Dispatcher.CheckAccess())
        this.lstMain.Items.Add ("From another thread :"+idx.ToString());
    else
        this.lstMain.Dispatcher.BeginInvoke (new DelgateAddNuber(this.AddNumber), idx);

}

透過控制項 Dispatcher 物件的 CheckAccess 方法來確認,此一呼叫的執行緒是否與控制項自身為同一個執行緒? 倘若不是,執行緒就必須以 delegate 的方式藉由 Dispatcher 物件來修改屬性值,在 WPF 中 Dispatcher 物件同時提供了同步呼叫的 Invoke 方法與非同步呼叫的 BeginInvoke,但在 Silverlight 2 只有提供非同步的方法 BeginInvoke,並且 Silverlight 2 中,也沒有設定優先順序的參數 DispatcherPriority ,除此之外就都一樣了,附上個 Visual Studio 2008 與 Silverlight 3 Beta 1 的範例。

image

有興趣的朋友不妨去看看 :

http://videos.visitmix.com/MIX09/All

由於 Google 台灣分公司尚未上傳適合台灣使用的 Google Search Provider for Internet Explorer 8,目前台灣只能安裝英文版的 Google Search Provider for Internet Explorer 8,但此一搜尋提供者會強制將搜尋完畢結果以英文顯示,對台灣地區用戶較不方便,安裝完英文版尋提供者的用戶,可以考慮手動修改 Windows Registry 暫時繞過此問題。步驟如下 :

  1. 以檔案總管開啟 <使用者帳號資料夾>\AppData\LocalLow\Microsoft\Internet Explorer\Services
  2. 在此資料夾裡面可以找到一個跟 Google 搜尋提供者一樣的圖示如下:image
  3. 以系統管理員權限執行登錄編輯程式 (REGEDIT.EXE),依據步驟二中的圖示內機碼進行搜尋,可以在 \\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes\ 下找到此一唯一的機碼。
  4. 展開此機碼會有一名稱為 "URL" 字串,其值為 “http://www.google.com/search?hl=en&q={searchTerms}” ,這個就是 Google Search Provider for Internet Explorer 8 送到 Google 時的 URL,問題就在他把它鎖定在英文 (en),這將蓋過原先 Google 的使用偏好設定。因此將它改為 “http://www.google.com/search?q={searchTerms}” 就完成了。
  5. 關閉所有 Internet Explorer 8,重新啟動 Internet Explorer 8 後就會生效了。

在 Bill Buxton 短暫開場後,舞台轉交給首位 keynote 主講人,Internet Explorer 產品線總經理 Dean Hachamovitch,開場第一件事當然就是宣佈 Internet Explorer 8 正式釋出。

Internet Expoloer 8

IMAGE_230

事實上去年 MIX08 中 Dean Hachamovitch 就已經談過 Internet Explorer 8 (以下簡稱 IE8) 主要新功能,這次重回舞台正式宣布產品釋出。他強調過去一年中 IE8 團隊傾聽來自用戶與市場的聲音,並將產品主軸放在三大族群,分別是 :

  • 建立與提供 Web 的人 (People who build the Web)
  • 使用 Web 的人 (People who use the Web)
  • 攻擊 Web 的人 (People who attack the people who use the Web)

IE8 對於遵循業界互通性標準付出了相當的心力,畢竟 IE 背後的使用族群龐大,一舉一動對網路世界都會發生深遠的影響力,這種使命感讓 IE 開發團隊面對的不僅只是寫出個瀏覽器而以。IE8 支援 25 種不同語言,提供 Windows Vista,Windows XP 與 Windows Server 三大平台下 32-bit 與 64-bit 版本。釋出產品背後的辛勞是難以言喻的,在過去的一年中,IE8 Beta 與 RC1 版本有上百萬人下載測試,研發團隊花費上百小時在可用性的驗證 (usability labs),以及接受來自全球測試者的錯誤回報。在過去 IE 的經驗,微軟發現 70% 使用者會安裝一種以上的搜尋提供者(search provider), IE7 的索引頁面 (tabs) 功能也是最受使用者歡迎的功能之一,因此 IE8 在兩項功能上都有了強化。接下來就作了些針對性比較強的展示,Dean Hachamovitch 開啟了 IE8 與 Firefox 最新版本,開啟一個索引頁面播放影片,在緊接著各自在兩家瀏覽器開啟新的索引頁面,並點選一個會造成兩個瀏覽器 Crash 的 Hyperlink,IE8 的 Tab Isolation 機制讓正在播放影片的索引頁面仍正常播放影片,而 Firefox 目前版本的設計就無法順利保護之前的影音播放頁面。

自去年 Google Chrome 推出後,JavaScript V8 Engine 超快執行速度讓世人留下深刻的印像,Dean Hachamovitch 緊接著強調,在真實世界的主要網頁中,IE8 其實速度表現並不差,尤其在 HTML rendering 部分 (IE8 目前 JavaScript Engine 執行效率比不過 V8 Engine 是不爭的事實,但絕大多數真實世界網頁  JavaScript 只是影響效能的一部分)。接下來就進行效能比較的展示,內容跟下面這段影片差不多:

所有測試數據依據都來自這份微軟 2009年3月11日剛釋出的報告

Measuring Browser Performance: Understanding issues in benchmarking and performance analysis

緊接著還是針對性很強的功能展示,在 IE8 與 Firefox 中各鍵入一個有安全疑慮的網站 URL (我沒記下 URL),IE8 檢測出來提出警告,而 Firefox 則直接進入該頁面。接下來的 Slide 展示了 IE8,Firefor 與 Chrome 對於安全有問題網頁的檢測數量,IE8 遠超過兩家可敬的對手。此數據應是引用了 NSS Labs 的瀏覽器安全調查報告  http://nsslabs.com/anti-malware/browser-security 的內容。

IMAGE_233

Dean Hachamovitch 表示 IE 每個月都協助用戶阻擋了上百萬次被釣魚攻擊 (phishing attacks) 的風險。依據一分獨立的研究報告顯示 IE8 防護惡網站攻擊的能力超過其他的瀏覽器,此外 IE8 提供了click-jacking 防護,使用者專屬 ActiveX 控制項安裝,跨瀏覽器 scripting attack 防護等功能,來保障不具備專業知識的終端用戶上網時的安全。

Dean Hachamovitch 接著談到 IE8 在國際標準上作的努力,他談到 IE8 為符合 W3C Cascading Style Sheets (CSS) 2.1 規格,準備超過 7,000 項測試案例,是目前對 CSS 2.1 標準支援程度最高的 Web 瀏覽器。此外,IE8 也支援 ACID 2 規格,並已經相容於 HTML 5 Draft 部分規格。接下來又是比較具針對性的現場展示,如下圖連接兩個運用 CSS 2.1 的測試網頁,分別凸顯 Firefox 與 Chrome 錯誤顯示的案例。

IMAGE_234

接下來就是展示全球重要網路業者支援 IE8 狀況,IE8 有三項需要網路業界支援才能發揮效應的新功能,分別是加速器(Accelerators),網頁快訊(WebSlices) 與新的搜尋提供者 (Search Provider)。IE8 釋出的當下,全球已經有超過 1,200 加速器(Accelerators),網頁快訊(WebSlices) 與新的搜尋提供者 (Search Provider) 可供用戶使用。而網路業者 Digg,ESPN,OneRiot,Amazon,新浪,淘寶網,eBay 與 Yahoo 也都第一時間支援了這些新功能。過去半年來我也逐一拜訪台灣前 15 大網路業者,也感謝台灣網路界各領域重量級廠商願意支援 IE 8 這幾項新功能,在今天正式推出 IE8 的首日,台灣已經有 75 個新功能列於 IE8 附加元件庫中,裡面包含了: 痞客邦 PIXNET,露天拍賣,MSN,ImTV,中華電信數據分公司 Xuite,巴哈姆特電玩資訊站,聯合新聞網 UDN,FunP,Urmap,1111 人力銀行,KKBox,易租網,優仕網,地圖日記,午餐王,中華聯合數位映像 NOWnews 。

Dean Hachamovitch 最後談到,釋出 IE8 並不代表結束,而是另一個新的開始,幾乎是十年前的同一天 (1999年3月18日),微軟推出了IE5,Wikipedia 中認可是 IE5 把 AJAX 這項技術帶到了網路世界,在當時沒有任何人在關注這項技術的誕生,但今日 AJAX 全盤改變了網路應用的使用者經驗,因此今日的 IE8 的各項新功能,未來會對 Internet 有何影響? 完全取決今日開發人員如何運用它? 進而讓你我的生活變的不一樣。 IE8 開發人員相關資源如下 :

相關開發人員資源

Changing Behavior by Design

第二段 keynote 是由設計師 Deborah Adler 談使用者經驗如何正面地改善人類的生活,這位美女設計師由於祖父誤服藥物過世,引發了嘗試改善美國現有藥罐與藥罐標簽的設計,而最後被美國知名的連鎖通路商 Target 採用的真人故事,女主角現身 MIX09 會場親自為在場來賓談這段往事。

IMAGE_237

這段往事,讓她有了兩項最重要的領悟;第一,要區隔自家品牌與競爭對手差距,靠的不單是設計與研發,而是要設身處地的為客戶著想,自己的產品與設計是否真能滿足需求解決問題。第二,當你會把思考客戶的需求這件事變成工作上的習慣之後,也代表者你已經不是一個單純的設計師,而是使用者經驗設計師 (user experience designer) 了。

美國時間2009年3月18日,微軟於拉斯維加斯再度舉辦了 MIX09 活動,有別於 TechEd,PDC,WinHEC 等知名微軟大型活動,MIX 是針對美術設計人員,注重使用者經驗 (User Experience) 之軟體開發人員與 Web 開發人員所設計的活動,也是我第一次參加此活動。在全球景氣不佳的狀況下,微軟仍投下巨資舉辦此一大型活動,以期面對面與相關社群互動,讓美術設計人員與開發人員了解微軟相關技術的研發藍圖與近況。
IMAGE_199
今年 Keynote 開場是由微軟位於加拿大研究院的首席研究員 Bill Buxton 闡述使用者經驗的重要性,由 1920 年代美國幾位重要的先驅,如何將使用者經驗融入當時的產品,因而改變了世界,而現今 Web , Media 與 RIA 都與使用者經驗息息相關。在 Keynote 中 Bill Buxton 不吝於讚揚 Apple 公司在 iPod 上投資使用者所獲致的成功,並也舉出這幾年來微軟內部對於設計的重視與改善,現今微軟非常重視使用者經驗的投資報酬率 (Return on Experience),並用單一解決方案 Microsoft .NET Framework 解決各領域問題。
IMAGE_200
接下來Microsoft .NET 開發平台副總裁 Scott Guthrie 以 Web , Media 與 RIA 三方面逐一宣布微軟相關使用者經驗技術最新狀態。

Web 使用者經驗

Microsoft Expression Web 3

Expression Web 是微軟取代 FrontPage 之網頁設計解決方案,現場公佈了 Expression Web 3 Beta 版本,對於網頁前端工程師或設計人員而言,不同 Web 瀏覽器產生不一致的 顯示結果,是最擾人的問題之一,在 Expression Web 提供的 SuperView 嘗試解決此一問題,網頁前端工程師的電腦中,不需要安裝各家瀏覽器前提下,即可比對在 Microsoft Internet Explorer 6,Internet Explorer 7,Internet Explorer 8,Mozilla FireFox 與 Apple Safari 中網頁呈現的差異,尤其是過去必須依賴虛擬化技術才可達成的多版本 Internet Explorer 並存問題,都在此一功能中解決了。
SuperPreview
SuperView 可以併排展現兩 Web 瀏覽器顯示上的差異,甚至可以重疊顯示的方式表達差異之處,並且以滑鼠點選差點,立刻跳到有問題的 HTML elemenet 或 CSS 之處,十分便捷,SuperView 試用版可於此處下載

ASP.NET MVC

公開測試許久的的 ASP.NET MVC 1.0,在今天會場上正式宣布推出並公開下載。Scott Guthrie 再次強調, ASP.NET MVC 的推出並非要取代 ASP.NET Web Forms,而是針對讓想要完全掌控 HTML 輸出的應用情境,或是較易被搜尋引擎尋得等狀況下之 ASP.NET 解決方案,此外在 ASP.NET MVC 下亦較容易撰寫測試案例,這些是目前 ASP.NET Web Forms 比較不易達成之處,未來 Visual Studio 2010 將對 ASP.NET MVC 有更佳之支援。

ASP.NET 4 , Velocity 與 Visual Studio 2010

緊接著現場談到了 Microsoft 其他相關的 Web 技術,對於下一版本的 Visual Studio 2010,Scott Guthrie 展示了強化 Web Application 佈署的新功能,此外對於強化現有 AJAX 應用,整合 jQuery 等功能,而 ASP.NET 4 中也會包含改版後的 ASP.NET MVC,以及全新中間層快取技術 “Velocity”。並且確認 Visual Studio 內對於 Silverlight 視覺化設計相關功能支援,要到 Visual Studio 2010 才會有了,看來在這段時間內開發人員需要熟悉 XAML,練好基本功了。

Web Platform Installer

微軟在 Web 開發相關產品與技術分散,過去想要學習的朋友,往往要從多個不同網頁下載取得,而各產品與技術之間還有版本的相依性,同時不斷地又有新的技術推出,在加上許多行之有年,卻不是微軟自家產品的 Web Framework 或開放原始程式碼專案又有特定的搭配版本,這對於想要入門的網路開發人員而言是不友善的。有鑑於此微軟將所有相關 Web 技術整合成為單一的安裝工具 Microsoft Web Platform Installer,並允許任何在微軟 Web 平台上開發的 Framework 或 Application 參與其中,只要經過安全與相容性的認證,即便是 PHP 寫的應用皆可上傳至 Microsoft Web App Gallery,讓使用者輕鬆安裝在 Windows 環境中。

Commerce Server 2009

Scott Guthrie 沒有詳細說明細部新功能,僅宣布這週會正式釋出。

Azure Services Platform

Scott Guthrie 提及,自 PDC 2008 之後,目前整個 Azure Servies Platform 依據進度順利進行中,預計今年年底可以如期正式推出,在 MIX09 會場上宣布 Windows Azure 釋出 2009年3月份之 Windows Azure CTP,,將支援 FastCGI/PHP 以及 Full Trust .NET 應用程式,並可自由選擇機房所在之地理位置。相關下載如下:

而 SQL Data Services 也將推出與 Microsoft SQL Server 2008 完全相容的關聯式資料庫雲端版本,這個版本推出使得現有 Web 應用程式要移植到 Azure Services Platform 變得更為簡單,而過去 ASP.NET 存取 Microsoft SQL Server 的資料存取技術 ADO.NET,LINQ to SQL 等都可繼續延用 ,而強調可無限延展的 SQL Data Services 版本仍會並行研發。至於 .NET Services 則會增添更多 Web 業界標準。

Microsoft BizSpark 計畫

BizSpark 是微軟吸引網路創業者的一項商業計畫,成立三年內且為私人持有的網路新創公司,往往因為缺乏資金挹注,因而採用了開放原始程式碼的解決方案,為了降低網路新創公司採用微軟技術的資金門檻,台灣微軟也在 2009年3月3日 開始對外宣布此一計畫,而在 MIX09 會場上,網路新創公司 http://stackoverflow.com/ 創辦人 Jeff Atwood 與 Joel Spolsky (下圖) 親自站台,談到 Microsoft BizSpark 計畫與微軟技術對他們的幫助。

IMAGE_208

全球導入 Silverlight 的近況

自 Silverlight 1.0 推出至今不過 18 個月,目前 Silverlight Runtime 全球已經有超過三億五千萬用戶安裝,全球 30 個國家估計有三十萬開發人員與美術設計人員投入,而微軟自身已經有超過 200 個以上自家軟體採用 Silverlight 技術,現場宣布微軟研究院天文望遠鏡計畫 Microsoft Worldwide Telescope 正式推出 Silverlight 版本,而微軟地理資訊查詢網頁 Virtual Earth 也推出可供 Silverlight 使用的 Map Control 。現場的全球重要 Silverlight 應用案例中,也包含了中華航空的 LOGO,華航自 Silverlight 1.0 起便推出了 RIA 版本的華航精致旅遊網站,也算是為台灣爭光了。過去 Silverlight 開發僅限於 Windows 平台,即便跨平台開發環境 Eclipse 之 Eclipse Tools for Microsoft Siliverlight (eclipse4SL) 也只能執行於 Windows 平台,現場也宣布了 Eclipse Tools for Microsoft Silverlight on MacOS 社群預覽版開始開放下載, Silverlight 不僅只有 Runtime 環境跨越作業平台,連開發環境也跨出 Windows 平台了。

clip_image002

Media 使用者經驗

接下來由 Netflix 公司副總裁 Kevin McEntee 分享該公司導入 Silverlight 之經驗,Netflix 營業型態與台灣中華電信 HiChannel 與 WebsTV 相近,透過網路提供電影之 Video on demand 服務,他談到過去 Netflix 的播放器無法在 Mac OS 與其它非微軟瀏覽器上使用,再考量數位版權保護前提下,促使他們投入 Silverlight 與 Microsoft Play Ready 數位版權保護技術,在導入過程十分成功,使得 Netflix 將進一步投入 Silverlight 3。

IMAGE_212

Silverlight 3 於 Media 相關新功能

接著就是現場首度揭露 Microsoft Silverlight 3 媒體影音相關新功能 Smooth Streaming,Smooth Streaming 是一項革新技術,可以運用於 Video on Demand 與 Live 實況轉播,此一技術讓用戶在頻寬不穩定的環境中,自動改變影片的 bitrate,用降低播放畫質方式來避免 buffering 所造成的延遲,事實上此一技術去年北京奧運時 NBC 便已經搭配 Silverlight 2 採用了,網路上也有些展示的網站,例如 : http://www.smoothhd.com/ ,而 Microsoft Silverlight 3 正式內建支援,此外現場以搭配使用的編碼工具 Microsoft Expression Media Encode 2.0 展示在 CPU 運算資源吃緊時,自動降低 bitrate 的情況,此一技術將大幅改善現有 Web 播放影音的使用經驗。Silverlight 3 也正式宣布支援 H.264 /Advanced Audio Coding (AAC) Audio 規格,目前知名的 YouTube 影片是採用 H.264 編碼,而 Adobe Flash Video (FLV) 是採用 H.264 編碼,廣為流通 MP4 檔案格式也是採用 H.264 編碼,原生支援 H.264 將讓 Silverlight 3 有機會存取許多現有之高畫質影音檔案資源。Netflix 公司的展示過程中,連帶展示了 Silverlight 3 的 Raw bitstream Audio/Video API 功能,在該公司播放往頁中即時目前影片的 bitrate 等低階資訊。展示過程中 Scott Guthrie 順便展示了Silverlight 3 的 Perspective 3D 能力,所謂 Perspective 3D 是將 2D 物件投射在 3D 空間中作動作的一種模擬 3D 的能力,也是 Adobe 新版 Flash 賣點之一,Scott Guthrie 將一個正在播放影片的物件,在 Web 瀏覽器內的作三度空間的自由擺盪,驗證了此一能力。

緊接著 NBC 資深副總裁 Perkins Miller 上台宣布 2010 年溫哥華冬季奧運,NBC 將繼續採用 Microsoft Silverlight 做為網路轉播播放技術,提供 720p HD 畫質的運動賽況。

IMAGE_216

RIA 使用者經驗

緊接著進入到微軟在 RIA 使用者經驗的進展,由 Bondi Digital Publishing 副總裁 Scott Stanfield (下圖) 站台,Bondi Digital Publishing 是線上閱覽雜誌的網路廠商,跟台灣 MagV 是類似的營運模式,台灣 MagV 在去年台北舉辦的 MIX 中同樣展示了運用 Silverlight DeepZoom 的概念系統,今年國內外兩家同質公司,不約而同的採用了相同技術在 Web 上展現傳統雜誌。現場也宣布該公司推出兩本知名雜誌

http://www.covertocover.com
http://www.playboyarchive.com/ (需年滿21歲以上)

的全部歷史版本閱覽服務,其一是知名滾石雜誌,另外一本我就不用說明了吧。附帶一提Silverlight 3 中的 DeepZoom 技術將改善其執行效能。

IMAGE_218

Expression Blend 3

接下來就是展示 Microsoft Expression Blend 3 的 Beta 版了,這個版本中 Expression Blend 大幅改善匯入 Adobe Photoshop 與 Illustrator 檔案格式的功能,這對每一位美術設計師而言,都是一大福音。此外最明顯的就是增加了 SketchFlow 的新功能,所謂 SketchFlow 是使用者經驗設計師在由概念落實到真實應用程式的過程中,所有紀錄與追蹤的功能,每一個軟體使用者介面間的操作流程該如何串接? 主管或使用者如回對概念草圖表達意見? 概念如何逐步落實為真實的設計? 如何自動產出 Microsoft Word 格式草圖設計文件? 如何作草圖的版本管理? 都在 Expression Blend 3 Beta 版中看到對應的解決方案。

Silverlight 3 在資料存取上的改善

由於 Silverlight 3 是 Web 瀏覽器端的解決方案,使得資料存取勢必得採用多層(multi-tier)架構,但多層架構在實作上並不容易,開發人員要處理大量查詢資料分頁 (paging) 問題,資料異動問題,資料核驗問題,在加上中間需要提供 REST 或 SOAP 之 Web Services,又需考慮安全與身分驗證問題,Microsoft .NET 之前代號 “Alexandria” 計畫已逐漸成形,正式名稱為 .NET RIA Services,可讓 ASP.NET 搭配眾多新的 Silverlight 3 Data Control,可將多層應用程式開發的複雜度降到最低,現場也作了相關展示。這項改進使得 Silverlight 3 在一般商業應用程式的可行性大幅提升。

SAP 即將支援 Silverlight

Scott Guthrie 提及,SAP 期望 NetWeaver Web Dynpro 能與 Silverlight 技術有更進一步的合作,詳細合作計畫將於 SAP NetWeaver 新版產品計畫中正式對外公布。

IMAGE_222

Silverlight 3 “Out of Browser” 應用程式

面對 Adobe AIR 苦無對應解決方案的 Silverlight 2,微軟正式的推出了對應解決方案,在 Silverlight 3 中將提供瀏覽器外 (Out of Browser) 之執行支援,以便在離線的環境下繼續運作,而應用程式也可得知目前網路連線狀態是否正常,在桌面環境執行的 Silverlight 3 應用程式一樣可以在 Windows 與 MacOS 建立桌面捷徑,並利用 HTTP 得知是否有版本更新需要下載,現場 KEXP 廣播電台執行總裁 Tom Mara 展示運用 Silverlight 3 此項功能所時作出來的離線音樂播放程式。

增加了這麼多功能 Silverlight 3 Beta 的 RunTime 會變得多大呢? Scott Guthrie 笑著說這此 Silverlight 3 Beta 版比 Silverlight 2 的 RunTime 小了 40 K Bytes,在現場的掌聲與笑聲中結束了第一天的 Keynote。

相關下載

 
WindowsAzure

2009 年 2 月 10 日 微軟釋出 Azure Services Training Kit,這是繼去年 10 月份 PDC 後,此一免費 Training Kit 首次改版。經過幾個月後,這次微軟將針對先期導入客戶所使用的教材開放下載,本次 Azure Services Training Kit 範圍含蓋Windows Azure, .NET Services, SQL Services 與 Live Services,詳細內容如下:

  • 13 個 hands-on labs – 與去年 10 月釋出的版本相較,在 Live Framework & Services 部分增加了三個新的 hands-on labs。
  • 19 個全新的展示腳本 – 這些展示腳本提供了詳細的步驟,讓用戶快速了解 Azure Services 住要功能,也可藉此展示 Azure Services 給主管或同事觀看,以便了解微軟雲端技術的實際進展。
  • 針對三天 Azure Services Workshop 課程需要所編寫的10 份投影片,投影片內包含講詞,與講師授課注意事項。

所有教材內容都可透過單一安裝檔案來進行安裝,有興趣的朋友可以至http://go.microsoft.com/fwlink/?LinkID=130354 下載。

(Comments Off)
Filed under:

目前任職於華碩電腦工業設計部李易修先生,在 2008 年11月底參訪台灣微軟位於台北內湖軟體科學園區三期的微軟創新中心,將華碩設計部同仁實際操作 Microsoft Surface 的過程錄製下來,並花費工夫剪輯,加上我同事 Wangtun Chou 的細心解說,讓這段影片很有價值,對於有興趣了解 Microsoft Surface 的朋友,不妨看看阿修的原始的介紹網頁


第三天的 Keynote 由微軟研究院 (Microsoft Research) 資深副總裁 Rick Rashid 開場,並介紹許多目前研發中的項目。2005 年 PDC 時微軟研究院所展示的內容,許多已經公開測試了,例如自動判讀照片間的關連性,串接成立體圖像的 Photosynth,台灣也有許多網路媒體開始介紹這項研發成果了。今年仍然有許多吸引人主題在會場展示。下圖是在洛杉磯會議中心現場,即時運用研究院所研發的溫度感測器,顯示整個會議廳溫度分布,再強調 Green IT 的年代,此一應用將可用於大型機房維運時,將空調設備做最有效率的配置。更進一步可監控全球氣溫的變化。
IMAGE_121
接著展示了聯合全最重要天文台與望遠鏡,所研發的天體觀察軟體 WorldWide Telescope,此一軟體將所有合作天文台的觀測照片整合成立體宇宙星象圖,讓人坐在電腦前模擬天文台望遠鏡自由瀏覽天際。現在還再用星座盤觀測天體嗎?可以扔掉了,這個免費下載的軟體對兒童天文教育非常有幫助。此時又順便宣布了微軟研究院的研發的機器人參與了火星地表探測計畫。
image
接下來是全場最炫的展示 Project SecondLight,一個與目前 Microsoft Surface 可以互動的面板呈現技術,現場有人錄下展示內容並送上了 YouTube,可以直接看看,因為我不知道怎麼用文字描述比較傳神,PC Magazine 也寫了篇報導。附上我照的模糊的照片。
IMAGE_126
接著展示與教育相關主題,Rick Rashid 提到他 8 歲的兒子已經會用 C# 撰寫 WPF 遊戲給弟弟玩,但是不可能期望每個兒童的父母都是 IEEE Emanuel R. Piore Award 的獲獎人,因此需要一個引導兒童學習軟體開發的程式語言,這個語言利用漂亮可愛的圖示定義 Rule Engine,如遊戲般的讓兒童了解軟體開發的基本要素,下圖就是現場展示的 Project Boku,如果可能的話,我真想當場買一套帶回家。
IMAGE_124
Rick Rashid 提到,一個公司的基本研發能量,是讓公司在變局中成功存活的要素,每年這些研究成果,都直接與間接幫助了微軟產品的開發,我只有一個小小的願望,就是 Project Boku 能在最短時間內盡快推出 :-D
1 Comments
Filed under:

在美國時間 2008 年10月28日上午 PDC 2008 會場上,微軟首次對外公開展示 Windows 7, Office 14 兩項產品。在上午的 Ray Ozzie 演說中,將焦點從昨天的雲端帶回了前端。要實現 Software + Services 策略,微軟需要將最具影響力的兩項產品,高度與 Internet 整合。在上午的 Keynote 中,共計展示了下列四項產品與技術。

Windows 7

Windows 7 目前處於 Pre-Beta 階段,參加 PDC 2008 的來賓將取得這份 Windows 7 Pre-Beta 的 DVD 光碟片。首先看到的當然是新的使用者介面與新的工具,新工具中大量採用了 Office 2007 的 Ribbon 工具列。Windows 7 新功能頗多,最受矚目的新功能當屬 Multi-touch,現場展示中包含了 Tesco 的購物概念系統,此一運用 WPF 製作而成的應用程吸引了所有人的目光,除了雙手拖放螢幕的物件之外,還利用 WebCam 拍攝可口可樂鋁罐的條碼,直接自網路查詢相關商品資訊。此外也展示了 Autodesk 公司利用 Multi-touch 所設計的 3D 塑模工具,看到操作者直接以雙手改變 3D 模型外觀,像極了動手捏黏土玩偶的感覺。過去幾年,許多分析師認為 PC 產業無法透過往昔 Windows 改版來引領換機潮,而 Windows 7 Multi-touch 的功能,的確能讓消費者有較高的意願升級新的硬體,在 Microsoft .NET Framework 4.0 中的 WPF 4.0 也將支援 Multi-touch 開發能力。Windows 7 與 Windows Vista 核心是一致的,因此引起 Windows Vista 相容性最關鍵的 User Account Control (UAC) 仍然存在,只是提供更細緻的微調功能,讓使用者不是只有開啟與關閉兩種選擇。Windows 7 整體設計上強調應用情境 (Scenario),例如:同一台筆記型電腦在家中的使用情境與在公司使用是完全不同的應用情境,當 Windows 7 回到家中,偵測到家中的 Wi-Fi 無線網路,自動可以將資料夾共享,預設印表機等相關設定,切到家用的情境;若是到了公司,連上公司網路,則會切回辦公應用的情境,對日趨流行的可攜式電腦用戶,相當的友善與便利。此外,開機時間大幅改善,針對過去一年大賣的低價電腦,Windows 7 也能以精簡模式順利運作。

image
對於開發人員而言,Windows 7 所需要注意的首先還是 UAC 的問題,UAC 對終端用戶造成了使用上的困擾,但對開發人員而言,是項好的改變,這在 Windows 7 上仍需要注意。第二點則是開發與 64 bits 相容的應用程式,當 Windows 7 正式釋出的時間點,市場上 64 bits 處理器勢必已成主流,事先做好相關準備是必要的。第三點則是整合新的使用者介面與桌面環境,這部分是讓自己軟體具備差異化的要素之一,會場中宣布 MFC 與 .NET Framework 4.0 都可開發新式 Windows 7 風格之使用者介面。目前已經知道,Microsoft .NET Framework 3.5 sp1 會內建在 Windows 7 中,因此現今的開發若以 Microsoft .NET Framework 3.5 sp1 為主要開發平台,將有助於未來在 Windows 7 順利執行。

Visual Studio 2010 與相關前端開發技術

接著由 Scott Guthrie 展示與 Windows 7 相關的開發技術,現場宣布未來 Visual Studio 2010 整合開發環境將全部以 WPF 開發而成,讓 WPF, Silverlight 與 Workflow Foundation 的設計工具,有著更佳的視覺化效果。除此之外,Visual Studio 2010 似乎也吸收了 Eclipse 易於安裝延伸功能模組的特色,現場 Scott Guthrie 將一個單一組件 (Assembly) 複製到 Visual Studio 2010 的一個資料夾內,無須安裝與註冊等動作,編輯器立即出現新的延伸功能,在現場眾多開發人員而言,真的相當的便利,也贏得不少掌聲。此外,現場也宣布幾個新的開放原始程式碼控制項與工具箱,計有

提供眾多新的控制項,包含: Charting ,TreeView ,DockPanel ,WrapPanel ,AutoCompleteBox , NumericUpDown,Viewbox,Expander, ImplicitStyleManage等。

為了與 Silverlight 2 所附的內建控制項一致,提供 WPF DataGrid,DatePicker/Calendar 與 VisualStateManager (VSM)

讓 WPF 更易製作 Office 2007 的 Ribbon 工具列。

Live Services

這是昨日 Windows Azure Services Platform 唯一沒有仔細介紹的 Services,現場當然展示了半年前釋出的 Live Mesh 技術,利用手機對現場環境照像,立即同步在現場兩台連接不同電腦的投影機中呈現出來。除此之外,現場也展示了 Live Framework,這是針對 Live Services 所提供的一組 .NET 高階開發框架,讓 Microsoft .NET 開發人員能夠以最簡單的方式,撰寫整合 Mesh Services 等 Live Services 的應用程式,現場頁利用 Live Framework 快速為一個 WPF 程式添加了設定 Live Mesh 友人共享的功能,並展現了 LINQ 查詢 Windows Live Contacts 的能力。

Office 14 與 Office Web Application

這是早上另一個高潮,微軟首次對外展示以 Silverlight 撰寫而成的 Office Web Application,此一功能完整的瀏覽器版本 Microsoft Office,操作經驗,執行速度與功能要勝過目前以 JavaScript 所撰寫之瀏覽器版本 Office Like 產品,能夠透過 Silverlight 所支援的瀏覽器閱覽與編輯 Office 文件。此外,現場展示了 Office Web Application 搭配 Office 14 跨越網路兩人同時編輯同一份文件的功能,當桌面版本 Office 14 修改了一段 Word 文字內容,瀏覽器內的 Office Web Application 即時看到變化,並標註出是誰正在做這樣的修改,這樣的功能需求,在多人同時編輯的文件應用中都用得到,應該是未來 Office 2007 最重要的 Killer Feature。以下是在 Channel 9 相同的展式錄影。

First Look: Office 14 for Web

在 Amazon,Google 等公司進入 Platform As A Services (PaaS) 市場後,微軟於美國時間 2008 年 10 月27 日上午,由 Ray Ozzie 宣布微軟的雲端服務平台 Windows Azure Services  Platform,Ray Ozzie 自 2005 年進入微軟後便開始逐步實現 Software + Services 策略,在今天上午的 PDC 2008 中,首度對外界公開目前的研發成果,並強調這將影響微軟未來 10 到 15 年的策略性平台。

Ray Ozzie 在演說時表示,過去微軟在 Windows Update, MSDN , MSN 等高承載之網路應用中,累積了許多維運大型機房的寶貴經驗,運用這經驗結合微軟自身的 Windows Server 2008, Hyper-V 虛擬化技術與 Microsoft .NET 開發平台,就成為微軟進入此一市場的基礎。Windows Azure Services Platform 是以面對 Internet 來自四面八方存取的規模,以微軟機房提供的雲端 (Cloud) 服務平台,此一平台如下圖所示,包含了雲端服務作業系統 Windows Azure,以及架構於其上的 Live Servies , .NET Services , SQL Services 等各式服務,無論是企業用戶,獨立軟體開發商或是個人工作室,皆可利用此一平台建立各式 Web 應用,而無須顧慮硬體設備採購與伺服器維運細節。

The Cloud Computing and Services Platform Diagram

在 PDC 2008 首日場次中,焦點多集中在 .NET Services,SQL Services 與 Windows Azure 三項。分別略述如下:

Windows Azure
這是謠傳許久的微軟雲端作業系統,也是之前代號 "Red Dog" 的計畫,與三個月前內部的版本相較,又成熟了許多。在今天的 PDC 中特別強調,為了讓絕大多數的用戶可以了解 Windows Azure,在 PDC 會場宣布之後,便開始開放下載測試,無須任何帳號即可下載 Windows Azure SDK 與 Windows Azure Tools for Microsoft Visual Studio 2008 的 2008 年 10 月份 Community Technology Preview (CTP) 版本在單機環境測試。此一 SDK 中包含了範例程式,初步的文件與在開發端模擬雲端執行環境的 Developement Fabric 模擬器。而真正雲端測試帳號目前僅開放給 PDC 來賓測試,再過一陣子即會對外開發測試。Windows Azure 與其它雲端作業系統相較,最大的競爭優勢是提供了與在自家機房內自有軟體 (on-premises) 開發模式一樣,使用 ASP.NET 與 Visual Studio 2008 進行開發與除錯,當要佈署到遠端微軟的機房,僅需在 Visual Studio 2008 內按下一個 Publish 的按鈕,即會將相關包裝妥,供遠在雲端的管理入口網站載入執行。這意味著全球 200 萬 Microsoft .NET 開發人員,以及高達 600 萬熟悉微軟開發環境的開發人員,可以輕易的進入到雲端運算的應用情境。此外,複雜的機房維運工作,例如應用程式改版,甚至底層的作業系統改版,都無須讓自己費心了。傳統作業系統需要有檔案系統方能順利運作,同樣的 Windows Azure 提供了 BLOB, Table 與 Queue 三種基本儲存資料的方式,此三種方式並非資料庫,資料庫將由 Windows Azure 之上的 Microsoft SQL Services 提供。會場中不僅一次的強調, Windows Azure 是一個開放的平台,將可整合微軟與非微軟的技術,微軟歡迎 Eclipse, Ruby, PHP, 與 Python 相關廠商與組織能夠使用 Windows Azure,就如同 Windows 作業系統上擁有眾多非微軟開發解決方案一般。

Microsoft SQL Services
舊名 SQL Server Data Services (SSDS) 正式更名為 Microsoft SQL Services,這是將關聯式資料庫帶到雲端,提供 SOAP 或 REST 等 Web Services 介面,供 Web 應用程式存取使用的雲端資料庫,Microsoft SQL Services 支援結構化與非結構化資料形態,未來也考慮將 ETL,Reporting Services 等商業智慧相關能力搬上雲端。

Microsoft .NET Services
Microsoft .NET Services 就是之前舊名 Microsoft BizTalk Services 或 Microsoft BizTalk .NET 的雲端服務,微軟嘗試將 Enterprise Services Bus 概念帶到雲端,透過邦聯式的身分認證機制在微軟機房內提供了 Publish/Subscribe 模式與 Point To Point 模式的 Internet Service Bus,除此之外並將整合 .NET Framework 的 Workflow Foundation 表達業務流程。與今年我在台北 TechEd 展示的 Microsoft BizTalk Services 相較,工具便利程度提升了不少,只需要在 Visual Studio 2008 內按下一個 Publish 按鍵,即可佈署到雲端,比起在 TechEd 展示時剪剪貼貼 XOML 要好多了。

Ray Ozzie 最後強調,整個 Windows Azure Services Platform 會採用網路慣用的方式推出,那就是以多次 CTP 釋出的方式逐步調整與增添功能,在正式版推出之前,不收取任何費用,也期待各界能夠給予建議,作為微軟改善的依據。至於如何計費的問題,Ray Ozzie 說會參考市場現有對應環境的價格,提供具競爭力的價位,而計價的指標,無外乎使用雲端資源的多寡,以及要求的 Servie Level Agreement 有多高來決定。目前相關資料都集中在 http://www.azure.com/ ,MSDN 也同步推出相關開發網頁 http://msdn.microsoft.com/en-us/azure/default.aspx ,Platform As A Services 困難之處,是要先能突破關鍵多數 (Critical Mass) 之後,接下來才可能獲利。市場上有能力為之的廠商並不多,有興趣的網友不妨去看看,或許有機會將雲深不知處的網雲運算概念,落實在自己眼前的 PC 中。。

1 Comments
Filed under: ,

在美國時間 2008 年9月10日,由微軟資深副總裁 Bob Muglia 宣布微軟加入 OMG,部分媒體在正式新聞稿發佈之前已經事先揭露此一消息 http://www.adtmag.com/article.aspx?id=23249。早在今年 6 月份 TechEd 時 Bill Gates 便向媒體公開宣布微軟將支援 UML 。可以預料下一版本 Visual Studio 將會大幅改善對於 UML 的支援能力。但很確定的是微軟對於 UML 與 DSL (Domain Specific Language) 間的定位與態度並無改變。

More Posts Next page »
 
Page view tracker