課程簡介 Windows Store App 支援以原先用於網頁前端 開發的 HTML/CSS/JavaScript 技術來進行 ap p 的開發 這使得原先做網頁開發的開發人 員得以使用既有的知識及技能來開發 Windo ws 8 Apps 本課程將會介紹在使用 JavaScript 開發 Win

Similar documents
本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操

Microsoft Word - 01.DOC

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas


關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

RUN_PC連載_10_.doc

导 生 和 被 辅 导 成 员 在 辅 导 过 程 中 的 一 些 不 足 与 可 取 点, 经 过 25 分 钟 的 讨 论, 各 小 组 派 代 表 阐 述 了 各 方 观 点 和 改 进 方 法 然 后, 为 了 改 善 导 生 辅 导 方 法, 让 辅 导 变 得 更 有 效 率, 各 院

05 01 accordion UI containers 03 Accordion accordion UI accordion 54

untitled

Microsoft Word - PHP7Ch01.docx

AZR306 持續的產出 Windo ws Azure 雲端服務 邱英瑞 (Jacky Chiou) 技術支援經理 (PREMIER FIELD ENGINEER) Microsoft Corporation

epub 61-2

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

Microsoft Word - 最新正文.doc

untitled

RUN_PC連載_12_.doc

Azure_s

摘 要 本 校 多 媒 體 設 計 系 與 上 海 戲 劇 學 院 創 意 學 院 在 多 次 聯 繫 交 流 之 下, 已 簽 署 合 作 備 忘 錄, 積 極 尋 求 兩 校 合 作 教 學 與 共 同 創 作 之 機 會 藉 由 本 系 學 生 作 品 腦 殘 公 寓 入 圍 第 五 屆 中

Adobe AIR 安全性

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

Mocat

DBI307 SQL Server 2012跨國企業資料庫管 理與效能調教實戰 經驗分享 楊志強 MCT of SQL Server, Global DBA 台灣微軟 MVP


投影片 1

标题

RunPC2_.doc

序 言 本 专 业 人 才 培 养 方 案 以 适 应 市 场 需 求 为 目 标, 根 据 学 校 校 企 双 主 体 人 才 培 养 的 要 求 和 移 动 应 用 开 发 专 业 的 特 点 设 置 课 程 体 系, 体 现 了 课 程 为 市 场 服 务 的 特 点 本 专 业 要 求 学

RUN_PC連載_8_.doc

中南大学第二届软件创新大赛

公司宣传册定稿-横版文件

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

BizSpark 初 创 公 司 计 划 指 南 目 录 什 么 是 BizSpark?... 1 计 划 概 述... 1 计 划 结 构 和 角 色... 1 初 创 公 司 资 格... 3 使 用 BizSpark 的 产 品 和 联 机 服 务 的 示 例 :... 3 职 责... 5

untitled

1. 2. Flex Adobe 3.

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

Microsoft Word - Learn Objective-C.doc

PowerPoint Template

Microsoft Word - Web Dynpro For ABAP跟踪测试工具简介 _2_.doc

ArcGIS Sever.NET ArcGIS Server Web JAVA ArcGIS Server Web

XXXXXXXX

版权页.indd


中国软件2013校园招聘通知

Professional Ajax Ajax Adaptive Path, LLC Jesse James Garrett Ajax php Garrett WebG

<4D F736F F D BB4FC657A4E5A4C6BEC7B34EACE3B051B77CC4B3B57BAAED2E646F6378>

The Applicibility of Google Maps/Earth and Urmap API to Real Estate Database* Jin-Tsong Hwang** Abstract Whether the real estate market is prosperous

第 三 条 基 金 管 理 人 基 金 托 管 人 和 基 金 份 额 持 有 人 的 权 利 义 务, 依 照 本 法 在 基 金 合 同 中 约 定 基 金 管 理 人 基 金 托 管 人 依 照 本 法 和 基 金 合 同 的 约 定, 履 行 受 托 职 责 通 过 公 开 募 集 方 式

前言

A SB-5000 SB-5000 i 0A-12 i Q&A 0A-9 i 0H-31 i 0H-1 0A-16 A-18 SB-5000 Model Name: N1502 A-1

互联网软件开发中的团队合作和团队管理

2

实 际 上,2012 年 以 来, 移 动 互 联 网 领 域 的 热 潮 已 经 有 所 回 落 从 产 品 创 新 社 区 极 客 公 园 的 跟 踪 数 据 来 看,2012 年 上 半 年 移 动 互 联 网 的 新 生 应 用 数 量 比 去 年 下 滑 了 30% 以 上, 结 合 投

