將你的網站轉為 Windows App- 使用 Windows App Studio

[感謝微軟學生大使、清華大學計量財務金融學系賴虹安同學,協助翻譯原發佈於 Building Apps for Windows 部落格中的文章:Building Hosted Web Apps with Windows App Studio]

以下則是賴同學在 3 分鐘內,將自己的履歷網站轉為 Windows App 之經驗分享:

將你的網站轉為 Windows App- 使用 Windows App Studio)
如果你已經擁有自己的 Web App ,並且有公開的 URL ,那麼只要使用 Windows App Studio (有中文介面) 裡的 Hosted Web App 範本,你就可以輕易地將它轉移成 Windows 10 的 App 。 Windows App Studio 這個線上服務,能讓無程式基礎的人也能輕鬆地創建 Windows 系統上的 App 。這篇文章將帶各位了解如何建立屬於自己的 Hosted Web App 。

在 Windows App Studio 裡,你可以藉由範本或是空白的網頁畫布( canvas )於瀏覽器中創建原生 Windows 10 App ,接著加入所需資訊、數據、服務及風格設計等等。建立完成後,你就等於建構了一個 Visual Studio Solution 、側載套件( Sideloading Package )或發行套件( Publishing Package )的App,同時也代表著,你將接觸到 Windows Store 中超過 20 億個 Windows 10 裝置的使用者。
在眾多範本中,可讓無障礙網頁( Accessible Websites )及 Web App 發布至 Windows 上的便是 Hosted Web App ( HWA )。它會要求你輸入Web App 的 URL 、新增 App 的圖示( icon )、確認所有設定、並準備發布至 Windows Store 。而這些步驟只會花費你一些時間即可完成。
底下這些生活日常所花費的時間甚至比建一個 HWA 的時間還多呢!例如:
 檢查 E-mail
 微波一袋爆米花
 逛逛百貨
 刷刷牙
 欣賞電視節目中的廣告片段(建 HWA 的最佳時間!)

所以如果你願意花 3 分鐘的時間來學習,那就讓我們開始吧!1_foursteps

步驟 1 :建立專案
如果你還沒用你的 Microsoft 帳號登入 Windows App Studio ,別擔心,這是一項完全免費的服務,成功登入後前往「 Start New Page 」,那裏就會有建立 HWP 的選項。

2_createyourHWA

點選建立 Hosted Web App 後,會有一個彈出視窗,輸入你的Windows App 的名字後點擊「 Start with this one 」,而右側的裝置預覽( device previews )將會展示 App 在各式裝置螢幕上的呈現樣貌。

3_nametheapp

步驟 2 :安裝 App
在建立專案後,你會前往內容編輯( Content )的頁面,在這個頁面你唯一需要做的事情便是輸入你想要轉換的網頁 URL 。

4_themanifest

接著你可以選擇上傳安裝資訊檔( Manifest ),或是你也可以定義新的URL 規則以及旋轉偏好( rotation preference ),但是這些都是非強制性的喔!
在右方預覽的螢幕上,會顯示你的 HWA 在各式裝置螢幕上的顯現效果,如果你沒有預覽成功也不必擔心,這通常代表這個網站不被允許嵌入在iframe 裡,但仍然是可運作的喔!
在輸入 URL 及其他相關資訊後,你可能會想要更新 App 的預設 icon ,只要點擊 Content tab 裡導覽列上的 icon 就可以打開 icon 編輯器了。

5_iconeditor

接著點擊「 App Logo 」下方的圖標,就會打開一個資料夾,在裡頭你可以選擇你想要的 icon 來使用,上傳自己喜歡的 icon 後,這個工具將會自動產生各種 icon 大小供你使用。

最後,點擊「 Settings 」來編輯你的市集( Store )清單細節,例如: App 的描述、語言、市集相關細節、隱私條款,以及其他資訊等。在發布到市集前,你需要填妥市集相關資料,更多詳細發布指示請見文件 (中文)。

6_publishtostore

步驟 3 :建立 App
當你完成安裝設定後,點擊上方灰色「 Finish 」按鈕,你將被導入一個新的頁面,在此頁面你可以瀏覽你的 App 在各式裝置上的新樣貌,而你在這個頁面所需要做的事情,便是點擊上方「 Generate 」大按鈕,接著會打開一個彈出視窗,選擇你所要的產生的套件即可( Visual Studio Solution 通常為預設選項)。
值得注意的一點是,為了能夠產生發行套件,你必須確實完成上述所提的市集相關資訊。

在所有步驟都結束後,按下「 Generate 」,等候一分鐘,你就可以擁有屬於自己的 App 囉!

結論
只要上述這些步驟,就能輕鬆在 Windows App Studio 建立一個 HWA ,是不是非常簡單?
如果你在使用這個工具後有任何意見,我們都非常歡迎你提出與我們分享喔!

App 設計:我該從哪開始?

[感謝微軟學生大使、清華大學計量財務金融學系賴虹安同學,協助翻譯原發佈於 Building Apps for Windows 部落格中的文章:Getting Started With App Design]

在軟體產業裡,我們總是常常聽到設計者和程式開發者在溝通上有代溝,因次希望能藉由本篇文章,介紹大家一些設計 App 的小撇步,幫助大家設計出更吸引人、比別人更成功的 App,同時也能減少工程師和設計者之間的隔閡!

淺顯易懂的設計 Demystifying Design

就跟工程師一樣,「設計」也是需要藉由不停的練習,才能將自身的技能結合想傳達的資訊,完美的傳遞給使用者。一些基本的技能包括:

  • 排版 Typography
  • 色彩學 Color Theory
  • 視覺平衡 Visual Balance
  • 圖像研究 Iconography
  • 導航列設計 Navigation
  • 設計素描 Sketching

