Welcome to MSDN Blogs Sign in | Join | Help
Windows 7 即將於2009年10月23日在台灣正式上市,對於開發人員而言,若想了解 Windows 7 新功能如何開發? 或是概略了解可能之相容性問題,您可以免費下載 Windows 7 Training Kit for Developers

Windows 7 Training Kit for Developers 包含了教材投影片,hands-on labs 與範例程式。全部內容都是以 Windows 7 正式版為基礎,此教材專門設計給欲了解 Windows 7 最新功能如何開發的軟體開發人員,例如 :

  • 工作列 (Taskbar)
  • 多點觸控開發 (Multi Touch)
  • 感應器與所在地點偵測( Sensors and Location )
  • Ribbon 介面
  • Trigger Start Services
  • 系統量測 (Instrumentation) 與新版本 Event Tracing for Windows (ETW)
  • 應用程式相容問題 (Application Compatability)
在應用程式相容性這部分,涵蓋了過去升級到 Windows Vista 即會面臨的問題,以及一些新的相容性議題:
  • 程式碼檢查式窗版本問題 (Version Checking)
  • 使用者帳戶控制問題 (UAC)
  • 視窗服務 Session 0 Isolation 問題
  • 安裝工具偵測問題 (Installer Detection)
  • 使用者介面特殊權限隔離問題 (User Interface Privilege Isolation)
  • 高解析度顯示器相關問題 (High DPI)

image

2009年9月18日 Windows Azure Platform 中的 .NET Services Team blog 透露了下一版 CTP 即將發生的改變。自去年 10 月份起於 PDC 2008 釋出 .NET Services SDK CTP起,該開發團隊便以如何讓應用系統能夠跨越防火牆與組織間的藩籬,便捷地利用雲端交換資料為目的,以便讓開發人員專注於更有價值之應用系統的邏輯,而不是部署和管理自己的資料交換平台基礎設施 。在過去一年中 .NET Services 開發團隊不斷接收來自先期導入用戶的意見,作為刺一雲端平台研發的方向。首先在 2009年7月份釋出的 .NET Services SDK CTP 中,暫時移除了 Workflow 的功能,原因在於 .NET Framework 4.0 推出在即,當用戶面對功能強大的 Workflow Foundation 4.0,都有著共同的疑問,我們該如何使用 Workflow Foundation 4.0 並與雲端的 .NET Services Workflow 互通所定義的流程呢? 這使得 .NET Services 研發團隊決定暫時移除此一功能,以避免用戶重複投資兩種不同的流程引擎 。

在過去一年中,.NET Services 研發團隊也發現以 REST ( Representational State Transfer) 為基礎的輕量化 Web Services,越來越受企業用戶的關注,在一般消費性 Internet Web 應用中,REST 早已成為重要的 Internet 分散式架構的一環。由於 REST 是一種架構概念而非技術標準,對於企業用戶而言,目前 REST 的身份識別和存取控制技術仍需要些額外的技術與服務來填補與實際應用需求間的落差。 .NET Services 研發團隊發現目前開發 REST 的 Web Services 服務缺乏一種簡單易用的方法來解決跨組織身份識別和存取控制時的問題,在 MIX09 活動中 .NET Services 研發團隊提出解決此一問題的初步想法,而在下一版本的 .NET Services SDK CTP 則正式列為正式的功能,在 .NET Services 兩大項功能:存取控制 (Access Control) 與服務匯流排 (Services bus) 都因此而有所改變。

存取控制 (Access Control) 部分

.NET Services 之存取控制之目的,在於提供用戶一的簡易方法,以業界身分認證標準來管制 Web 應用程式與 Web Services 存取權限,所謂業界身分認證標準包含了支援 Open ID 的 Microsoft Live ID,企業內部之目錄服務。此一服務能夠使得權限管制相關問題不再需要寫在個別 Web 應用程式中,運用 .NET Services 的存取控制可透過定義的方式,將存取規則定義出來,並且在兩個位處不同組織的 Web 應用系統與 Web Services 互通時,能夠透過Security Claims 轉換方式,讓彼此能夠存取對方之服務。2009 年 10 月份版本的改變就是針對 REST 提供簡易的 Simple Web Trust 能力。

Simple Web Trust