( ) 001 ( 131 ) : 1- ISBN X/I 1091 :

Microsoft Word - 13院21号.doc

IE10 WorkShop

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d

Microsoft PowerPoint - 大學學習 (P).pptx

Microsoft Word zw

立即啟動 免費開發人員帳戶!! Windows Store / Windows Azure / Windows Phone 擁有 MSDN 訂閱 取得代碼 後進行註冊 優惠內容 : Windows Store / Windows Phone 啟用後 1

ebook37-4

無障礙網頁開發規範二版(草案)

ebook140-9

財金資訊-83期.indd

Mechanical Science and Technology for Aerospace Engineering October Vol No. 10 Web SaaS B /S Web2. 0 Web2. 0 TP315 A

untitled

ebook65-20

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

第5章修改稿

目录

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech

060522達文西密碼_全_.PDF

目錄... ivv...vii Chapter DETECT

The golden pins of the PCI card can be oxidized after months or years

untitled


Microsoft Word - ¸ê°T³q³ø273´Á.doc

PowerPoint 演示文稿

Microsoft TechEd22 Microsoft Ignite 3 5 Microsoft Ignite 1 3 Microsoft TechDays TechDays Mobile First Cloud First 1 Microsoft

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

LSI U320 SCSI卡用户手册.doc

IP505SM_manual_cn.doc

ebook

A-2 l 跨裝置網頁設計 A-1 <frameset> <frame> <noframes> (frame) HTML (navigation bar)

bootstrap - 2

2/14 Buffer I12, /* x=2, buffer = I 1 2 */ Buffer I243, /* x=34, buffer = I 2 43 */ x=56, buffer = I243 Buffer I243I265 code_int(int x, char *buffer)

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

爱玩科技合作白皮书(2011)

目 錄 壹 實 務 專 題 製 作 競 賽 ( 複 賽 ) 實 施 計 畫 1 貳 實 務 專 題 製 作 競 賽 ( 複 賽 ) 參 選 作 品 一 覽 表 13 參 評 審 委 員 名 單 23 肆 活 動 照 片 25 伍 實 務 專 題 製 作 競 賽 ( 複 賽 ) 優 良 作 品 名 錄

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8

变 量 的 主 要 作 用 是 存 取 数 据 提 供 存 放 信 息 的 容 器 对 于 变 量 必 须 明 确 变 量 的 命 名 变 量 的 类 型 变 量 的 声 明 及 其 变 量 的 作 用 域 JavaScript 是 一 种 弱 类 型 语 言, 也 就 是 说, 在 声 明 变 量

1 請 至 下 載 Google Earth 6.0 版 圖 6-1: 下 載 畫 面 2 開 啟 Google Earth, 認 識 Google Earth 的 基 本 介 面 2. 搜 尋 1. 主 功 能 選 單 5. 工 具 列 6 導 航

概述

使 用 本 Brother 设 备 之 前 适 用 型 号 注 释 说 明 商 标 重 要 注 释 适 用 型 号 本 使 用 说 明 书 适 用 于 以 下 型 号 : 2.7 英 寸 触 摸 显 示 屏 型 号 :MFC-J 英 寸 触 摸 显 示 屏 型 号 :MFC-J272

基于ECO的UML模型驱动的数据库应用开发1.doc

FileMaker 15 WebDirect 指南

,,,,,,,,,,,,, :,, ;,,,,, ( ),,,, : ( ) ; ( ) ; ( ) ( ) ; ( ) ( A ) ; ( ) ( ),,,,,,, 80

Transcription:

DEV308 精通 JavaScript 作 Windows Store App 開發 蔡秉諺 Vexed 中華電信 Xuite

課程簡介 Windows Store App 支援以原先用於網頁前端 開發的 HTML/CSS/JavaScript 技術來進行 ap p 的開發 這使得原先做網頁開發的開發人 員得以使用既有的知識及技能來開發 Windo ws 8 Apps 本課程將會介紹在使用 JavaScript 開發 Win dows 8 Apps 時的細節 以及瞭解如何運用開 發環境提供的 WinJS 函式庫來開發 Window s 8 Apps

微軟跟你說 用 JavaScript 開發 Windows Store App 和開發網頁前端很像 很像!== 一樣

不一樣 顧名思義 可以上 Windows Store 可以碰到系統底層 可以離線操作

不一樣 多 Windows WinJS MSApp 物件 少不適合 App 環境函式 適應 App 環境行為改變 Cross-Domain AJAX