當你學會並且時常練習這些基礎功後,你將會發覺許多以往你可能忽略的色彩美學或排版技巧,甚至,你更有可能藉此知道往後該如何修正自己的 App,讓現有的作品擁有更美觀的視覺呈現。

讓我們開始吧!Getting Started!

設計,絕不能等程式開發完的最後一刻才開始動工。做為一個 App 開發者,你可能已經發現 App 的功能和其設計息息相關。舉例來說,一旦你在功能選單放入太多項目,有些重要的功能常常在最後看起來已沒那麼重要;你也有可能發現,在設計完 App 的主視覺、編寫程式後,自己像是擁有兩個 App 而非一個。然而,設計者們卻有不少能力能解決上述這些狀況。

– 這個 App 的重點是什麼?

在開始著手設計前,請先記得了解自己的 App 的用途為何、你希望 App 使用者能夠如何使用。如果你是一個偏好視覺走向的開發者,那麼就想像這裡有一個完全空白的畫布,並且思考你要放什麼內容進去;如果你喜好利用語言、文字來表達,那麼建議你採用清單條列式來呈現。若你不屬於上述二者,那麼就先把所有你覺得你用的到的功能、希望的色彩和選單都先放上去。

接下來的重頭戲便是「簡化」。雖然這可能讓人心煩,尤其是在當你把所有心血都放上去後,但是現代 App 設計最重要也是唯一的大準則便是:化繁為簡。太多的重點和功能會混淆使用者,過多的畫面則會讓使用者難以瀏覽及記住剛剛瀏覽過的項目在哪,所以請開始動手「簡化」吧!

你可以畫一條線刪掉那些其實你並不需要的功能,然後再畫一條線,刪掉那些你覺得你需要但是其實並不適合其他清單上的項目;在反覆此步驟後,你就會發現你已經將你的 App 簡化成它最單純的樣子囉!

– 了解你的消費者

現在你需要了解你的 App 究竟是為誰而設計。

你的 App 是為孩童或是成人而設計?是為繁忙的專業人士還是賦閒在家的人所設計?這個 App 是用來做為科技知識突破所用還是給那些需要協助的人們所用?釐清這些問題將幫助你構思出整體外觀、給人的感覺以及排版設計。舉例來說,繁忙的專業人士沒有太多時間閱讀過多的文字,然而針對那些較少接觸科技的人來說,他們需要較多提示及線索來使用 App;此外,比起仿舊風,孩童大多較喜歡明亮的顏色設計。

2_inspiration

了解你的目標消費者後,起身去和他們聊天吧!不要覺得這個舉動很多此一舉,一旦你付出越多了解你的消費者,往後設計app時你將更得心應手。在和他們談話時,可以徵求他們的同意後,錄下談話時的影片並且觀察他們、詢問他們相關問題,從中發現他們希望從你的 App 中得到什麼樣的幫助或便利。

– 靈感啟發

記得主動找尋靈感!無論是蒐集照片、字體、名言佳句、文章、或是任何和你的 App 及消費者相關的設計,甚至是那些你驚鴻一瞥的小事物,把這些材料都拿來當作你設計及程式開發的靈感來源吧!當然,你得在原創作者同意下再把這些元素加入你的 App 裡。此外,你可以觀察其他已開發的同性質 App,同時思考是否有哪些地方是你可以做為借鏡,改善自己的 App。

1_inspiration

同樣重要的是,別忘記繪製草稿!把握所有機會,拿起筆或是蠟筆在紙上畫下 App 的設計草圖,這同時也是幫助你的「設計腦」永保靈活的一項練習。將你所有草圖都保存在安全的地方,並在開發 App 進入尾聲時將當初的草圖們都拿出來溫習,你會很開心能看見這個 App 一路的蛻變。

– 原型開發

不論是畫草圖 (sketch) 還是線框稿 (wireframe),根據消費者給你的意見回饋建構出各種不同的畫面設計,並且,想像消費者在執行任務時所會採用的流程。你可以使用任何對你有利的方法建構原型,假設對你而言在 Visual Studio 或 Blend 上做介面設計是較快速的,那麼就使用這些工具吧!但務必注意,在這個階段你不需要太專業的軟體或是具備非常頂尖的繪畫能力,使用記事本或是繪圖板就可以了。更棒的是,你可以直接在便利貼上設計你的 App,如此一來你就可以更輕易的移動畫面元件來看不同的排列組合所呈現出來的樣貌,你甚至可以在發現排列組合的結果不是你所期望後,輕鬆地把它們放回去。

如果你不確定該從何處下手,建議你可以先看看那些和你的 App 類似的作品並且發現是否有適合你的 App 的設計流程。

3_prototypes

現在,試試看移動畫面上的元件,如果你原本是從上方導覽 (top navigation) 開始,那你可以改試著將導覽從左邊開始;如果你原本設計的介面是擁有大型的文字頁首 (header),那你可以嘗試將他移到畫面的底端;按鈕 (buttons) 和內容儀表板 (content panels) 也可以隨意的移至其他地方;將文字和按鈕分離或是將連結 (links) 和文字分開;透過這些更動,你會在最後找到最適合這個 App 的設計。

4_sketching

– 鼓起你的勇氣

現在去找一些測試者 (至少5人),請他們在看過你的原型 (prototype) 後給予你意見,在此強調,這種易用性測試 (usability testing) 或市場調查 (market research) 比起一般的問答測驗 (QA testing) 來的好。