提供 REST Web Services 與 .NET Service Bus 連接時所需之權限管制能力

  • 服務存取端點 (endpoints) 間的 Token 交換: REST 可以利用對稱式 (symmetric key) 式加密方式,利用 SAML Extension 來編碼身分資訊。包含以下功能
    • REST with symmetric key: 一個可跨平台並讓開發人員易於使用之機制,可將 claims 包裝起來以便讓 .NET Service 進行存取控制。
    • REST with SAML Extension: 能夠讓 ADFS V2 所核發之Token 能與.NET Service 間順利整合運作。
    • 所有服務端點 (endpoints) 皆可使用標準 HTTPs POST 請求取得
  • Claims 轉換引擎: 可運用 .NET Services 入口網站定義的規則,將輸入的 claims 轉換為輸出的 claims。
  • Security Token Service: 輸出的 claims 中使用 REST tokens 在網路中傳遞

但是另一方面,目前所支援之 WS-* 相關存取控制的功能,將在下一版 CTP 中暫時移除無法使用,由於受限於研發上的優先順序,待 REST 相關存取控制功能到位後,未來版本微軟將再恢復 WS-* 相關功能的支援能力,使得 .NET Services 同時兼具 REST 與 SOAP 兩大 Web Services 規格存取控指功能。

服務匯流排 (Services Bus) 部分

.NET Service 中的 Services Bus 是讓應用程式可以輕易地跨越 Internet 彼此相互連接,一旦服務註冊於 .NET Services,便可讓其他應用系統尋得並使用。這種 Internet Service Bus 的概念非常類似於企業內部的 Enterprise Service Bus。在跨越防火牆的 Internet 整合應用鍾,解決了許多複雜之整合問題。在 2009 年10 月份的 Microsoft .NET Services SDK CTP 中,.NET Services Bus 將有以下的改變:

  • 服務命名系統與註冊 (Services Naming System and Registry)
    • 提供樹狀的階層式結構之命名系統
    • Service Naming Registry 可提供額外之外部搜尋功能
  • 訊息 (Messaging)
    • 提供 單向(one way) 式, 請求-回應 (request/response) 式與點對點 (peer-to-peer) 三種方式,穿透防火牆進行資料交換
    • NET Service Bus 存取端點 (endpoint) 由 .NET 存取控制來進行安全管制
  • 訊息緩衝區 (Message Buffer)
    • 在 .NET Services 中提供先進先出(FIFO) 的資料結構,取代現有的 Queue 機制。

由於年底正式商業營運日期將近,以下幾項現有功能也將有所改變,概述如下:

  • Routers – 在 2009 年 10 月份 CTP 中將暫時移除此一資料傳遞型態,對於需要 Routers 這類 Publish/Subscribe,或是多點傳遞 (multicast) 模型的開發人員,可以參考新版 CTP 中的範例,來達到類似效果。
  • Queues - 如前所述 Queues 將被更簡易使用的訊息緩衝區 (Message Buffers) 所取代,在新的版本中訊息緩衝區 一樣提供訊息不漏失之安全保證。
  • WSHttpRelay Binding - 將不再提供 WSHttpRelay Binding 這項功能,目前使用WSHttpRelay Binding 的開發人員建議改用 WS2007Relay Binding
  • 外部存取端點註冊 (External Endpoint Registration) - 不再提供此項功能

自 Microsoft .NET Framework 4.0 Beta 1 對於安全方面有些改變,相關資訊可參考 http://msdn.microsoft.com/en-us/library/dd233103(VS.100).aspx ,主要關鍵在於 .NET Framework 4.0 Beta1 對於載入組件 (assembly) 時預設沒有開啟 CAS policy,造成若是組件位在遠端網路磁碟中 (例如 : file://\\RemoteServer\Myfile ) 就會發生Exception from HRESULT: 0x80131515 ,這使得在專案檔在遠端伺服器,或是使用 Windows 7 XP Mode 時,在 Silverlight 程式編譯,或是單元測試 (Unit Testing) 或視窗自動化測試 (UI Code Testing) 等功能都無法正確運作。

Visual Studio 2010 Beta1 最簡單的解決方法就是以記事本開啟 <磁碟代碼>:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config

並在裡面加入一行:

 <runtime>
 <loadFromRemoteSources enabled="true" />

....
 </runtime>

重新開啟後即可正常使用。

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,Firefox 與 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:
More Posts Next page »
 
Page view tracker