Windows Mobile 6 程式開發入門

28
1 Windows Mobile 6 程式開發入門 黃昭仁 Johnson Huang Microsoft MVP [email protected]

Transcript of Windows Mobile 6 程式開發入門

Page 1: Windows Mobile 6 程式開發入門

1

Windows Mobile 6 程式開發入門

黃昭仁 Johnson Huang

Microsoft MVP

[email protected]

Page 2: Windows Mobile 6 程式開發入門

2

議程

WM 的能耐

托管代碼的世界

進入 WM 6.5

實戰演練

Q & A

Page 3: Windows Mobile 6 程式開發入門

3

Windows Mobile 的能耐

資料庫系統應用程式

多媒體/遊戲應用程式

網際網路應用程式

LBS / POI 應用程式

Page 4: Windows Mobile 6 程式開發入門

4

怎麼可能這麼少?!(設計對白)

Page 5: Windows Mobile 6 程式開發入門

5

殺手級應用軟體

想像力就是一切,它是生命將發生之事的預覽。

─愛因斯坦

Page 6: Windows Mobile 6 程式開發入門

6

跨多種平台的應用程式

Page 7: Windows Mobile 6 程式開發入門

7

托管代碼的世界

一切都在控制之中

Page 8: Windows Mobile 6 程式開發入門

8

Windows Forms

Communications and Workflow

Fundamentals

DATA, XML and LINQ

Windows Presentation Foundation

ASP.NET

.NET CF 概觀

Page 9: Windows Mobile 6 程式開發入門

9

.NET CF v3.5 的新功能

Windows Form

Compression

SoundPlayer

LINQ (Language Integrated Query)

Windows Communication Foundation

http://msdn.microsoft.com/zh-tw/library/bb397835.aspx

Page 10: Windows Mobile 6 程式開發入門

10

站在巨人的肩膀上

WM6 Standard:22 個WinCE 6:37 個 WM6 Professional:40 個

Page 11: Windows Mobile 6 程式開發入門

11

Windows Mobile 6.5 特色

Windows Market Place for Mobile

Windows Mobile IE 6.0

更好的使用者操作介面

提供 Gesture API

Page 12: Windows Mobile 6 程式開發入門

12

WM 6.5 模擬器

Page 13: Windows Mobile 6 程式開發入門

13

Managed CodeVisual C#

Visual Basic .NET

Native CodeVisual C++

WidgetHTML / DHTML

AJAX / CSS

JAVAJ2ME

WM 6.5 軟體開發管道

允許 Marketplace下載到 Windows 後透過

Activesync安裝

只允許透過 Marketplace

下載安裝

Marketplace 目前不支援

Page 14: Windows Mobile 6 程式開發入門

14

Widget 應用程式開發

Page 15: Windows Mobile 6 程式開發入門

15

科學的全部不過就是日常思考的提煉。

─愛因斯坦

實戰演練

Page 16: Windows Mobile 6 程式開發入門

16

資料庫應用

.NET CF 提供了System.Data.SqlClient

System.Data.SqlServerCe

System.Data

System.Data.Common

System.Xml

System.Xml.Linq

Page 17: Windows Mobile 6 程式開發入門

17

開發資料庫應用程式

Page 18: Windows Mobile 6 程式開發入門

18

網際網路應用

.NET CF 提供了System.Net

System.Net.Sockets

System.Web.Services

System.Web.Services.Protocols

System.Web.Services.Description

Page 19: Windows Mobile 6 程式開發入門

19

開發“必應”應用程式

Page 20: Windows Mobile 6 程式開發入門

20

我們家的CF厲害吧?!(設計對白)

Page 21: Windows Mobile 6 程式開發入門

21

.NET CF 的秘密武器

.NET CF 提供了System.Runtime.InteropServices

Managed Code

Source

Common language

runtime

Assembly

Metadata

IL CodeDLL Functions Compiler

托管代碼原生代碼

P/Invoke

Page 22: Windows Mobile 6 程式開發入門

22

Cross-Reference Data Types

.NET CF Type Size (Bytes) C# Alias

Visual Basic Alias

Passed by-Value Type

Passed by-Reference

Type Valid as a

Return Value?

Boolean 1 bool Boolean BYTE BYTE * Yes

Byte 1 byte Byte BYTE BYTE * Yes

SByte 1 sbyte unsupported

CHAR CHAR * Yes

Char 2 char Char WCHAR WCHAR * Yes

Int16 2 short Short SHORT SHORT * Yes

UInt16 2 ushort unsupported

UINT16 UINT16 * Yes

Int32 4 int Integer INT32 INT32 * Yes

UInt32 4 uint unsupported

UINT32 UINT32 * Yes

IntPtr 4 N/A unsupported

HANDLE HANDLE * Yes

Single 4 float Single unsupported FLOAT * No

Int64 8 long Long unsupported INT64 * No

UInt64 8 ulong unsupported

unsupported UINT64 * No

Double 8 double Double unsupported DOUBLE * No

String Varies string String WCHAR * unsupported No

Decimal 12 decimal Decimal unsupported unsupported No

Page 23: Windows Mobile 6 程式開發入門

23

托管/非托管開發比較 cont.

Native 應用程式開發 Managed 應用程式開發

優點: 優點:

1. 開發好的應用程式執行效率佳

2. 開發好的應用程式體積小

3. 可以發揮裝置最大的功能

4. 適合進行 COM 程式設計

5. 適合開發裝置驅動程式

6. 適合開發 plug-ins 和 shell extension 之類的應用程式

7. 可以開發所有的 Windows CE 裝置平台的應用程式

1. 學習曲線短

2. 開發好的應用程式可以在具有.NET 平台的行動裝置上執行

3. 類別庫功能豐富

4. 通訊功能支援完整

5. 資料庫功能支援完整

Page 24: Windows Mobile 6 程式開發入門

24

托管/非托管開發比較

Native 應用程式開發 Managed 應用程式開發

缺點: 缺點:1. 記憶體處理不當容易發生記憶體漏

洞 (Memory leak)

2. 學習曲線長

1. 不適合即時 (real time) 應用程式設計

2. 行動裝置平台並未包裝.NET提供的所有功能

3. 只能開發特定行動裝置相容性較有問題

特性: 特性:1. 使用語言:C/C++

2. 編譯成指定CPU 的二進位碼

1. 使用語言:C++(PC only)、C# 和Visual Basic

2. 編譯成 Microsoft 中間碼 (MSIL)

Page 25: Windows Mobile 6 程式開發入門

25

開發 16 連拍應用程式

Page 26: Windows Mobile 6 程式開發入門

26

謝謝!

好書推薦WINDOWS EMBEDDED CE 6.0 程式開發經典 4th

Page 27: Windows Mobile 6 程式開發入門

27

開發人員最好的朋友

MSDNhttp://msdn.microsoft.com

MSDN Forumshttp://social.msdn.microsoft.com/Forums/en-US/category/smartdevicedevelopment

Windows Mobile Developerhttp://developer.windowsmobile.com/

Windows Mobile Team Bloghttp://blogs.msdn.com/windowsmobile/

Page 28: Windows Mobile 6 程式開發入門

28

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.