5_iterate

如果你找不到任何人願意協助你,那麼就試著想像自己是第一次使用這個 App,並思考這個 App給你的第一印象會是什麼?當你看著它是否就能夠猜出它的功能是什麼?是否就能了解下一步該怎麼做?

如果上述問題有任何答案是讓你不滿意的,那就再次拿起你的便利貼,重新尋找最佳的設計方法。先前那些你用來構思草圖的便利貼及付出的時間與心力都需要善加保存與紀錄,這些將協助你找到最終的完美解答。

大功告成 Wrapping Up

在每一步驟開始前審慎思考 App的設計會幫助你判斷程式開發與介面設計相對應的優先順序。按照本篇文章的引導,你將可以更早發現問題並解決,同時避免往後可能面臨之一切重大錯誤。

若想獲得更多資訊,歡迎瀏覽「Plan Your Universal Windows Platform (UWP) App」。

初步了解 .NET 2015

感謝成功大學資訊工程研究所陳顥文同學協助翻譯微軟公司資深高階主管 Bath Messi 於 2015/2/25 發表的文章:

Understanding .NET 2015

文中主要提示了即將發佈的 .NET 2015 在各種角度上的改變,包括對各平台的支援、走向開放等等。

在進入本文之前,她的結論提到身為多年的微軟人,親身經歷 .NET 走向開源的過程及感想,說出了許多人,尤其是長期關注微軟技術者的心聲,在此轉述如下:

對微軟來說,開放原始碼並不是新的舉動,但對 .NET Runtime 函式庫卻是。這對一個超過 15 年的老專案是個非常重大的決定,對許多內部的員工來說,這開放的不是單單只有程式碼而已,而是將整個工程都開放出去。改變是需要時間的。所以這是為甚麼 .NET 小組剛開始只能釋出一小部分的物件函式庫。我們在未來需要有更長更遠的路要走。從決定開放也至於現今的成果,可以讓我們這個團隊學到這些舉動激起的漣漪、以及產生的貢獻,這些都讓我們自嘆不如。”

.NET 2015 – 主要架構

clip_image002

其中,針對 .NET Core 有以下三個主要的投資及改變:

1. .NET Innovation-微軟已將許多語言的編譯器重新設計、改良,以符合新一代開發者的需求,包括底層物件函式庫 (BCL: Base Class Libraries)、應用程式模型(App Models)、執行階段 (Runtimes) 及相關工具。

2. Open Source (開放原始碼)-微軟已將開發流程透過開源社群公開,也透過開源社群得到進一步的支援及協助,經由這樣與全世界開發者間的互動,一起培育 .NET 的生態系統。

3. Cross Platform (跨平台)-使用者的執行平台及環境越來越多樣,有鑑於此,讓 .NET 跨平台相容至 Linux, Mac 等平台上當然也是必需的。

.NET 2015 的主要元件
Frameworks and Runtimes

.NET Framework 持續提供一個受控管的執行環境,於其上提供各種服務讓應用程式使用。.NET Framework 主要由兩個元件組成:其一是通用語言執行庫 (CLR),CLR掌管並且提供應用程式的執行引擎;另一個元件是 .NET Framework 物件函式庫,是一組穩定且可重複使用使用的現成程式庫,讓他們能夠在自己的應用程式中呼叫使用。

.NET Framework 4.6 建立於 4.5.2 版之上,加入了許多新的 API,並且強化了事件追蹤 (Event tracing) 並修復了許多的Bug,這將會是下一個完整的.NET Framework! .NET Framework 4.6 也將會包含於 Windows 10 之中。先前的作業系統也可以透過 Windows Update 來取得最新的.NET Framework! (Vista 含以上的版本)

更多有關於.NET Framework 4.6的詳細資訊參考 .NET Framework 2015 Preview

.NET Core 5 是一個提供多種功能、模組化的設計框架 (framework),能在橫跨多種平台的環境中使用,且為開放原始碼,將會支援Windows、Linux、Mac OSX。.NET Core 5 的內部架構包含底層物件函式庫 (corefx) 以及 Rutime (coreclr),包括 JIT 編譯器 (RyuJIT),.NET 回收機制 (GC),原生語言互通性 (Native Interop),以及其他.NET Rumtime 元件。

.NET Core 5 目前可運行在 Windows 上面,微軟也即將加入 Linux 以及 Mac 支援,讓 .NET 的主要元件能運行在這兩個平台上。

更多有關於 .NET Core 的詳細資訊請參考 Introducing .NET Core 以及 CoreCLR is now Open Source.

如果以上兩個詳細資訊您只想選一個來看,那我會推薦看 Introducing .NET Core,這會讓您瞭解為何我們需要 .NET Core,以及適合在那裡使用。

Compilers (編譯器)

.NET 編譯器平台 (“Roslyn”) 提供開放原始碼 C# 以及 Visual Basic 的編譯器,並提供豐富的程式碼分析以及 API、並提供了程式碼分析工具。

為 .NET 2015 量身打造的 Roslyn,其平台與核心、框架皆使用獨立的中繼語言(IL) 所完成。在 .NET 2015 釋出之時,整個 .NET Framework 將都會是由 Roslyn 所編譯完成的。除此之中,在 C#、VB 甚至 F# 語言本身都將有重大的革新。

Roslyn 的專案已開放原始碼放置在 Roslyn on GitHub

“RyuJIT” 是 .NET 在 64 位元平台上的全新預設 JUST-IN-TIME(JIT) 編譯器。於執行期間,JIT編譯器將使用中繼語言 (IL),即時編譯於目標機器中執行。

