發表文章

目前顯示的是 2012的文章

台灣迷失的雲端運算產業

圖片
或許是在政府急著救一落千丈的民調支持度壓力之下,最近突然出現了很多雲端產業相關的新聞... 北市雲端園區 年產值估千億元 ( http://tw.news.yahoo.com/%E5%8C%97%E5%B8%82%E9%9B%B2%E7%AB%AF%E5%9C%92%E5%8D%80-%E5%B9%B4%E7%94%A2%E5%80%BC%E4%BC%B0%E5%8D%83%E5%84%84%E5%85%83-213000708.html ) 首片政府雲 中華電奪標 ( http://pro.udnjob.com/mag2/it/storypage.jsp?f_ART_ID=80116 ) 還有立委開始爭取雲端園區位置... http://www.abao.org.tw/web/index.php/pv-cloud 說真的,在賴士葆提出不像樣的證所稅之前,我還蠻支持他的,另外我以前念中學的時候就在木柵,我很喜歡文山區,但...在文山區催生一個雲端科技園區是個...什麼樣詭譎的想法啊? 誰能跟這些立委說明一下,雲端產業不需要科技園區(下面有一篇,我就不多說了)(參考 https://www.facebook.com/notes/ben-jai/%E6%94%BF%E5%BA%9C%E4%B8%8D%E6%87%89%E8%A9%B2%E8%A8%AD%E7%BD%AE%E9%9B%B2%E7%AB%AF%E7%94%A2%E6%A5%AD%E5%9C%92%E5%8D%80/10151185269654113 ) 另外上述的兩則新聞中,先不提台北市也想做雲端園區,郝市長說:『市府設置Taipei-Free免費無線上網、積極鋪設光纖網路等,北市還聚集金融服務業、資通訊等知識密集產業,還有許多企業設立營運總部及研發中心,最重要的是"硬體人才"充沛,可提供雲端產業所需人才。 』這整個搞錯了,你只看到雲端運算的硬體需求,沒發現其實雲端的核心在軟體應用嗎??? 我已經在各種場合或課程中說了不下數十次,台灣要發展IaaS我當然沒資格攔阻(雖然我打從心底覺得機會不高,你要幹掉現在市場上哪一家IaaS/PaaS廠商? IBM? Amazon? MS? Google? 政府的目標是要設定成要讓大家來用搭建在台灣的IaaS/PaaS嗎...

[研討會] 微軟Windows Phone 8 MSDN研討會

圖片
很開心在謠傳中的2012末日前,有機會和大家分享WP8的開發技巧,今天整場的Slides可以餐考底下連結 : Slides ===================================================================== WP8相關影片如下: 《WP8小講堂 - 新版 Flip, Cycle, Iconic 動態磚 》 WP8新版的動態磚除了開始支援三種不同的尺寸之外,還支援三種不同的格式,分別是Flip, Cycle, 和 Iconic ,在這支影片當中,我們將為您介紹 WP8當中新版動態磚的使用方式,讓您完整掌握WP8新型態的動態磚功能與應用... 《WP8小講堂 - FAR 》 FAR(Fast App Resume)是WP8當中的一個小功能,可以讓你的App更快的啟動,過去我們的App在離開前景時會被推入Dormant模式,當使用者按下back時,則會將被推入Domant的App從記憶體中撈回來,由於App被保留在記憶體中,因此比重新啟動要來得快,而現在這個機制延伸到從主選單撼動態磚啟動的App,只需要透過設定... 《WP8小講堂 - Lock Screen背景圖片 》 Lock Screen的應用在WP8開始全面開放給開發人員,現在我們可以透過設定,將App設為支援Lock Screen背景圖片的顯示,透過特定的API,我們可以讓用戶將我們的App設定為Lock Screen背景圖的提供者,在這支影片當中,我們將Step By Step為您介紹如何讓你的App支援這個功能... 《WP8小講堂 - Lock Screen訊息 》 Lock Screen的應用在WP8開始全面開放給開發人員,現在我們可以透過設定,將App設為支援Lock Screen訊息的顯示,再透過特定的API,即可動態的在螢幕鎖定時,呈現出我們App要顯示的訊息,在這支影片當中,我們將為您介紹這個功能...     《WP8小講堂 Uri Associations 》 Uri Association是WP8的新功能,現在我們可以透過這個功能,將自己設計的App與特定的Uri類型進行連結,如此一來,App和App之間就可以透過URI進行溝通,也可傳遞參數,...

[教學影片][研討會] Windows Azure Mobile Services 三部曲

圖片
底下這三部影片是今天在恆逸上課的內容,主要是Azure Mobile Services。透過Azure Mobile Services我們現在可以很輕易地建立伺服器端的資料存取、Facebook身分整合驗證、以及push notification推播訊息,相當方便好用。 Windows Azure示範教學:Azure Mobile Services-基本操作與應用 這段影片由最基礎開始,介紹如何使用Azure Mobile Services,來建構行動裝置可使用的雲端服務。透過Mobile Services開發人員可以毋須撰寫後端(雲端)服務程式碼,即可讓前端行動裝置(iOS, WP8, Win8 App...etc)直接存取後端資料庫,達成各種行動裝置的應用功能。     Windows Azure示範教學:Azure Mobile Services 身分驗證與FaceBook整合 這段影片接續著我們上一個Azure Mobile Services 的介紹,繼續將我們建立出來的雲端服務加上用戶身分驗證的功能,我們讓雲端服務可以自動整合FaceBook身分驗證,讓開發人員毋須撰寫複雜的程式碼,即可讓WP8 Apps, Windows Store Apps可以輕鬆地建立出FaceBook身分驗證的機制,並且整合雲端服務,讓雲端服務的存取更加安全。   Windows Azure示範教學:Azure Mobile Services-push notification大簡化 這段影片由接續著先前談過的Azure Mobile Services,介紹如何使用push notification整合機制,來大幅簡化行動裝置WP8行動裝置的推送訊息整合機制。透過Mobile Services的功能開發人員毋須撰寫複雜的後端(雲端)服務程式碼,即可將訊息推送給前端行動裝置,直接達成push notification功能。

研討會:Windows Phone 8應用程式開發實戰

圖片
https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032532469&culture=zh-TW 我們要來介紹WP8的新功能喔~ See you there~ Slides is here

[教學影片] Windows Azure示範教學影片

圖片
整理了一些先前錄製的Azure相關教學影片,提供給大家參考。 Windows Azure示範教學:建立基本WebRole 這段影片從最基本開始,介紹如何建立一個Windows Azure WebRole,並且撰寫一個簡單的ASP.NET WebForm應用程式佈署到雲端。同時,也介紹RoleSetting的概念...     Windows Azure示範教學:Windows Azure Strage - Blob的使用 在這段影片當中我們介紹Azure Storage Blob的基本概念,以及如何透過.NET C#程式碼來建立Contannner與存取Blob       Windows Azure示範教學:Windows Azure Strage - Table的使用 在這段影片當中我們介紹Azure Storage Table的基本概念,以及如何透過.NET C#程式碼來建立Contannner與存取Table     Windows Azure示範教學:WP7直接存取blob 一般來說,我們都是透過後端(伺服器端)的程式碼來存取blob,但偶而也會有需要從行動裝置(手機)上直接存取blob的例子,這個範例就是介紹如何透過WAT中的類別程式庫,從WP7直接存取blob     Windows Azure示範教學:建立基本WorkerRole WP7 Push Notification訊息發送 這段影片以一個WP7 Push Notification為例,介紹如何建立並使用Windows Azure WorkerRole來進行一個Scheduled Job

[實作上手營] 行動裝置開發及使用Windows Azure開發後端服務實作

圖片
  明天主要講的是Azure與Apps(Win8 Apps, WP8 Apps)開發之間的關係,會介紹的是如何從手機和平板App上存取Azure的資源,以及微軟最新的mobile services   點選 這邊 報名。(如果不能點,就是活動過期了,或是額滿了) 

就寫兩行程式,讓你的WP8陪你說話...

圖片
Windows Phone 8除了很聽話之外,當然也會說話,還能說中文囉。 private async void Button_Click_1(object sender, RoutedEventArgs e) { SpeechSynthesizer synth = new SpeechSynthesizer(); await synth.SpeakTextAsync("提醒您,15分鐘後開會!"); } 透過SpeechSynthesizer API就可以讓我們的WP8說中文囉,很簡單吧...

透過WP8語音辨識功能啟動自己撰寫的App

圖片
前面提到過,Windows Phone 8 具有相當優秀的語音辨識能力,我們不僅可以輕易的讓我們自己撰寫的App,透過語音來啟動,甚至也可以在App當中利用語音辨識功能來實作出一些效果。 接著我們就要來看,如何讓我們自己撰寫的App,也支援語音辨識功能。首先來看最基本的,我們要讓使用者可以透過語音來開啟我們的App。 實作的方式很簡單,首先,請先設定好你的App的WMAppManifest.xml,主要的是App名稱以及Capabilities中的Speech_Recognition:   設定好了之後,請在你的App中加入一個 XML 檔案(SupportedVoiceCommands.xml),格式如下: 我的語音程式 試試看說:開啟 我的語音程式 跳到測試頁 跳到測試頁 我的語音程式 顯示測試頁 上面這段XML主要在描述我們這支App要支援那些語音辨識功能。 接著,再到App.xaml.cs當中,加入底下這段程式碼: async private static void InitializeVoiceCommands() { var filename = "SupportedVoiceCommands.xml"; try { var location = Package.Current.InstalledLocation.Path; var fileUriString = String.Format("file://{0}/{1}", location, filename); await VoiceCommandService.InstallCommandSetsFromFileAsync (new Uri(fileUriString)); } catch (Exception ex) ...

上班很無聊? 要不要試試看對著你的WP8說話...(WP8 語音功能Demo)

圖片
嘿, 裝好了WP8的SDK了嗎? 要不要試試看對著你的WP8說話... Windows Phone 8 開始除了聽得懂中文之外,你也可以透過語音相關API讓你的App也聽懂語音喔... 除了我在影片說的打開App功能之外,當然可以撥電話或是查資料,而且重要的是...這些功能在模擬器中也支援啦...快來玩玩看吧...

使用Windows Azure WebSite幫客戶迅速搭建網站

圖片
        最近把公司和客戶的部分網站移到Azure Web Site,坦白說,雖然目前Azure WebSite還是Preview(並非正式版),但整個來說它實在是一個挺方便(而且很有競爭力)的產品,很容易一不小心就幹掉台灣很多ISP/Hosting和主機代管廠商...         目前在測試階段的Azure WebSites除了提供10個免費的網站(免費的唯一的小遺憾是網址被鎖死在*.azurewebsites.net之內),還每天提供 免費的165MB 的下載流量(上傳免費),對於一些小網站(或給客戶的prototype)來說,其實是綽綽有餘...     前面提到,只要你申請試用,Azure就提供10個免費的網站空間讓你玩,免費有哪些好康?請參考Azure詳細的費用說明 http://www.windowsazure.com/zh-tw/pricing/details/             當然,如果你要搭建公司自己的網站,或幫客戶把網站上線,自然不能用 azurewebsites.net 這個網址(除非客戶不介意),這時候你會需要把原本位於AzureWebSites.Net的網站,轉成自己申請的DomainName,過程很簡單,只需要從Azure的後臺把原本的Free模式改為Shared上的等級即可:   (這個動作會影響價格,一旦設定之後就不是免費了,細節請參考 這份 文件)           儲存上述設定之後,你可以點選Configure,會注意到最底下有一個Manage Domains按鈕,這時候,請大力點下去: 接著可以在出現的底下畫面設定你的站台要對應的DomainName:   當然,你要設定的DomainName必須先指向該IP位置,不管你用A Reocords進行指向或是用C Name進行指向... ...

[研討會] Windows Azure Workshop

圖片
2012/10/25 在資策會舉辦的 Windows Azure Workshop 教材: Windows Azure Training Kit - October 2012 http://www.microsoft.com/en-us/download/details.aspx?id=8396 投影片: 下載 部分上課影片: video 01 ========================================== 其他Windows Azure相關教學影片 ========================================== Windows Azure示範教學:建立基本WebRole 這段影片從最基本開始,介紹如何建立一個Windows Azure WebRole,並且撰寫一個簡單的ASP.NET WebForm應用程式佈署到雲端。同時,也介紹RoleSetting的概念...     Windows Azure示範教學:Windows Azure Strage - Blob的使用 在這段影片當中我們介紹Azure Storage Blob的基本概念,以及如何透過.NET C#程式碼來建立Contannner與存取Blob       Windows Azure示範教學:Windows Azure Strage - Table的使用 在這段影片當中我們介紹Azure Storage Table的基本概念,以及如何透過.NET C#程式碼來建立Contannner與存取Table     Windows Azure示範教學:WP7直接存取blob 一般來說,我們都是透過後端(伺服器端)的程式碼來存取blob,但偶而也會有需要從行動裝置(手機)上直接存取blob的例子,這個範例就是介紹如何透過WAT中的類別程式庫,從WP7直接存取blob     Windows Azure示範教學:建立基本WorkerRole WP7 Push Notification訊息發送 這段影片以一個WP7 Push Notification為例,介紹如何建立並使用...

[研討會]TechDays 2012 相關內容

圖片
三天的活動在各式各樣的驚奇中落幕了, 我負責的兩個場次投影片如下, 請參考。 WCL308-打造跨Windows 8與Windows Phone應用[ slide ] WPH202-Windows Phone 開發應用實戰[ slide ] video:如何透過WP7存取Mobile Services(BETA) 其他影片和範例的部分, 稍帶我的NB完成修復, 就會陸續地放上來... :)

Tech Day 2012 點滴在心頭...

圖片
每年TechDay總是會發生令人驚奇的事件...今年也不例外。 從前年開始說,那年的TechDay當天,我興沖沖地到講師報到處報到,結果發現,已經有人用我的名字報到過了,領了我的講師服和餐券。好巧不巧,那一年我的主題是講security...Ruddy還說我是為了幫自己的場子暖場, 花錢買通派人來充當駭客, 突顯安全的重要性(報告Ruddy老師, 我真的沒有...>_<) 去年,開開心心的去 TechDay會場,結果在高速公路上車被追撞 >_< 今年, 終於在講演前一天晚上11點15分, 經過三十八次的修改和整理之後, 把我所負責的兩個場次final的slides和範例做最後的確認, 我心想, 最後一次備份在當天早上四點, 待會得要再重新備份一下, 先重開一下機吧(我大概一兩個禮拜沒重開機了), 當下, 關機, 重開....伸手去拿茶杯...水杯剛到口邊...我傻眼了!!!! 重開之後抓不到硬碟...硬碟不見了!!! 我知道SSD HD不見所代表的意義,幾乎是沒有救回的可能,但我不相信(我不是不相信SSD會死掉,我是不相信怎麼會這麼巧在現在、研討會的前一個晚上死掉???),所以我試著重開幾次,無效,當下,我用發抖的雙手(真的在發抖)以手機(好在手機還可以上網)留下了訊息給還在線上的Eric與Herman, 那時候moli已經睡了.,..Jeffray則顯示為在線上.... 後來聽說Eric收到的是: Herman收到的是 當時, 我又重開了一次機器...真的沒法重開, 這次死定了>_< 我手抖得更嚴重了...開始有點恍惚...想著人生的價值和意義, 以及生命的終極方向這類平常腦袋不會出現的議題....接著, 再傳訊息給Jeffray, 因此聽說後來Jeffray收到的訊息是...   可顯見當時我的精神狀態似乎已經有些不穩定, 這時候, 我只好跪在沙發旁向上帝禱告, 冷靜下來, 這時候FB上的Eric與Herman有了回應...Herman還在公司conf call, 我立刻情商借了一台Lenovo T400, 當下飆TAXI(我已經不敢開車了, 我怕會出人命)到松仁路...沒想到他們同事們(Ching, Carol)都還在公司奮戰, 我研討會前一晚SS...

如何刪除TFS(Team Foundation Service)雲端服務中不要的專案???

圖片
前幾天說了,最近在試著讓外包人員用免費的TFS雲端服務,來管理原始程式碼。 最近玩著玩著,不亦樂乎,就開了很多的專案(有朋友問說有沒有個數限制? 我還沒測到,目前沒碰到)。然而真的要讓外包人員簽入來使用時,發現這個帳號底下有太多測試用的專案(有點醜),想要一清而後快...但是...怎麼刪除呢??? 在Portal上沒有刪除的功能啦 >_<... 不急,想到那天聽到某場研討會的講師說,SQL Server其實有很多功能,但不少功能因為UI沒有看到,所以User就完全忘了有這個功能,但其實並不代表真的沒有!!! 想想也真有道理,很多UI沒有的功能,其實只是沒法從操作介面上執行,並非真的完全沒有!我們身為熟齡開發人員,總是能夠(也很懷念在文字模式)下下指令來幹些UI做不到的事情... 當下回憶一下命令列指令,試試看雲端服務是否也接受。一試之下果然可以,動作如下: 1.首先,如果你沒有VS2012,至少下載一下Express版本(因為很抱歉,刪除專案這種上流的動作VS2010不支援)。 2.接著,立刻開啟VS2012,並且用你的MS Account(就是那經典的Live ID, 也就是MSN帳號, 以後請稱他為MS Account)登入Team Explorer(如果不登入,也不是不能刪,但你可能待會會看到沒有權限的錯誤訊息)。 3.登入後,VS2012先放一邊,從Windows功能表開啟Developer Command Prompt,鍵入 tfsdeleteproject... 格式如下: C:\Program Files (x86)\Microsoft Visual Studio 11.0>tfsdeleteproject /collection:https://你的帳號.tfspreview.com/DefaultCollection 專案名稱 例如: C:\Program Files (x86)\Microsoft Visual Studio 11.0>tfsdeleteproject /collection:https://MyTestAccount.tfspreview.com/DefaultCollection TestProject1 接著會出現底下畫面: 如果一切正常,就可以...

使用免費的雲端TFS(Team Foundation Service)程式碼管理服務

圖片
最近幾年開發方法論大行其道,ALM也常常在各種社群活動或研討會中被提起,也因此, Team Foundation Service 的出現大概也不太讓人訝異了。 簡單的說, Team Foundation Service 採用雲端運算的技術提供了 目前 免費的應用程式生命週期管理相關服務,如果你以前用過Team Foundation Server或Source Safe,那現在的Team Foundation Service提供您相同的服務,又讓您不需要自己搭建伺服器,就能夠享有程式碼版本控管、自動建置(Continuous Build)、Unit test管理...等多項團隊開發所需要的程式碼管理功能。 當然,你可以用熟悉的Visual Studio作為開發用戶端,隨時連結到雲端的TFS服務,進行程式碼的簽出與簽入、開發與測試、工作項目管理與分派等動作。 目前VS2012和VS2010都可以作為TFS的用戶端,只是VS2010要連結上雲端的TFS服務,必須是安裝有的 KB2581206 的VS2010 SP1,請留意這個KB目前只能夠過connect來下載。 安裝完成之後,前往 Team Foundation Service 以Live ID登入後建立一個帳號,就可以享有TFS的雲端服務了: 請留意這個帳號也就是將來您的網址: 而且一個LiveID只能建立一個帳號,所以還是取一個比較正式一點的名稱會好一點。  在建立好帳號之後,就可以在該帳號底下建立新的開發專案: 目前TFS當然支援Scrum等時髦的開發方法,可以自動產出管理團隊所需要的各種報表,即便你沒有立即在專案團隊中導入這類的開發方法,單單拿TFS來做Source Code的管理也挺好用的: 專案建立完成之後,就可以從VS2010/VS2012的Team Explorer連結到這個位於雲端的TFS,操作的動作可以參考 這裡 。 在 https://tfspreview.com/ 網站當中有詳細的step by step使用教學,即便過去沒有用過Team Foundation Server,直接使用這個新的TFS服務也不會覺得太彆扭。 目前這個服務還挺適合與遠端合作的小型開發團隊,對於台灣為數不少的小型App或專案開發團隊來說,不啻為...

那個...舊版的Windows Azure Portal在哪裡???

圖片
前陣子,Windows Azure推出了很多新功能,這部分先前已經在 FaceBook 上和大家分享過了,而Windows Azure推出新功能的同時,微軟也順手修改了Windows Azure後端管理的Portal,把原本用Silverlight做的Portal改成了用HTML/HTML5開發... 當然,我對HTML5是毫無排斥的,儘管截至目前為止,我還不認為現階段的HTML5能"立即"取代Silvelright在LOB上的應用(況且其實新版的Windows Azure Portal原來也不全是HTML5寫的,而是HTML,這不是我說的,找兇手請按 這裡 ),但人家這麼熱心把Portal改成HTML寫的(當然是想要跨平台),我們當然也要跟著試用看看,但用了一陣子,我還是發現,我個人目前比較喜歡過去Silverlight的版本的Windows Azure Portal,原因很多,諸如: 1.有不少功能我依舊沒能在新版Portal找到(可能是我比較眼拙,沒看到) 2.就同時管理站台和後端資料庫來說,我還是覺得Silverlight版本目前穩定些 3.新的一些功能我還沒用上... 4.新版Portal似乎比較快,但比了一下沒快多少 5.有些舊版的設計和操作動線,我覺得比較好,新版的可能礙於HTML原因,沒法做到 6... 因為上述原因,所以我開始想找回舊版的Windows Azure Portal,但居然...找不到>_< 一旦你切到新版Portal之後,以後從後台管理網址登入它就自動幫我轉到新Portal了,舊的就不見了,輸入舊版Portal的網址也沒用 (自動轉到新的)>_< 但我不死心,這不太可能,所以找了一下,猜猜看在底下哪個畫面中: 答案是,頭頂上正中間那個Preview...我壓根沒想到Preview這個字和前一個版本Portal有何干係... (藏那麼隱密,是不想讓我發現是吧????) 裡面有個Previous Portal,就能把我帶回原本熟悉的Silverlight操作介面囉。 後記: 這邊,我得要說,對於資訊從業人員來說,是沒有拒絕新技術的空間的,有新的可能性、新的技術、新的玩具,本持著好奇心我們當然也一定要給它試試看...

專業的價值...

圖片
每次,我去修車的時候... 師傅說:先生你這車開那麼久了,這樣壞很正常拉,你要不要換台新的? 你不知道零件會老化嗎??? 我:是是是...那,這零件換掉要多少錢??? 師傅:喔...便宜啦,大概就XX萬就可以了... 每次,我去客戶那邊... 我說:大哥,這軟體我們用那麼多年了,總是會需要調整維護一下的... 客戶:是你們一開始沒有設計好吧? 我說:不是啦,技術總是會更新的,而且現在有一些新的需求...恩,大概,就收你XX萬就好了... 客戶:什麼? 你們當初沒設計好的東西,還想要加收錢??? -------------------------------------------------------------------------   我相信上面這樣的情況你一定和我一樣常碰到,我不知道有多少次,被修車廠唬的一愣一愣的,但我總是心甘情願地掏錢出來(好吧,我有點心不甘情不願,但我沒得選擇)。   有一次,我的動力方向盤打起來卡卡的,好像快不能正常轉向了,所以我立刻把車開到保養廠,師傅熱情的出來迎接我,問我車哪裡有問題,我描述狀況,接著師傅就把車開走了。剛好這時候我接到一通電話,我在講電話的同時,師傅把車弄好了(不到五分鐘),跟我說,這個動力方向盤的油沒了,要補充,打折後收我一千多塊,我趕緊謝謝他。   離廠前,師傅把剩下的動力方向盤油給我(很有良心),說:這是剩下的。我還沒反應過來,他就說:老闆,慢走,開車小心,注意安全。(好貼心的師傅)   我看了一下,那罐動力方向盤油只加了1/5,剩下4/5我要怎麼辦?放後車廂? 等他漏了再加? 我不知道!!! 他為何不乾脆 免費 幫我加一下呢? 像這樣類似的例子我碰過非常非常多(因為我的車老了,很多問題)   也有很多次,我明顯發現修車廠的人在唬爛我,但我換過很多家、原廠、副廠、出去玩的時候在風景區的修車廠(這更狠,擺明了就是要坑你,他清楚知道只會跟你做一次生意),幾乎都一樣,我常常有被唬弄的感覺。我想要跟著車看他怎麼修,修車廠的師傅總是說:『老闆,您可以到休息室等一下,不會那麼快喔!!!』   對照先前我在軟體社群看到有位朋友寫的一篇 文章 ,提到了軟體工程師的無奈和心酸,我其實很想說,軟體工程師大部分真的都太古意...

Metro Style App當中的Toast Notification訊息傳遞

圖片
Toast Notification是從WP7開始就有的新玩意兒,比起WP7,Metro Style App要送出Toast Notification比過去要來的簡單多了,而且有更多的樣板可以使用,在這段影片當中,我們介紹如何透過方便好用的NotificationsExtensions來送出Toast notification...

Metro Style App當中的資料儲存機制 - ApplicationData

圖片
ApplicationData是WinRT當中新的資料儲存機制,類似過去我們在Silverlight與WP7當中的IsolatedStorage,但由於同時又支援了Roaming, Temporary, 因此功能更為強大,在這段影片當中,我們就來看看WinRT當中的ApplicationData機制該如何使用...

Metro Style App與.NET 4.5中的非同步程式設計概念

圖片
非同步,是最近這幾年很重要的程式設計與開發概念。 過去,我們在寫程式的時候,總是從上到下一行一行執行,但隨著CPU運算能力越來越強大,且展示層的User Experience要求越來越高,用戶不容許今天我們的程式碼在跑長時間動作(例如開啟一個很大的檔案、或是讀取遠端資料庫或網路上的資料)時,畫面停止回應。 因此,最近這幾年程式設計都轉變成透過非同步的方式來設計,例如底下這樣的Silverlight程式碼: 在DownloadStringAsync的非同步Method呼叫下,返回值並不會立刻取得,而是在相對應的Completed事件當中取得,但這樣導致做一件工作需要拆成兩三段來寫,如果在非同步的呼叫之後,又要再次呼叫非同步方法,就會變成底下這樣: 這導致維護與程式碼閱讀的困難,更讓例外(Exception)處理變得很礙手礙腳。因此,在.NET 4.5和Windows的Metro Style App當中,開始有了新的非同步程式設計方式... 相關的說明與介紹,請參考底下影片:

從Silverlight到Metro的心路歷程

趁有空,用文字整理一下沒能完整在研討會上分享的心情。 從Windows 8的Metro Style Apps開始有消息時,我們就在官方的Slides上,看到了針對Metro Style Apps的開發,寫明了是可以採用多種技術,包含HTML+JavaScript, 包含XAML+C++, 包含了 XAML+C#(VB) ... 那時候可能很多人覺得疑惑,咦? XAML+C#,那不就是Silverlight(或WPF)嗎? 那為何不乾脆寫Silverlight呢? 我們知道,早在.NET 3.0開始(2006年), WPF 就是用XAML來描繪UI,而 Silverlight 的出現比WPF晚上了幾個月(2007年),沒想到在實務(實際使用)上,Silverlight後來比WPF更加的廣泛,同時也成為微軟在RIA上對抗Flash/Flex的利器。 (請回憶一下,在這個時間點, iPhone 才剛剛出現, iPad 還不知道在哪裡咧...) 後來沒多久,Windows Phone 被迫 出現了(2010年),我們都知道,Phone/Pad成功的關鍵,與App的多寡有著非常大的關係,因此從現在回頭看,在2010那個時間點,當時要讓App快速出現,最好的方式就是選擇一個可以快速上手,並且已經有著一定數量開發人員的開發技術,這個技術又要支援多媒體效果,又要有現成的開發工具,還能夠很快速地讓Runtime可以Porting到當時Windows Phone所採用的Windows CE上面,在當時 時間如此急迫的狀況下 ,幾乎沒有任何其他的選擇和可能性,因此Silverlight雀屏中選,成為WP7.0和WP7.5的主要開發技術。 好,知道歷史背景之後,我們回頭談XAML+C#, 前面說到, 因為當時Silverlight幾乎可以代表XAML + C#(VB)這一掛的開發技術,所以在我們看到Win8 Metro Style App所採用的主要開發技術是XAML+C#(VB)之後,很自然的覺得,Metro的開發技術可以用XAML+C#,那到底是不是說,Silverlight可以用在Metro Style Apps開發上呢? 現在回頭看,答案揭曉了,答案可以說是也可以說不是。但原因原來如此地簡單,因為:      S...

[研討會] Microsoft Developer day 2012 - 從C# Developer的角度看MetroApp的開發

圖片
颱風天,很謝謝大家特別來參加今天Microsoft Developer Day 2012的 議程 ,我的場次投影片位於: http://arock.blob.core.windows.net/msdevday2012/DevDayCS2Metro-public.7z 範例和影片會陸續放上來,也請同步關於底下FB社團中的訊息: Win8 Metro App Asia Developers 在這個展示當中,示範了如何建立一個簡單的Metro Style App, 如何透過Metro上的UserInformation類別抓取用戶資訊,顯示照片與名稱, 以及如何在頁面中進行切換...等基本的Metro功能,讓C#開發人員輕鬆的進入Windows 8 Metro Style App 設計的世界... 分享,是現在行動裝置上非常有趣的設計。過去在App與App之間要分享資料似乎有些麻煩,然而現在在Windows 8 Metro Style App當中,我們可以輕鬆的利用OS本身提供的Share Contract,讓兩個App之間迅速便利的分享資料,更重要的是,這樣的功能很好設計... 過去在Silveright或WP7當中,想要寫程式抓取專案中的影片或檔案,還需要費點功夫, 且XAML與C#程式碼當中的寫法又有點不同,現在Metro Style App, 可以讓我們直接用ms-appx:///就可以存取專案中的檔案囉... FilePicker有分為Open或Save, 和過去的FileDialog很像,但不同的是,在Metro當中,可以直接透過App與App之間的合作,直接讓我們寫程式透過FilePicker存取用戶的Skyd­rive, 也就是說, 他整合了本地端與雲端的檔案存取系統, 在現在無所不雲的時代, 有其跨時代的意義與價值... 可以用來替代WP7中的Panorama或Pivot, 適合觸控也是和滑鼠操作, 是Metro中非常典型的應用。(影片中有一段錄音口誤,將Metro Style App誤說成WP7, 請容我有空再改吧...)   

如何啟動MSDN Ultimate訂閱免費的Windows Azure雲端服務

圖片
隨著Windows Azure開始正式在台灣開放,我們現在可以用台灣了Live ID申請囉,跟著我來做申請步驟吧。 如果你的Windows Live ID帳號有訂閱MSDN(例如BizSpark, MVP, 公司買的, 路上撿到的...etc),那你用這個帳號登入之後,請進入 MSDN訂閱網站 ,會看到底下畫面: 請點選其中的『啟用Windows Azure』,接著出現底下畫面: 立刻按下 → 鈕,進入下一步。 可能是因為我在申請該Live ID的時候,已經輸入過電話了(如果要進行電話驗證,請輸入你的手機,選擇簡訊驗證,會收到簡訊代碼,填入後即可),所以跳過了第二步驟的電話驗證,直接進入第三步驟的信用卡驗證: 按下『下一步』,就完成了,會被直接導入到Azure站台: 您可以選擇『帳戶』: 會看到你的Azure訂閱帳戶,MSDN免費贈送的帳號有相當多的時數(1500hr/m),足夠你建立一個具有Load Balance的中小型網站了。 如果你怕不小心超過時數信用卡會被扣款,請不要開啟消費限制。 要開始上雲端了嗎,你只需要點選『管理』: 就可以進入後端管理站台了(新版Portal也開放囉): Enjoy it...

Microsoft Innovation Day–微軟夥伴創新應用開發講座-台北場錄影

4月份我們在北中南主辦的『 Microsoft Innovation Day–微軟夥伴創新應用開發講座 』巡迴研討會的實況錄影,我這部分主要談的是行動裝置(WP7)與雲端運算(Windows Azure)的整合技術,有興趣的朋友可以check底下兩個連結。 Agenda, 1. 從眾說紛『雲』的行動裝置趨勢談起… 2. 雲與端如何整合? 3. Windows Azure & SQL Azure的功能與介紹 4. 如何應用Windows Azure Toolkit for Windows Phone輕鬆建構您的行動裝置雲端運算需求 5. 實務應用範例展示、介紹與說明 (上) http://www.microsoft.com/zh-tw/showcase/details.aspx?uuid=1888c112-c2f2-459d-adaf-ee436356f672 (下) http://www.microsoft.com/zh-tw/showcase/details.aspx?uuid=ba9ef525-004f-4b5d-a957-46fbd15204a0

使用remote debug在小筆電或平板上偵錯metro style app

圖片
以前我壓根沒想過在Visual Studio 寫Code時會需要Remote Debug,而且有時候還覺得remote debug是沒啥道理的產物。這樣過了好多年,直到我碰到了Metro Style App... 昨天下午到7AB聽了Raymond和Eric對Metro Style的精彩解說,想說總是在VM裡面寫Metro App真的有點乃幽,每次package到小平板去run也挺搞討厭的,索性把Remote Debug裝起來吧... 首先,得上網找一下『 Remote Tools for Visual Studio 11 Beta 』,下載安裝畫面如下(裝到沒安裝VS11的小平板上):  接著,到Search裡面找到Remote Debug Configuration設定一下: 點選,出現設定畫面:  下一步,允取那些聯入的連線呢? 來吧,都來吧,我無所畏懼: 完成後,別忘開啟monitor,   小平板準備好囉: 接著回到VM或PC, 開啟VS11專案的屬性頁,可以設定遠端偵錯的相關資訊:  YA, Run這個專案的時候在VS11中選取Remote Machine :  這樣就可以把Metro Style App從開發環境的VPC直接Run到遠端的小平板上進行偵錯囉:  如此一來,要在真實機器中測試Metro App就更加地方便了。 updated : VS2012 RC的工具下載位置: http://www.microsoft.com/en-us/download/details.aspx?id=29911

讓解析度低於1024x768的小平板(或觸控小筆電)可以運行Windows 8 Metro Apps

圖片
Windows 8, 一幅蓄勢待發的姿態。 在最近一兩個月,微軟全省跑透透,辦了多場介紹Windows 8的研討會,也陸續的在網路上大方的提供了Windows 8先前的Developer Preview以及最近的Consumer Preview版本讓大家免費下載。 過去段時間顯然大家已經多多少少安裝在PC/NB的環境上,最典型的大概都是安裝在Virtual Box的虛擬機環境。運作起來的效能當然不會太差(因為Win8需要吃的resource比Win7似乎還要少),不過,由於一整個設計都是親近平板的觸控與手勢操作,所以裝在虛擬機裡面真的有點給他隔靴搔癢好不愉快... 早在Developer Preview一拿到手的時候,我就試著安裝在先前運行Windows 7的ViewPad 10上面試試看,我得說,安裝的真的很順: 在當看到新的Metro Style環境很開心的時候...杯具發生了...ViewPad 10的1024x600解析度,只能運行傳統的桌面模式,Metro App完全不給Run.... (至於其他像是音效卡驅動程式不能用,插耳機可以聽到聲音但平板的喇叭卻沒聲音之類的怪問題,我就更沒興趣管它了...) 隔了好一陣子,就去忙了,直到最近忙完了,才開始回頭重新研究調查一下,發現這幾個月下來,已經有勉強可以用的解決方案了,讓大部分的1024x600的小筆電和平板,可以上win8環境。 解決的方案很簡單,請在安裝好之後,以觸控方式(我是用平板啦)把右邊的 charms bar 嚕(ㄌㄨ:手指從螢幕的右方邊界處往左滑動)出來,然後點選Search: 出現底下畫面的時候,輸入regedit: 然後點選我們熟悉的regedit程式,執行後,直接搜尋『display1_downscalingsupported』: 找到之後,將原本的值從0改成1: 設定完成之後,重開機。 開機重新進入之後就可以在螢幕解析度設定畫面中,找到1024x768(這是win8支援的最低解析度): 如此一來,就可以把1024x600的小筆電或平板,模擬成1024x768,如此一來就可以運行 Metro Style Apps囉...  試試看你的小筆電,如果可以衝到1366x768以上,或許...