Windows 物件 不是 window 物件 Windows Runtime API (WinRT API) C++ C# VB JavaScript 共通

Windows 物件 不夠用 自己寫 WinRT Component C++ C# VB

WinJS 物件 Windows Library for JavaScript 100% JavaScript 寫成 跟 jquery YUI 一樣 原始碼可以看 不能改

WinJS 物件 看原始碼 比看文件快 鎖 註解 base.js WinJS ui.js WinJS.UI 搜尋

不用 WinJS 能寫 Windows Store App 嗎 不用 jquery 能寫網頁嗎 能 但麻煩 WinJS 存在意義 拉近 Windows 物件與網頁前端開發距離

WinJS 能在 Windows Store App 外用嗎 base.js ui.js 開頭註解 This library is supported for use in Windows Store apps only. 原始碼找 haswinrt 未使用 Windows 物件分出 為了 web context

少不適合 App 環境函式 不可開新視窗 無 open moveby moveto resizeby resizeto window.close() 中止 App 例外使用 無 alert comfirm prompt Windows.UI.Popups.MessageDialog 替代 改變動線

替代 alert var md = new Windows.UI.Popups.MessageDialog('Hi'); md.showasync().then(function() { //... }); 關閉

替代 confirm var md = new Windows.UI.Popups.MessageDialog('Are you OK?'); md.commands.append(new Windows.UI.Popups.UICommand('Yes')); md.commands.append(new Windows.UI.Popups.UICommand('No')); md.showasync().then(function (cmd) { console.log(cmd.label); });

替代 prompt 無直接方案 改變動線 選項明確 Windows.UI.Popups.MessageDialog 同 confirm Flyout 控制項 無 Block UI

適應 App 環境行為改變 HTML and DOM API changes list <a > 的 href target 屬性 innerhtml document.write... 安全機制 限制載入外部 JavaScript Cross-Domain AJAX

<a > 的 href 屬性 href="../a.html" href="/b.html" App 內相對路徑 絕對路徑 href="ms-appx:///c.html" App 內絕對路徑 3 條斜線

為什麼 3 條斜線 <a href="ms-appx://a3001e40-c3bf-4ae9-b71 3-da500ca42135/c.html" > Package 名稱 package.appmanifest 可見 Package 名稱省略 <a href="ms-appx:///c.html" > ms-appx-web:/// ms-appdata:///

外部連結 <a href="http://bing.com" >Bing</a> 跳離 App Modern IE 開啟

<a > 的 target 屬性 target="_blank" 外部連結 有寫跟沒寫一樣 跳離 App Modern IE 開啟 App 內連結 JavaScript 錯誤 <a href="b.html" target="if" >b</a> <iframe name="if" src="a.html" ></iframe> 正常運作

innerhtml document.write... 安全機制 elm.innerhtml = '<p onclick="void(0)" >!</p>'; JavaScript 錯誤 elm.innerhtml = '</link>'; JavaScript 錯誤 elm.innerhtml = tostatichtml(' '); Safe

限制載入外部 JavaScript <script src="http://a.cc/b.js"></script> JavaScript 錯誤 檔案下載 加入 App 內 <script src="js/b.js"></script>

Cross-Domain AJAX XMLHttpRequest Cross-Domain WinJS.xhr XMLHttpRequest Cross-Domain App 內檔案 WinJS.xhr({ url : 'a.txt' }).then(function() { // });

MSApp 物件 額外審查 都不是好東西 WinJS 原始碼找 Unsafe MSApp.execUnsafeLocalFunction

MSApp.execUnsafeLocalFunction innerhtml document.write... 安全機制 elm.innerhtml = '<p onclick="void(0)" >!</p>'; JavaScript 錯誤 Pass MSApp.execUnsafeLocalFunction(function() { elm.innerhtml = '<p onclick="void(0)" >!</p>'; });

App 中顯示外部網頁 <a href="http://bing.com" >Bing</a> 外部連結 跳離 App Modern IE 開啟 外部網頁 <iframe src="http://bing.com" ></iframe> iframe 內 local context 外 web context App 內網頁 <iframe src="a.html" ></iframe> iframe 內外 local context

web context 與 Windows Store App 外幾乎相同 無 Windows 物件 WinJS 原始碼找 haswinrt WinJS 部分可用 無 innerhtml document.write... 安全機制 不限制載入外部 JavaScript AJAX 不可 Cross-Domain

web context App 內網頁 web context 載入 <iframe src="ms-appx-web:///a.html" ></iframe> local context web context 溝通 HTML5 postmessage()

Windows Store App 用 jquery <script src="http://code.jquery.com/jquery.min.js" ></script> JavaScript 錯誤 限制載入外部 JavaScript 檔案下載 加入 App 內 <script src="js/jquery.min.js" ></script>

Windows Store App 用 jquery App 執行 3 個 JavaScript 錯誤 jquery 初始時觸犯 innerhtml document.write... 安全機制 原始碼找 改 jquery.support = (function() {... })(); jquery.support = MSApp.execUnsafeLocalFunction(function() {... });

Windows Store App 用 jquery 待續

Windows Store App 用 Google Maps JavaScript API <script src="https://maps.googleapis.com/maps/api/js?sensor=false" ></script> 限制載入外部 JavaScript 無法檔案下載 加入 App 內 <iframe src="ms-appx-web:///map.html" ></iframe> Google Map 放 map.html 裡 web context 載入

ECMAScript 5 Windows Store App IE10 支援 WinJS 原始碼 兇 不普及原因 IE8 + Windows XP ECMAScript 5 compatibility table

ECMAScript 5 可 JavaScript 模擬 Array.prototype.forEach Object.keys 需瀏覽器底層支援 Object getter setter Object.defineProperty Strict Mode

Object getter setter var strings = { }; get on() { return WinJS.Resources._getWinJSString("ui/on").value; }, get off() { return WinJS.Resources._getWinJSString("ui/off").value; }, on off 屬性 只可讀 不可寫 var v = 1, o = { get p() { return v; }, set p(x) { v += x; } }; o.p = 2; console.log(o.p); // 3 沒有 JavaScript 錯誤

Object.defineProperty Object.defineProperty(element, "winbindingtoken", { configurable: false, writable: false, enumerable: false, } value: bindingtoken ); configurable writable enumerable 以前存在 看不到 碰不到

Strict Mode "use strict"; Visual Studio 2012 自動加上 strict 模式 (JavaScript) @ MSDN arguments.callee 不能用 block 中不可宣告函式 call apply 指定 this 行為改變 函式中 this 行為改變

arguments.callee 不能用 匿名函式中指向函式本身 遞迴呼叫 最佳化 "use strict"; JavaScript 錯 settimeout(function() { 誤 settimeout(arguments.callee, 1000); }, 1000); "use strict"; settimeout(function f() { settimeout(f, 1000); }, 1000); IE9 ( 含 ) 以下有 bug

block 中不可宣告函式 function declaration "use strict"; JavaScript 錯 if(windows) { 誤 function f() { console.log('haswinrt'); } } "use strict"; if(windows) { } 改用 function expression var f = function() { console.log('haswinrt'); }

call apply 指定 this 行為改變 "use strict"; function f() { console.log(this); } f.call(null); // null f.call(undefined); // undefined "use strict"; f.apply(null, [1, 2, 3]); 非 Strict 模式 window 使用目的為第二個參數

函式中 this 行為改變 "use strict"; f(); // undefined 非 Strict 模式 window function f() { console.log(this); } IE9 bug IE10 ( 原 ) bug

"use strict"; 能拿掉嗎 嚴謹好 事出必有因 煩 拿掉還沒碰到問題

WinJS 實踐 Promise 物件 Observable 物件 Single-page navigation

Promise 物件 Promise/A Promise/B Promise/D WinJS.Promise jquery Deferred 物件 Promise/A 不太相同

WinJS.Promise 超過 0.5 秒 非同步 吐回 Promise 物件 messagedialog.showasync() WinJS.Application.local.readText() WinJS.xhr 與 callback 相比 語意清晰

AJAX a.php -> b.php -> c.php var xhr = new XMLHttpRequest(); xhr.open('get', 'a.php', true); xhr.onreadystatechange(function(http) { if(http.readystate == 4 && http.status == 200) { xhr.open('get', 'b.php', true); xhr.onreadystatechange(function(http) { if(http.readystate == 4 && http.status == 200) { xhr.open('get', 'c.php', true); xhr.onreadystatechange(function(http) { if(http.readystate == 4 && http.status == 200) { //... } }) xhr.send(); } }) xhr.send(); } }); xhr.send();

AJAX a.php -> b.php -> c.php WinJS.xhr({ url: 'a.php' }).then(function() { return WinJS.xhr({ url: 'b.php' }); }).then(function() { return WinJS.xhr({ url: 'c.php' }); }).done(function() { /*... */ });

AJAX a.php b.php c.php 同時送出 等三者皆完成 再下一步 不用 Promise

AJAX a.php b.php c.php 同時送出 WinJS.Promise.join([ WinJS.xhr ({ url: 'a.php' }), WinJS.xhr ({ url: 'b.php' }), WinJS.xhr ({ url: 'c.php' })]).done(function() { /*... */ });

視情況 AJAX a.php 或 b.php 使用情境 例 多元登入 var xhr = XMLHttpRequest(); if(type === 'A') { xhr.open('get', 'a.php', true); xhr.onreadystatechange(function(http) { if(http.readystate == 4 && http.status == 200) { // http -> result } f(result); }); xhr.send(); } else { xhr.open('get', 'b.php', true); xhr.onreadystatechange(function(http) { if(http.readystate == 4 && http.status == 200) { // http -> result } } f(result); }); xhr.send(); function f(result) { /*... */ }

視情況 AJAX a.php 或 b.php var promise; if(type === 'A') promise = WinJS.xhr({ url : 'a.php' }).then(function(data){ /*... */ }); else promise = WinJS.xhr({ url : 'b.php' }).then(function(data) { /*... */ }); promise.done(function(result) { /*... */ });

有值直接用 沒值 AJAX a.php if(localstorage.x) f(localstorage.x); else { var xhr = XMLHttpRequest(); xhr.open('get', 'a.php', true); xhr.onreadystatechange(function(http) { if(http.readystate == 4 && http.status == 200) { // http -> result f(result); } }); xhr.send(); } function f(result) { /*... */ };

有值直接用 沒值 AJAX a.php var promise; if(localstorage.x) promise = WinJS.Promise.as(localStorage.x); else promise = WinJS.xhr({ url : 'a.php' }).then(function(data) { /*... */ }); promise.done(function(result) { /*... */ }); WinJS.Promise.as 非 Promies 轉成 Promise

自己兜 Promise 物件 var promise = new WinJS.Promise(function(complete, error, progress) { settimeout(function() { //... complete('demo'); }, 3000); }); Promise 內部 callback 實作 參考 WinJS.xhr 原始碼

setpromise app.onready = function (ev) { ev.detail.setpromise( WinJS.Application.roaming.writeText("time.txt", new Date()) ); }; 待 Promise 執行完畢 Event 才完畢

Observable 物件 var target = document.getelementbyid('target'), a = { x : 1 }, b = WinJS.Binding.as(a); b.bind('x', function(newval, oldval) { target.innerhtml = newval; }); console.log(target.innerhtml); // 1 b.x = 2; console.log(target.innerhtml); // 2 b.x = 3; console.log(target.innerhtml); // 3

Observable 物件 ECMAScript 5 Object getter setter Observable Proxy WinJS.Binding WinJS.Binding.as WinJS.Binding.define WinJS 原始碼

Single-page navigation Quickstart: Using single-page navigation WinJS.UI.Pages WinJS.Navigation 官方建議使用 較像 App

Single-page navigation WinJS.UI.Pages.define("/pages/home/home.html", { ready : function (element, options) { WinJS.Utilities.query("a").listen("click", function(ev) { ev.preventdefault(); WinJS.Navigation.navigate(ev.target.href); }, false); } 記得寫 否則 });

Windows App Cert Kit 簡稱 WACK 或 Windows ACK App 上架前 JavaScript 特有不通過 UTF-8 檔案編碼 Bytecode 產生

UTF-8 檔案編碼 檔案開頭要有 BOM jquery 待續 官方說法 BOM 提高 15 20% 效能

Bytecode 產生 App 內 JavaScript 存為 Bytecode 不通過處理步驟 本機電腦 App 移除 組態選單 Release 專案 -> 市集 -> 建立應用程式套件 精靈 Windows App Cert Kit

Bytecode 產生

Bytecode 產生

Bytecode 產生

Bytecode 產生

立即啟動 免費開發人員帳戶!! Windows Store / Windows Azure / Windows Phone 擁有 MSDN 訂閱 取得代碼 後進行註冊 優惠內容 : http://aka.ms/startmsdn Windows Store / Windows Phone 啟用後 12 個月, 完全免費 Windows Azure 訂閱期間, 每月固定的免費使用量

Resources Connect. Share. Discusss http://www.microsoft.com/taiwan/techdays2012/ Microsoft Certification & Training Resources http://www.microsoft.com/learning/zh/tw/ Resources for IT Professionals Resources for Developers http://social.msdn.microsoft.com/forums/zh-tw/categories http://social.technet.microsoft.com/forums/zh-tw/categories / /

請協助完成 本課程問卷 並在離開 教室時交給工作人員 填妥大會背包中的大會問卷 可於活動 第三天兌換問卷禮哦 感謝您的合作