在桌上型電腦以及伺服器的執行情境裡,RyuJIT 更新了先前 64 位元的 JIT 編譯器,顯著減少了啟動所花費的時間。RyuJIT 也支援 SIMD (單指令流多資料流, Single Instruction, Multiple Data),這代表能夠同時平行執行大量的數學運算。將讓使用到向量運算的應用程式得到顯著的效能提升!

更多關於下一代 JIT 編譯器的訊息,請參考 The next-generation JIT compiler for .NET

.NET Native 將 C# 直接編譯為為原生機器碼,如同 C++ 一樣。亦即,開發者能夠在享受 .NET Framework 高生產力的同時,還能得到優異的執行效能。一般情形下,.NET 所編譯的應用程式會先被轉換成中繼語言 (IL),在執行時期再透過JUST-IN-TIME(JIT) 編譯器將中繼語言 (IL) 轉換成原生機器碼。

而 .NET Native 則是一種提前編譯器 (ahead-of-time compiler),會先把應用程式直接編譯成原生程式碼,並且包含最小的通用語言執行庫 Runtime (CLR Runtime) 以降低套件大小。如此一來,能讓使用 .NET Native 編譯的 Windows Store Apps 再啟動的速度加快 60%,並且減少 15~20% 的記憶體。Universal Windows apps 都將會運行在 .NET Native 上(包括 ARM, X86, X64 的 CPU 架構)

有關於 App 使用 .NET Native 編譯的詳細資訊參考Compiling Apps with .NET Native.

App Models

在 .NET Framework 4.6 以及 .NET Core 5 中,延伸了先前的通用函式庫以及應用程式模型,例如 Windows Forms、WPF、ASP.NET Web Forms、MVC 5 等等。您所熟悉的應用程式模型在 .NET Framework 中將會加入許多新功能,能夠與全新的程式語言和 Roslyn 編譯器、RyuJIT 作完美的整合。在 .NET 4.6 中新增了許多有趣的東西! 請參考 ASP.NET Overview – What about Web Forms?The Roadmap for WPF.NET Framework 2015 Preview.

附帶一提,新的應用程式模型也為 .NET Core 5 做了設計的優化。

ASP.NET 5 使用現代的 .NET 應用程式模型來設計 Web 應用程式。透過已優化的開發框架打造雲端或者本地端的網頁應用程式。透過 ASP.NET 5 模組化的元件以最小的資源耗費打造出有彈性的專案,ASP.NET 5 可以運行於 .NET Framework 4.6 或者 .NET Core 5 之上。現在 ASP.NET 5 已可以透過 Mono runtime 執行在 Linux 以及 Mac 上面。

從 .NET Core 開始支援 Linux 以及 Mac 後,ASP.NET 5 將會計畫透過 .NET Core在這些平台運行。

關於ASP.NET5 的詳細內容可以參考ASP.NET 5 Overview以及Introducing ASP.NET 5

Universal Windows App (通用型應用程式) 是一個能夠讓您在 Windows Phone 及 Windows apps 上互相共用程式碼,並能部署到 Windows Store 的一個應用程式模型。通用型應用程式將會以 .NET Native 運行,將中繼語言編譯成原生機器碼,並包含執行所需要最小的通用函式庫`。

更多關於 Universal Windows App  以及如何使用 .NET Native 開發可以參考Building universal Windows apps for all Windows devices 以及 Getting Started with .NET Native

讓我們再複習一下.NET Core

.NET Core 5 是一個泛用途、模組化,且因為重構並使用底層物件函式庫(corefx)以及Rutime(coreclr),因此具備跨平台特性的 Framework。

.NET Core 在不同的應用程式模型使用相同的底層物件函式庫(BCL),或許這些 API 看起來不太一樣,但其實它們分享同一種實作方式。大部分的 API 都擁有高度模組化且易於重構、並獨立於作業系統的平台之外的特性。

clip_image004

.NET Core 的開發之路
我想在學習新的技術時,有個心智圖會比較好理解這些東西將會怎麼運作。

下圖是當您在使用 .NET Core 開發應用程式時的簡化圖。從撰寫程式碼/建置/除錯的循環,及至於部署並執行的過程。請注意在部署執行階段,會根據最後的執行平台,以不同的應用程式模組去編譯您的程式。

clip_image006

在您撰寫程式碼中,會參照許多位於底層物件函式庫 (BCL) 內的參考。Roslyn 編譯器會將您的程式碼轉換成獨立於平台的中繼語言 (IL)。除此之外,編譯器擁有豐富的 API,讓您能夠做各式各樣的程式碼分析工作。如果您正在使用Visual Studio,將會有許多的新功能應用這些 API,讓您在撰寫程式的過程中更有效率。

如果您正在打造通用型 Windows 應用程式,可以利用 .NET Native tool chain將 您的程式建置為原生碼,且包含執行最小需求的通用函式庫。

而如果您在開發 ASP.NET 5 ,將可參照使用您部署伺服器端的 CoreCLR,同時利用 JIT 彙整程式碼後,由 RyuJIT 建置。

另外一提,ASP.NET 5 允許您在執行階段更改並儲存程式碼,之後只要重整您的瀏覽器而不需要在執行重新建置。Visual Studio 使用 Roslyn 的動態編譯,讓您擁有強大的開發框架,更能提供您更流暢更像直譯式語言的開發。

附記:如果您要使用 .NET Framework 4.6 為建置的目標,您仍然能夠使用這些全新的功能以及 Roslyn 編譯器。應用程式部署將不會因為目標改變而有變化,這必須要依賴於您編譯該應用程序系統的 Framework 版本。但在執行階段則會使用JIT彙整並且編譯利用 RyuJIT 執行。

到底有哪些開放了?

在 .NET 2015 底下,有許多部份是開放原始碼且由 .NET Foundation 管理。我們正在將這些專案一一的開放給開源社群們使用。

clip_image008

您可以在 .NET Foundation 的 GitHub 上面看到所有可供使用的開源專案:http://dotnet.github.io/

以下有幾個不錯的代碼庫,能夠透過以下連結來得到不同專案的原始碼及專案檔:

值得一提的是,完整的 .NET Framework 是 ”source open”,這代表我們不是全然的將程式碼開放並且也不是全然的遵守 OSI 授權 (譯註:OSI 為 Open Source License),但您仍然可以瀏覽所有的原始碼: http://referencesource.microsoft.com/

敞開心胸

對微軟來說,開放原始碼並不是新的舉動,但對 .NET Runtime & 函式庫卻是。這對一個超過 15 年的老專案是個非常重大的決定,對許多內部的員工來說,這開放的不是單單只有程式碼而已,而是將整個工程都開放出去。改變是需要時間的。所以這是為甚麼 .NET 小組剛開始只能釋出一小部分的物件函式庫。我們在未來需要有更長更遠的路要走。從決定開放也至於現今的成果,可以讓我們這個團隊學到這些舉動激起的漣漪、以及產生的貢獻,這些都讓我們自嘆不如。

您或許會問自己,「我沒有足夠的時間打造我自己的應用程式,但至少我還能寫一點 code 來貢獻 CLR!」。您的想法沒錯,我們將會與您一起努力,您可以自由選擇您要用甚麼方式來參與我們,您也可以不成為寫程式碼的貢獻者,可以選整理問題提供一些您的意見、或者回答問題,或者只是到處看看社群努力的成果

您又或許會想「我不想要失去簡單好用以及有一定品質的 .NET Framework…」,別擔心!我們的等級跟品質還有服務會跟以前一樣好,我們所做的只是單純開放我們的工程成果。純粹將先前我們所在內部做開放,同時也會保持我們軟體上面的品質。

我對 .NET 以及 .NET 小組迎接的新文化感到興奮!

初窺 Windows 10 的通用應用程式平台 (Universal App Platform)

在「Windows 10 對於開發者的意義在哪?」文中提到,4/29~5/2 的 BUILD 大會中,才會有進一步針對 Windows 10, Cortana, Xbox, Surface Hub, 以及 HoloLens 上開發應用程式的完整訊息。那麼在這之前,開發者可以怎麼準備呢?

首先,即是先開始熟悉 Universal Windows Apps 了!

image

同時,在三月初於巴賽隆納舉辦的 Mobiel World Congress 上,微軟又進一步公佈了未來 Windows 10 的通用應用程式平台 (Universal App Platform):

A first look at the Windows 10 universal app platform

Gallo blog 1 v2

這張圖的上方提示了 Universal Apps 將橫跨多種不同裝置;下面的部份則可細項來看其說明:

As we built the universal app platform, we set out to ensure that all Windows developers would equally benefit from this one core. The platform enables a new class of Windows universal apps – apps that are truly written once, with one set of business logic and one UI. Apps that are delivered to one Store within one package. Apps that are able to reach every Windows 10 device the developer wants to reach. Apps that feel consistent and familiar to the customer on all devices, while also contextually appropriate to each device’s input model and screen size. The new universal app platform completes our developer platform convergence by providing you with the ability to finally create one app that can run on mobile, desktop, console, holographic, and even IoT devices.

Adaptive UX: enables your app’s user interface to fluidly adapt at runtime based on how the customer is interacting with your app and the available device capabilities – rendering an experience that is contextually appropriate.

  • Screen layout: In addition to base app model improvements, we have improved the ViewStateManager to make it easier to create more adaptive experiences. This means that your universal app projects no longer require separate project heads or UI definitions for small and large screens, although we will still provide the option of separate UI definitions should you prefer it.
  • User controls: Windows 10 will determine, at runtime, how the customer is interacting with your app and render the appropriate user experience (e.g. on a laptop with a touch-screen, an app fly-out control will provide larger touch-targets if tapped with touch, as opposed to clicked with a mouse).

Natural user inputs: Windows 10 helps you build an app experience that is more personal and more human, by making it easy to incorporate natural user inputs into your app, such as natural speech, inking, gestures, and user gaze. Because Windows handles all of these inputs, we free you from needing to worry about how to parse the input for meaning – you only need to worry about which inputs are appropriate for your app and we’ll determine if they are present and parse the intent for you.

Cloud-based Services: Windows provides a number of services for use in your apps, such as Windows Notification Services (WNS), Windows roaming data and the Windows Credential Locker. With Windows 10, we are making more Windows services available to developers, including an expanded Cortana AI, OneDrive, and Application Insights. Beyond Windows, we continue to make it easier to take advantage of Microsoft Azure using services like Azure Mobile Services and the Azure Notification Hub.

最後,則是再次提醒大家:

1. 歡迎參加 Windows Insider Program,提早取得並體驗 Windows 10,同時還能率先得到開發工具預覽的通知。

2. 開始學習 Universl Windows Apps 開發!

Windows 10 對於開發者的意義在哪?

Windows 10, Cortana, Xbox, Surface Hub, 以及最炫的 HoloLens,這些都是微軟在 1/21 日的重大發表。那麼對於開發者而言 (包含學生及新創公司),要如何預備 Windows 10 的到來呢?

最大的重點即是:Universal Windows Apps (通用應用程式)!

image

重點僅止於此? 當然不只! 官方部落格 Building Apps for Windows  整理了一篇文章,讓開發者可進一步了解各相關資訊。在此特別感謝成功大學資訊工程研究所的陳顥文同學 (台灣微軟技術實習生) 協助翻譯為中文,請大家參考!

Windows 10 is empowering developers to dream again

Terry在發表會上展示了最新具備能夠橫跨多個裝置,可用於平板、手機、以及個人電腦上的作業系統,Windows 10。以及展示了微軟 Surface Hub,和世界第一個全息影像計算平台:Microsoft HoloLens。

Windows 10 將會搭配全新的人工智慧:Cortana,以及全新的瀏覽器:Project Spartan。並且更緊密的結合 Xbox 遊戲體驗。還有新的全息影像技術 (holographic) 及其相關裝置。當然也改良新增了幾個內建的 Universal App,例如”人際網路及訊息”、”相片”、”影片”、”音樂”,以及”地圖”的應用程式,這些 App 也成為 Universal App 在多個平台開發的成果。

全新設計的 Windows 10 將提供創新的服務與功能給 15 億用戶們使用,微軟將提供 Windows 10 免費升級。在 Windows 10 正式發行之後,原有的 Windows 7、Windows 8、Windows 8.1,以及 Windows Phone 8、Windows Phone 8.1 使用者,將得到免費升級的機會。*

現在,我們來與 Windows 開發者們談談這個新系統會即將帶來的機會與變化。

去年 4 月的 Build 2014 大會中,我們討論過 Windows 平台開發的設計思維。在 Windows 10,我們進一步簡化了建議遵守的設計規則:

橫跨多個裝置,讓應用程式擴及的人數增加

微軟盡力統一 Windows 10 上的開發流程,讓您的應用程式設計可適用於多個平台例如手機、平板、個人電腦及 Xbox、甚至是物聯網裝置(IoT devices),以及全新發表的 Surface Hub 以及 HoloLens。也就是說,您所開發的應用程式能夠讓更多的消費者使用。

統一的操作體驗

微軟期願讓人們使用科技的方式盡可能的單純及簡單,我們也在這一塊做了極大的努力及改變,在不停提供新科技的同時,也希望能夠讓人們與電腦互動的方式能夠更加的自然。在Windows 10,開發者們將可以運用人工智慧助理 ”Cortana” 所提供的語言辨識、觸控、音效、影像、全息影像等技術,加入到您所開發的應用程式中,這些在 Windows 10 不只是夢想,而是有可以被實現的!

節省開發者的時間

我們將繼續的新增學習資源、工具,以及範例程式碼,也能協助開發者們更快更簡單的完成具備跨平台特性的應用程式。

擴增應用程式使用者的規模

我們將會持續讓更多的使用者採用 Windows 10,讓每個開發者所開發出的應用程式能夠擴及到更多的消費者。最近開發者在軟體開發上遇到的一大問題,就是需要更對更多元的各類型裝置,而必須要花費相當大的功夫,才能保持不同裝置上的應用程式能夠有一致的功能。Windows 10 將會改善這些開發上所遭遇到的”碎片化挑戰”。

首先第一個改變,各位將可以發現 Windows 10 開始跟使用者有全新的關係,Windows 10 就像一個服務,將提供經常性的自動更新,這樣可以確保大部分的使用者維持在最新的版本,能夠讓大部分的使用者使用到您開發的應用程序所需最新的作業系統功能。這個自動更新的程序對一般使用者而言是免費的。因為有這個特點,Windows 將可以讓開發者們放心使用最新的技術做應用程式開發,而不需要擔心使用者的作業系統版本及需求是否符合。

我們也在遊戲類型 App 做了一點改變,讓遊戲 App 的操作體驗以及畫面的呈現在各個裝置上能夠保持統一。Windows 10 平台也能夠透過通用型的 Windows App 框架 (Framework),讓舊有的Windows 8.1 應用程序只需要一點修改,就能加入 Windows 10 應用程式的新功能。

帶來獨特的體驗

在發表會上,Windows 10 提供了數個新的功能,使用 HoloLens 全息影像技術,讓開發者能夠透過全息影像裝置讓實體世界與數位世界接軌,能讓人們在全息的擴增實境裏頭作互動。另外,許多人可能已經在手機上體驗過的Cortana,很快的 Windows 10 上的 Cortana 將會有更多的功能及變化出現。

我們也發布了在 Windows 10 中網頁瀏覽的新體驗,”Project Spartan”,讓使用者用更快速簡易的方式來瀏覽網頁。Spartan帶來了新的渲染引擎 (rendering engine),這個全新的引擎將針對新一代的網頁提供更好的互動及操作性。在 Web 開發小組的部落格可以找到更詳細關於 Spartan 的詳細介紹。

極大化您的投資

在每次作業系統進行更新變動時,我們總是確保著先前已經存在的應用程式能夠如期的正常運作。

但是我們不僅只保持舊有的程式碼能夠繼續運作,而是保障開發者們花費數年時間學習的開發技術也能夠繼續地運用在 Windows 10 平台間的應用程式開發上。在 Windows 10 您將能繼續透過 Visual Studio 開發工具,使用多樣的、以及您早已熟悉的程式語言來做開發,並且也可以靈活運用來自 Azure 所提供的雲端服務來加強您的應用程式體驗。

降低要達到跨平台的投資成本,也是我們致力做到的目標。我們知道開發者需要花費非常多的時間投資在學習開發不同的平台上。因此我們把跨平台開發這件事情變得更加容易,並且能夠將其他平台的專案能夠帶來 Windows 上面部屬及開發。

回到去年的 Build 大會,我們發表了基於開放原始碼授權的跨平台語言:Win JS (可以參考:http://dev.windows.com/zh-tw/develop/winjs 以及 http://try.winjs.com)。我們在去年9月也繼續的更新改善WinJS,並發表Win JS 3.0。

接著我們也發表Xamarin (http://xamarin.com) 以及Unity (http://unity3d.com),能夠讓開發者使用 Visual Studio 透過 C# 開發行動裝置應用程式並且部署到蘋果 iOS 以及 Google 的 Android 裝置上 (就像開發Windows平台應用程式一樣容易)。而在最近發表的 Visual Studio 2015 預覽版本中,我們也內建了Apache Cordova,以及能透過 Visual Studio 2015 開發建置 shared libraries 的 Andorid應用程式,還包含了完整的 Android 模擬器,最後,針對原生的 C++ 開發者,也可以透過 Android NDK 開發 Android 應用程式。

接下來呢?

無論你的使用者在哪裡、使用什麼樣的裝置、執行什麼樣的作業系統,我們將會持續的讓您的開發成品能夠盡量的讓更多的使用者使用。

在 Windows 10 正式發表前,最好的準備方式就是從現在開始使用 Universal Windows App 打造 Windows 8.1 的應用程式!

官方文件
其他線上學習資源
  • 透過C#/XAML開發Universal Windows Apps 入門(英文無字幕,包含真實的設計案例教學)
  • 如果您現在是 Windows Phone Silverlight 的開發者,這是您大好的機會來學習如何使用 Windows XAML 開發,因為這會使您的應用程式能夠設計成為 Universal Windows Apps. 我們提供如何將 Windows Phone Silverlight 的 App 轉換成 Windows XAML 執行階段的 App,在未來 Windows 10 開發Universal App的一些影片及建議在這裡(英文)。
  • 在即將來到的 Build 2015 我們將會分享更多 Windows 10 開發者所需要知道的相關資訊。若您需要有關於 Build 2015 的詳細資訊,可以參考http://buildwindows.com (目前的票已售罄,若您想親自前去,我們鼓勵您在該連結內登入候補行列)。您也可以從 Steven Guggenheimer 的文章(英文)得到更多的Build大會詳細的內容。
  • 我們知道有許多使用者及開發者會加入Windows Insider 計畫,透過這個計畫您將能取得最新版本的 Windows 10。但必須注意的是這是測試版的作業系統,您有可能會在測試版的作業系統遭遇到多個問題,建議不要當作主要的開發環境做使用。
  • 在 Windows Insider 計畫中,除了作業系統之外,也包含幾個工具以及 SDK,如果您想要提早的取的這些預覽版本,請盡速加入這個計畫。

*硬體及軟體有額外需求,不需要額外花費,在不同的裝置可能有功能受限,有些版本可能不適用。更多的細節請參考 http://www.windows.com.

 

新一代設計 Windows App 獎學金計劃-最大獎10萬台幣!

活動期間:2014年11月~2015年5月,但若180次申請額度用完,即提早結束。

活動簡介:只要開發娛樂(Entertainment)遊戲(Games)類別的 App,並上架到 Windows Store 或 Windows Phone Store,就可以申請獎學金!

獎金規則:同一作品 (App) 上架單平台(Windows Store 或 Windows Phone Store)可得 NT$1,400,上架雙平台(Windows Store 及 Windows Phone Store)可得獎學金 NT$3000;每個帳號最多可獲 NT$18,000 獎學金 (成功上架6個 Apps)!

加值獎勵:每個月前10位申請者,將可額外獲得NT$500元 營養用餐津貼獎勵。

特優大獎:主辦單位將從繳件作品中遴選特優作品,補助開發團隊2015年新一代設計展參展金十萬元。

按此報名:https://aka.ms/UnityWindows

上架問題可到這個 Facebook 社團發問,會有專人解答! https://www.facebook.com/groups/536099893144386/?fref=ts

image

 

一年免費的 prime[31] Unity plug-ins

image

prime[31] 是很受歡迎的 Unity plug-ins 供應商,其中包含適用於 Windows Store 及 Windows Phone App 的元件。即日起至 2015 年 6 月,以下有關於 IAP (應用程式內購買)、Live Tiles (動態磚)、Ads (廣告)以及 Azure Storage 等的 plug-ins 都是免費的:

Functionality provided

Windows Store 8.0 and 8.1

 

Windows Phone 8.0 *

Handling trial and in-app purchases

Store plug-in

Store plug-in

To get Live tiles, toast notifications

Metro Essentials plug-in

Metro Essentials plug-in

To give you access to the Microsoft Ad SDK

Microsoft ads plug-in

Microsoft ads plug-in

For easy access to Azure storage

Microsoft Azure plug-in

Microsoft Azure plug-in

*Note that Windows Phone 8.1 support and corresponding free plug-ins will be coming soon.

所有最新的優惠及免費插件,可上 prime[31]的網站,只要提供您的姓名和電子郵件,prime[31] 會寄給您 license, 讓您在 Unity 的專案中使用。

安裝及其他文件請參考 Plug-in Documentation。 也可以透過 prime[31] YouTube Channel 進一步了解使用方式,若有使用上的問題請利用 prime[31] 的論壇 prime[31] support forums

來源: Free one year prime[31] Unity plug-ins

[免費研習營] 協助學生將 Unity 遊戲上架 Windows- 還有機會得到獎學金!

您在學校教授遊戲開發嗎? 您或您的學生正使用 Unity 開發遊戲嗎? 本課程將由台灣微軟與奇銳科技的專業工程師,與您分享如何上架 Unity 遊戲至 Windows 平台。

立即報名: Unity Apps 上架 Windows 實戰

現場將宣佈「開發Unity遊戲得獎學金」活動,最高獎金10萬元!讓您贏在起跑點,協助優秀 Unity 遊戲在明年新一代設計展及 4C 比賽發光!

現場會提供 hands-on 環境讓各位教師及開發者實際上機測試,並將提供 USB 隨身碟(內建教學資源包),讓您事半功倍!

【參加條件】教授遊戲開發之大專院校教育人員、以及 Unity 程式開發者。主辦單位保留參加資格審核權利。

【提供資源】

1.台灣微軟提供開課教師各 20 組免費 DreamSpark 帳號(可免費取得正版Windows Server、SQL Server、Visual Studio 以及 Windows 市集一年免費上架);一般 Unity 開發者則可取得 Windows 市集上架一年免費帳號,可供上傳 Windows Store Apps 或 Windows Phone Apps。

2.台灣微軟將準備精美小禮物以及官方授權教學資源包給與會教師及 Unity 開發者。

3.教室會提供安裝好 Unity 4.3試用版及 Windows 8.1 及 Windows Phone 8 SDK之開發環境,但仍建議團隊帶自已的筆電與開發環境,所需環境請參考 http://unity3d.com/pages/windows/porting

同時感謝愛迪斯科技將協助各校對後續 Unity 獎學金活動之技術支援,包含 Unity 基礎開發指導、Unity遊戲專案開發指導及 Unity 教學指導。

[參考文件]
1. Unity移轉必讀
2. 如何將遊戲移植到Windows 8.1及Windows Phone 8
3. Windows 8到Windows 8.1

主辦單位:奇銳科技股份有限公司台灣微軟

協辦單位:聯成電腦愛迪斯科技股份有限公司

如果有其他問題,請與執行單位聯絡 twbisv@microsoft.com

 

 

在 Azure VM 中使用 Apache Cordova 開發跨平台 App

微軟在今年 5 月正式將 Apache Cordova (PhoneGap 引擎) 包裝成為一個免費的 Visual Studio 2013「擴充套件」。順利安裝之後,就可以在開新專案時選擇 Hybrid App 的專案範本,讓您使用 HTML, CSS, JavaScript 技術來開發跨平台的 Windows、iOS 及 Android 原生 App。

image

不過…

並非大家都有額外的機器和時間來準備 Windows 8.1 + Visual Studio 2013 + Apache Cordova 的開發測試環境,這時候就需要一個預先配置好的 VM 虛擬機器了!

image

這個 VM 中包含了所有您可在本地開發環境作的事情,如:編譯/偵錯 Windows 及 Android Apps、預設的專案模板、以及 “Getting Start” 文件幫助您創建並測試你的 App。

要了解如何開始使用 VM,請參考 MSDN 的文章: 如何在 Azure 上創建一個 VM

另請注意,Azure VM 是可能有使用成本的! 但如果您是 MSDN 訂戶,可使用 Azure 的免費額度,請見 MSDN 訂戶權益頁有詳細資訊。如果您符合新創公司的資格,則可免費申請 BizSpark 方案,享受每個月約 NT$4,700 元的 Azure 免費使用額度。

延伸閱讀:

Visual Studio Tools for Apache Cordova Azure VM Available

跨行動裝置 App 開發: 使用 Visual Studio 2013 + Apache Cordova (PhoneGap)

由 Web 到 App 之路 (二): 使用 Apache Cordova (PhoneGap)

在 Windows Store App 中使用 WinSock 及 Open Source 開放源碼

自從 8 月的 Visual Studio 2013 Update 3 (下載) 開始,Windows Apps 認證工具 (Windows App Certification Kit (WACK)) 即已允許在您的 Windows Store App 中使用 WinSock APIs 。其實 WinSock 早已被允許在 Windows Phone 中使用,也就是現在 WinSock 已可被應用在 Windows 8.1、 Windows Phone 8.1 以及 Universal Apps 中。

這也表示 Windows Store App 將能開始使用許多相依於 WinSock 的 Open Source 函式庫,以下列出 3 個範例:

1. Libwebsockets 是一個輕量級的 C library,旨在使用最少的 CPU 和記憶體資源下,提供上傳或下載時的快速傳輸量 (throughput)。其 Windows Phone 的 NuGet 套件已可在此下載。MS Open Tech 即將發佈 libwebsockets 在Windows Store App 中的版本。

2. libcURL 也是一個免費的 Open Source 函式庫,可以使用各種市面上最普及的傳輸協定 (FTP, HTTP, SMTP, Gopher, etc.) 從伺服器下載檔案,甚至提供 password 認證及檔案續傳等功能。其 Windows Phone 的 NuGet 套件可在此下載。MS Open Tech 也將發佈 libwebsockets 在Windows Store App 中的版本。

3. OpenSSL 是一個實現安全通訊端層 (SSL v2/v3) 和傳輸層安全 (TLS v1) 協定很受歡迎的工具組,同時包含了許多通用的加密函式庫。OpenSSL 已同時支援 Windows Phone 和 Windows Store App 並可在此下載。當然,雖然 OpenSSL 可以讓你重新使用既有的跨平臺程式,請別忘記您可以使用 Windows 的原生安全和加密 API: Windows.Security.Cryptography*。

Source: WinSock and more Open Source for your Windows Store apps