SlideShare une entreprise Scribd logo
1  sur  41
Introduction to
Windows Embedded Handheld
programming
Catalin Gheorghiu
Solution Architect
I Computer Solutions
New Product Families
Pocket PC
Smartphone
Pocket PC Phone Edition
Windows Mobile 6 .1 Classic
Windows Mobile 6 .1 Standard
Windows Mobile 6 .1 Professional
Microsoft Windows Mobile 5.0 Microsoft Windows Mobile 6.1
http://www.microsoft.com/windowsmobile/en-
us/meet/version-compare.mspx
New Naming Conventions
Windows Mobile Standard
(aka – Smartphone)
Non-touch platform designed for one handed
use (I do not agree with this)
• Both are great options for
Mobile Messaging
Windows Mobile Professional
(aka – Pocket PC)
Touch screen - enabled for flexible input
ModularityandFlexibilityNew Product Family
Standard Pro Classic
Platform
Basic platform and applications, including:
Microsoft Office Outlook Mobile
Internet Explorer Mobile
Media Player Mobile
ActiveSync
Touch screen UI
Windows Mobile Update
Windows Mobile Marketplace
IP Telephony
Applications
Office Mobile
Window Live Mobile
Voice Command 1.6
Remote Desktop Mobile
Windows Mobile Device Choice
Windows Mobile 6 Devices
• Based on Windows Embedded CE and
supports the .NET Compact Framework
• Windows Mobile 6 devices include more
software in ROM
– .NET Compact Framework 2.0 SP1
– SQL Server 2005 Compact Edition 3.1
– AJAX application capabilities
• Windows Communication Foundation support (over
email)
• Support for LINQ (XML, Objects and Dataset)
• New Tool - CLR Profiler
• Compression Support
• Client side certificates
• Sound APIs 
• Windows Forms enhancements
• Managed debugger fixes
.NET Compact Framework 3.5
Addressing key developer issues
.NET Compact Framework
~30% of the surface area in ~10% of the size
CopyGround-up rewrite Snapshot & Modify
System.Windows.
Forms
System.Net
System.IO
System.Resources
System.Threading
System.Xml
System.Data
System.Messaging
System.Text.
RegularExpressions
Microsoft.VisualBasic
System.ServiceModel
System.Collections
System.Collections.
Generic
System.Cryptography
System.IO.Ports
System.String
System.Text
System.Globalization
Microsoft.Win32.
Registry
System.Web.Services
System.Drawing
Microsoft.DirectX.
Direct3DMobile
Execution Engine,
JIT, GC, Loader,
Assembly Cache
Microsoft.
ServiceModel.
Channels.
MailTransport
~90%
scope of
.NET
Framework
• Unit testing support for managed device applications
• Same experience as unit testing for desktop
applications
• Integrates seamlessly with Team System and Team
Foundation Server
• Lets you easily test your application across various
device configurations
• Support for Test Execution from Command Line
Unit Testing for Devices
• Device security configuration
– Understand and manage device security settings
– Export security setting
– Create custom security setting
• Manage certificates on the device
– View certificates on the device
– Add or remove certificates to/from the device
Security Aware IDE
• Build on top of existing core connectivity
framework
• Internally used by our own tools (e.g., unit
testing)
• Makes it easy to build your own remote tools
• Add reference to:
– Microsoft.Smartdevice.Connectivity.dll
Managed Core Connectivity Framework
• Enhancements
–Automation support
–Access to interfaces via Visual Basic Script
–Made it easy to add custom images in the
Device Emulator Manager
–XML config file to configure emulator
instances
Device Emulator 3.0
Lend Me Your Ear…
Private /
Public
APIs
Lifecycle &
Ecosystem
Persistent
Storage
Virtual
Memory
InstallDisplayPower
Code
Signing
Perf!
Security
Policies
• Platform updates driven by mobile ecosystem
• Updates are aligned with OEM
• Support is a partnership between Microsoft, OEM,
and Mobile Operator
Lifecycle and Ecosystem
Mobile Operator
OEM/ODM
Microsoft
Mobile UI Challenges
• Screen
– Size, orientation, resolution, layout
• Input
– SIP, keyboard, dedicated buttons, stylus
• User Interaction
– Standing up on a moving bus
• Understand System.Windows.Forms
– Compactness
– Form and Control classes
• Windows Mobile 2003 SE changed everything
o VGA, Square Screen, Landscape…
• CE Subsystem 4.21 and higher are aware; 4.20 and
lower use emulation layer.
– HI_RES_AWARE resource can override
– Emulation is practical—not beautiful
Display Assumptions - history
• Apps that “assume” anything about the screen size of
a device will have problems
– Are you ready for high-res, square screen,
and landscape?
• Video frame buffers may be non-linear
(direct access)
• Emulation may mask some issues
Display Assumptions
• Don’t assume anything
• Test on different devices/emulators
• Upgrading to .NET Compact Framework 2.0 in Visual Studio
2005 makes you aware by default:
this.AutoScaleDimensions = new System.Drawing.SizeF(96F,
96F);
this.AutoScaleMode =
System.Windows.Forms.AutoScaleMode.Dpi;
• Take advantage or docking and anchoring and state info
(DisplayRotation) for simple needs
Display Assumptions - tips
Screen Layout
• Do not try to create non-full screen forms
• Top strip
• Main Area
• Bottom strip
Screen to Form
• Top strip
– Don’t hide the title bar
– Use the same title in owned forms
• Bottom strip
– Don’t use a toolbar control
– Don’t use more than two menus
– Don’t hide the bottom strip
• Main Area
– Place tappable controls near the bottom
– TextBoxes or anything requiring the SIP, near the top
Form Basics
• Startup
• Hiding vs. Closing
• Form Navigation
• Application Termination
– By User
– By platform (!)
• Application.Run
• MinimizeBox
• Show vs. ShowDialog
• Remote Process Viewer
• Running Programs List
• MobileDevice.Hibernate
Screen-Aware
• Size
• Orientation
• Resolution
• UI design per form factor
– What platform am I on?
• Patterns & Practices
– Mobile Client Software
Factory/Mobile Application Blocks
http://www.codeplex.com/smartclient /
http://mobile.codeplex.com/
Orientation-Aware control
Demo – Form Basics
• Lifecycle of a
form (& app)
plus navigation
Handling Input• Keyboard
• SIP
– Respond to Show/Hide
• Dedicated Buttons
• Stylus or Finger
– Tap
– Tap and Hold
• Typically for context menus
• Don’t use this!
• InputPanel
• HardwareButton
• Tap events
• Click, MouseDown, MouseMove,
MouseUp
Single-Handed Operation
• Design your app so it can be keyboard driven
– Soft keys, D-Pad
– Automatically, you are in a good place for
Smartphone
• Besides previous advice...
– ...make it finger driven
Learn from Smartphone Model
• Entirely Keyboard driven
– D-Pad (Left, Right, Up, Down, Enter)
– Good use of Soft Keys are crucial
• Controls are stacked
– Label, LinkLabel, CheckBox, ComboBox, TextBox,
DateTimePicker
– TabIndex, TabStop
• ...or full screen
– ListView, TreeView, DataGrid
Definitions
(thanks Wikipedia  )
GPS is a satellite navigation systems that
provide autonomous geo-spatial positioning
with global coverage (one of …) thus allows
electronic receivers to determine their
location (longitude, latitude, and altitude) to
within a few meters using time signals
transmitted along a line of sight by radio
from satellites.
Take Care: Time is accurate but not corrected!
NMEA 0183 (NMEA for short) is a combined
electrical and data specification for communication
between marine electronic devices such as echo
sounder, sonars, anemometer, gyrocompass,
autopilot, GPS receivers and many other. It has
been defined by, and is controlled by, the U.S.-
based National Marine Electronics Association.
The standard uses a simple ASCII, serial
communications protocol that defines how data
is transmitted in a "sentence" from one "talker" to
one "listener" at a time.
Windows Mobile & GPS
GPS Intermediate Driver provides an
intermediate layer that abstracts the actual
GPS device from application developers.
This intermediate layer also abstracts
applications from GPS device
manufacturers. Ideally, this enables
application developers to write code that
works with any GPS hardware, and GPS
device manufacturers to produce hardware
that works with any application.
FakeGPS (what is, install etc)
• Fakes data received by the GPS APIs
– C:Program FilesWindows Mobile 6 SDKToolsGPS
• Reads NMEA data
– from Program FilesFakeGPSGPSFiles
Or you can do it the hard way:
http://www.bbits.co.uk/blog/archive/2006/07/14/12027.aspx
Windows Mobile & GPS
Programming
Did you know that you have all in SDK?
Out of the box and ready to use:
C:Program FilesWindows Mobile 6
SDKSamplesPocketPCCSGPS
GPS Sample Classes (http://msdn.microsoft.com/en-us/library/ms881362.aspx)
•Gps: The interface to the managed GPS API. use this
class to open, close, and query the device state, and to
query the position data from your GPS hardware.
•GpsPosition: Contains the GPS position data received
from the GPS hardware.
•GpsDevice: Contains the GPS device state data
received from the GPS hardware.
•Utils: Native memory allocation utilities.
Windows Communication Foundation
Store and Forward Messaging
Server
Exchange 2007
Exchange
Web
Services
Datacenter
within the
company
Corporate
Wi-Fi
network
Mobile
operator
network
The WCF subset supported by NetCF
Feature Desktop WCF Compact WCF
Bindings:
· BasicHttpBinding Yes Yes
· CustomBinding Yes Yes
· WindowsMobileMailBinding N/A Yes
· ExchangeWebServiceMailBinding Yes, via NetCF install Yes
Formatters:
· SoapFormatter Yes Yes
· BinaryFormatter Yes No
Encoders:
· TextMessageEncoder Yes Yes
· BinaryMessageEncodingBindingElement Yes No
· MTOMEncoder Yes No
· GzipEncoder Sample available Sample available
The WCF subset supported by NetCF cont
Feature Desktop WCF Compact WCF
Transports:
· HttpTransportBindingElement Yes Yes
· HttpsTransportBindingElement Yes Yes
· MailTransportBindingElement Yes, via NetCF install Yes
· MsmqTransportBindingElement Yes No
· TcpTransportBindingElement Yes No
· (other transports) Yes No
XmlDictionaryReader/Writer Yes
Yes; stub around
XmlTextReader/Writer
DataContractSerializer Yes
No; but can be wire-compatible with
DCS via XmlSerializer
Service proxy generation Yes; via SvcUtil.exe
Yes; via NetCFSvcUtil.exe, not
integrated into VS2008
· Non-HTTP transports in generated proxies Yes Not built-in
· Custom headers in generated proxies Yes Not built-in
The WCF subset supported by NetCF cont
Feature Desktop WCF Compact WCF
WS-Addressing Yes Yes
WS-Security message level security
· X.509 Yes Yes
· Username/password Yes No
· SecurityAlgorithmSuite.Basic256Rsa15 Yes Yes
· SecurityAlgorithmSuite.Basic256 Yes No
WS-ReliableMessaging Yes No
Patterns
· Service model Yes No
· Message layer programming Yes Yes
· Buffered messages Yes Yes
· Streaming messages Yes No
· Endpoint descriptions in .config files Yes No
Channel extensibility Yes Yes
Security channel extensibility Yes No
Source: http://blogs.msdn.com/andrewarnottms/archive/2007/08/21/The-WCF-
subset-supported-by-NetCF.aspx
• Mobile Application Blocks
http://mobile.codeplex.com/
• Power Toys for .NET Compact Framework 3.5
http://www.microsoft.com/download/en/details.asp
x?displaylang=en&id=13442
• NetCFSvcUtil
http://download.microsoft.com/download/6/2/0/62
05ED05-E435-44FC-AA82-
B763CA5F8B1A/NetCFSvcUtil.exe
• http://ronua.ro/CS/blogs/catalin/default.aspx
Tools&Resources
Demo(s)
Q&A
Thank you for your attention.
Contact:
•My Blog
http://ronua.ro/CS/blogs/catalin/
default.aspx
•My Email
catalin.gheorghiu@ronua.ro

Contenu connexe

Tendances

E430 e530 data_sheet_anz
E430 e530 data_sheet_anzE430 e530 data_sheet_anz
E430 e530 data_sheet_anzHendy Sadikin
 
Accelerate Your Game Development on Android*
Accelerate Your Game Development on Android*Accelerate Your Game Development on Android*
Accelerate Your Game Development on Android*Intel® Software
 
시크 SICK Lector63x 2D DPM스캐너 고정식바코드스캐너 산업용바코드리더 이미지스캐너 매뉴얼
시크 SICK Lector63x 2D DPM스캐너 고정식바코드스캐너 산업용바코드리더 이미지스캐너 매뉴얼시크 SICK Lector63x 2D DPM스캐너 고정식바코드스캐너 산업용바코드리더 이미지스캐너 매뉴얼
시크 SICK Lector63x 2D DPM스캐너 고정식바코드스캐너 산업용바코드리더 이미지스캐너 매뉴얼HION IT
 
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...christopherfairbairn
 
android vs symbian
android  vs symbianandroid  vs symbian
android vs symbianAJAL A J
 
What is direct X ?
What is direct X ?What is direct X ?
What is direct X ?Mukul Kumar
 
What is direct X ?
What is direct X ?What is direct X ?
What is direct X ?Mukul Kumar
 
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8Microsoft Mobile Developer
 
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesOperating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesFatih Özlü
 
Lenovo Consumer MSI
Lenovo Consumer MSILenovo Consumer MSI
Lenovo Consumer MSIguest9f2a14
 

Tendances (19)

E430 e530 data_sheet_anz
E430 e530 data_sheet_anzE430 e530 data_sheet_anz
E430 e530 data_sheet_anz
 
Accelerate Your Game Development on Android*
Accelerate Your Game Development on Android*Accelerate Your Game Development on Android*
Accelerate Your Game Development on Android*
 
X230 brochure
X230 brochureX230 brochure
X230 brochure
 
시크 SICK Lector63x 2D DPM스캐너 고정식바코드스캐너 산업용바코드리더 이미지스캐너 매뉴얼
시크 SICK Lector63x 2D DPM스캐너 고정식바코드스캐너 산업용바코드리더 이미지스캐너 매뉴얼시크 SICK Lector63x 2D DPM스캐너 고정식바코드스캐너 산업용바코드리더 이미지스캐너 매뉴얼
시크 SICK Lector63x 2D DPM스캐너 고정식바코드스캐너 산업용바코드리더 이미지스캐너 매뉴얼
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Chapter # 1
Chapter # 1Chapter # 1
Chapter # 1
 
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
 
What’s new and improved in SP1 for the System Center 2012 suite
What’s new and improved in SP1 for the System Center 2012 suiteWhat’s new and improved in SP1 for the System Center 2012 suite
What’s new and improved in SP1 for the System Center 2012 suite
 
What is operating system
What is operating systemWhat is operating system
What is operating system
 
android vs symbian
android  vs symbianandroid  vs symbian
android vs symbian
 
What is direct X ?
What is direct X ?What is direct X ?
What is direct X ?
 
What is direct X ?
What is direct X ?What is direct X ?
What is direct X ?
 
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
 
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesOperating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
 
Direct X
Direct XDirect X
Direct X
 
edited doc
edited docedited doc
edited doc
 
RAD in Action: FireUI
RAD in Action: FireUIRAD in Action: FireUI
RAD in Action: FireUI
 
Lenovo Consumer MSI
Lenovo Consumer MSILenovo Consumer MSI
Lenovo Consumer MSI
 
notes about Arduino
notes about Arduinonotes about Arduino
notes about Arduino
 

Similaire à Introduction to Windows Embedded Handless programming

Iasi 15 noiembrie 2009 Introduction to Windows Mobile programming
Iasi  15 noiembrie 2009   Introduction to Windows Mobile programmingIasi  15 noiembrie 2009   Introduction to Windows Mobile programming
Iasi 15 noiembrie 2009 Introduction to Windows Mobile programmingCatalin Gheorghiu
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxdebasish duarah
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerEran Kinsbrunner
 
Introduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptxIntroduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptxaparna14patil
 
Lesson 2 - Understanding Operating System Configurations
Lesson 2 - Understanding Operating System ConfigurationsLesson 2 - Understanding Operating System Configurations
Lesson 2 - Understanding Operating System ConfigurationsGene Carboni
 
Presentation technical deep dive of horizon 6 and mirage 5
Presentation   technical deep dive of horizon 6 and mirage 5Presentation   technical deep dive of horizon 6 and mirage 5
Presentation technical deep dive of horizon 6 and mirage 5solarisyougood
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Crossware-Introduction_AmitDhagat-reduced.pdf
Crossware-Introduction_AmitDhagat-reduced.pdfCrossware-Introduction_AmitDhagat-reduced.pdf
Crossware-Introduction_AmitDhagat-reduced.pdfv89wytwpyn
 
Microsoft System center Configuration manager 2012 sp1
Microsoft System center Configuration manager 2012 sp1Microsoft System center Configuration manager 2012 sp1
Microsoft System center Configuration manager 2012 sp1solarisyougood
 
ITPROCEED_WorkplaceMobility_Windows 10 in the enterprise
ITPROCEED_WorkplaceMobility_Windows 10 in the enterpriseITPROCEED_WorkplaceMobility_Windows 10 in the enterprise
ITPROCEED_WorkplaceMobility_Windows 10 in the enterpriseITProceed
 
3 App Compat Win7
3 App Compat Win73 App Compat Win7
3 App Compat Win7llangit
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
Windows Mobile 7 Development
Windows Mobile 7 DevelopmentWindows Mobile 7 Development
Windows Mobile 7 Developmentpranavaa
 
Unitronics catalogue 2015
Unitronics catalogue 2015Unitronics catalogue 2015
Unitronics catalogue 2015mirosabev
 

Similaire à Introduction to Windows Embedded Handless programming (20)

Iasi 15 noiembrie 2009 Introduction to Windows Mobile programming
Iasi  15 noiembrie 2009   Introduction to Windows Mobile programmingIasi  15 noiembrie 2009   Introduction to Windows Mobile programming
Iasi 15 noiembrie 2009 Introduction to Windows Mobile programming
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptx
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbruner
 
Google android os
Google android osGoogle android os
Google android os
 
Introduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptxIntroduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptx
 
Android zensar
Android zensarAndroid zensar
Android zensar
 
Lesson 2 - Understanding Operating System Configurations
Lesson 2 - Understanding Operating System ConfigurationsLesson 2 - Understanding Operating System Configurations
Lesson 2 - Understanding Operating System Configurations
 
Presentation technical deep dive of horizon 6 and mirage 5
Presentation   technical deep dive of horizon 6 and mirage 5Presentation   technical deep dive of horizon 6 and mirage 5
Presentation technical deep dive of horizon 6 and mirage 5
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Google android os
Google android osGoogle android os
Google android os
 
Crossware-Introduction_AmitDhagat-reduced.pdf
Crossware-Introduction_AmitDhagat-reduced.pdfCrossware-Introduction_AmitDhagat-reduced.pdf
Crossware-Introduction_AmitDhagat-reduced.pdf
 
Microsoft System center Configuration manager 2012 sp1
Microsoft System center Configuration manager 2012 sp1Microsoft System center Configuration manager 2012 sp1
Microsoft System center Configuration manager 2012 sp1
 
ITPROCEED_WorkplaceMobility_Windows 10 in the enterprise
ITPROCEED_WorkplaceMobility_Windows 10 in the enterpriseITPROCEED_WorkplaceMobility_Windows 10 in the enterprise
ITPROCEED_WorkplaceMobility_Windows 10 in the enterprise
 
CS8601 MOBILE COMPUTING
CS8601 MOBILE COMPUTING CS8601 MOBILE COMPUTING
CS8601 MOBILE COMPUTING
 
3 App Compat Win7
3 App Compat Win73 App Compat Win7
3 App Compat Win7
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Windows Mobile
Windows MobileWindows Mobile
Windows Mobile
 
Windows Mobile 7 Development
Windows Mobile 7 DevelopmentWindows Mobile 7 Development
Windows Mobile 7 Development
 
Unitronics catalogue 2015
Unitronics catalogue 2015Unitronics catalogue 2015
Unitronics catalogue 2015
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 

Plus de Catalin Gheorghiu

MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...Catalin Gheorghiu
 
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...Catalin Gheorghiu
 
Microsoft Summit 2014 Bucharest - Internet of Things - Device Side
Microsoft Summit 2014 Bucharest - Internet of Things - Device SideMicrosoft Summit 2014 Bucharest - Internet of Things - Device Side
Microsoft Summit 2014 Bucharest - Internet of Things - Device SideCatalin Gheorghiu
 
SQLSaturday #311 Sofia - Databases for mobile
SQLSaturday #311 Sofia - Databases for mobile SQLSaturday #311 Sofia - Databases for mobile
SQLSaturday #311 Sofia - Databases for mobile Catalin Gheorghiu
 
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...Catalin Gheorghiu
 
TiMo 20 - January 2014 Windows Embedded 8 Handheld
TiMo 20 - January 2014 Windows Embedded 8 HandheldTiMo 20 - January 2014 Windows Embedded 8 Handheld
TiMo 20 - January 2014 Windows Embedded 8 HandheldCatalin Gheorghiu
 
NetWork 4 - Windows Embedded 8 Handheld
NetWork 4 -  Windows Embedded 8 HandheldNetWork 4 -  Windows Embedded 8 Handheld
NetWork 4 - Windows Embedded 8 HandheldCatalin Gheorghiu
 
Tarabica 14 - Windows Embedded 8 Handheld
Tarabica 14 - Windows Embedded 8 HandheldTarabica 14 - Windows Embedded 8 Handheld
Tarabica 14 - Windows Embedded 8 HandheldCatalin Gheorghiu
 
RONUA Roadshow fall 2013 - Mobile medley
RONUA Roadshow fall 2013 -  Mobile medleyRONUA Roadshow fall 2013 -  Mobile medley
RONUA Roadshow fall 2013 - Mobile medleyCatalin Gheorghiu
 
NetWork 3 - HealthVault at work
NetWork 3 - HealthVault at workNetWork 3 - HealthVault at work
NetWork 3 - HealthVault at workCatalin Gheorghiu
 
Windows Phone Week 2013 - NFC & Windows (Phone) 8
Windows Phone Week 2013 - NFC & Windows (Phone) 8Windows Phone Week 2013 - NFC & Windows (Phone) 8
Windows Phone Week 2013 - NFC & Windows (Phone) 8Catalin Gheorghiu
 
NetWork 2 - Barkode za nase aplikacije
NetWork 2 - Barkode za nase aplikacijeNetWork 2 - Barkode za nase aplikacije
NetWork 2 - Barkode za nase aplikacijeCatalin Gheorghiu
 
Mobile Monday Developer Summit 2012 - Introduction to HealthVault
Mobile Monday Developer Summit 2012 - Introduction to HealthVaultMobile Monday Developer Summit 2012 - Introduction to HealthVault
Mobile Monday Developer Summit 2012 - Introduction to HealthVaultCatalin Gheorghiu
 
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...Catalin Gheorghiu
 
Kulendayz 2012 Windows Phone is around the corner What now?
Kulendayz 2012   Windows Phone is around the corner What now?Kulendayz 2012   Windows Phone is around the corner What now?
Kulendayz 2012 Windows Phone is around the corner What now?Catalin Gheorghiu
 
AISEC 12 april 2012 WP 7.1.1
AISEC 12 april 2012  WP 7.1.1AISEC 12 april 2012  WP 7.1.1
AISEC 12 april 2012 WP 7.1.1Catalin Gheorghiu
 
Sinergija 12 Windows Phone is around the corned
Sinergija 12   Windows Phone is around the cornedSinergija 12   Windows Phone is around the corned
Sinergija 12 Windows Phone is around the cornedCatalin Gheorghiu
 
Sinergija 11 Microsoft Tag is not just for advertising!
Sinergija 11   Microsoft Tag is not just for advertising!Sinergija 11   Microsoft Tag is not just for advertising!
Sinergija 11 Microsoft Tag is not just for advertising!Catalin Gheorghiu
 
Sinergija 11 Introduction to HealthVault
Sinergija 11   Introduction to HealthVaultSinergija 11   Introduction to HealthVault
Sinergija 11 Introduction to HealthVaultCatalin Gheorghiu
 
momo 19 december 2011 Modern 2d Barcodes from microsoft and 5 minutes of WP...
momo 19 december 2011   Modern 2d Barcodes from microsoft and 5 minutes of WP...momo 19 december 2011   Modern 2d Barcodes from microsoft and 5 minutes of WP...
momo 19 december 2011 Modern 2d Barcodes from microsoft and 5 minutes of WP...Catalin Gheorghiu
 

Plus de Catalin Gheorghiu (20)

MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
MSNetwork 5 - Programiranje Windows small IoT uređaja (ARM and x86, diverse h...
 
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
WinDays XV - Programming Windows small IoT devices (ARM and x86, diverse hard...
 
Microsoft Summit 2014 Bucharest - Internet of Things - Device Side
Microsoft Summit 2014 Bucharest - Internet of Things - Device SideMicrosoft Summit 2014 Bucharest - Internet of Things - Device Side
Microsoft Summit 2014 Bucharest - Internet of Things - Device Side
 
SQLSaturday #311 Sofia - Databases for mobile
SQLSaturday #311 Sofia - Databases for mobile SQLSaturday #311 Sofia - Databases for mobile
SQLSaturday #311 Sofia - Databases for mobile
 
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
NFC for Windows Phone Developers, Microsoft MVP & Community Day, 18 June Mosc...
 
TiMo 20 - January 2014 Windows Embedded 8 Handheld
TiMo 20 - January 2014 Windows Embedded 8 HandheldTiMo 20 - January 2014 Windows Embedded 8 Handheld
TiMo 20 - January 2014 Windows Embedded 8 Handheld
 
NetWork 4 - Windows Embedded 8 Handheld
NetWork 4 -  Windows Embedded 8 HandheldNetWork 4 -  Windows Embedded 8 Handheld
NetWork 4 - Windows Embedded 8 Handheld
 
Tarabica 14 - Windows Embedded 8 Handheld
Tarabica 14 - Windows Embedded 8 HandheldTarabica 14 - Windows Embedded 8 Handheld
Tarabica 14 - Windows Embedded 8 Handheld
 
RONUA Roadshow fall 2013 - Mobile medley
RONUA Roadshow fall 2013 -  Mobile medleyRONUA Roadshow fall 2013 -  Mobile medley
RONUA Roadshow fall 2013 - Mobile medley
 
NetWork 3 - HealthVault at work
NetWork 3 - HealthVault at workNetWork 3 - HealthVault at work
NetWork 3 - HealthVault at work
 
Windows Phone Week 2013 - NFC & Windows (Phone) 8
Windows Phone Week 2013 - NFC & Windows (Phone) 8Windows Phone Week 2013 - NFC & Windows (Phone) 8
Windows Phone Week 2013 - NFC & Windows (Phone) 8
 
NetWork 2 - Barkode za nase aplikacije
NetWork 2 - Barkode za nase aplikacijeNetWork 2 - Barkode za nase aplikacije
NetWork 2 - Barkode za nase aplikacije
 
Mobile Monday Developer Summit 2012 - Introduction to HealthVault
Mobile Monday Developer Summit 2012 - Introduction to HealthVaultMobile Monday Developer Summit 2012 - Introduction to HealthVault
Mobile Monday Developer Summit 2012 - Introduction to HealthVault
 
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
Mkdotnet Codecamp 2012 - Microsoft Tag applications or “barcodes” in our appl...
 
Kulendayz 2012 Windows Phone is around the corner What now?
Kulendayz 2012   Windows Phone is around the corner What now?Kulendayz 2012   Windows Phone is around the corner What now?
Kulendayz 2012 Windows Phone is around the corner What now?
 
AISEC 12 april 2012 WP 7.1.1
AISEC 12 april 2012  WP 7.1.1AISEC 12 april 2012  WP 7.1.1
AISEC 12 april 2012 WP 7.1.1
 
Sinergija 12 Windows Phone is around the corned
Sinergija 12   Windows Phone is around the cornedSinergija 12   Windows Phone is around the corned
Sinergija 12 Windows Phone is around the corned
 
Sinergija 11 Microsoft Tag is not just for advertising!
Sinergija 11   Microsoft Tag is not just for advertising!Sinergija 11   Microsoft Tag is not just for advertising!
Sinergija 11 Microsoft Tag is not just for advertising!
 
Sinergija 11 Introduction to HealthVault
Sinergija 11   Introduction to HealthVaultSinergija 11   Introduction to HealthVault
Sinergija 11 Introduction to HealthVault
 
momo 19 december 2011 Modern 2d Barcodes from microsoft and 5 minutes of WP...
momo 19 december 2011   Modern 2d Barcodes from microsoft and 5 minutes of WP...momo 19 december 2011   Modern 2d Barcodes from microsoft and 5 minutes of WP...
momo 19 december 2011 Modern 2d Barcodes from microsoft and 5 minutes of WP...
 

Dernier

BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRnishacall1
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPsychicRuben LoveSpells
 

Dernier (7)

BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 

Introduction to Windows Embedded Handless programming

  • 1. Introduction to Windows Embedded Handheld programming Catalin Gheorghiu Solution Architect I Computer Solutions
  • 2. New Product Families Pocket PC Smartphone Pocket PC Phone Edition Windows Mobile 6 .1 Classic Windows Mobile 6 .1 Standard Windows Mobile 6 .1 Professional Microsoft Windows Mobile 5.0 Microsoft Windows Mobile 6.1 http://www.microsoft.com/windowsmobile/en- us/meet/version-compare.mspx
  • 3. New Naming Conventions Windows Mobile Standard (aka – Smartphone) Non-touch platform designed for one handed use (I do not agree with this) • Both are great options for Mobile Messaging Windows Mobile Professional (aka – Pocket PC) Touch screen - enabled for flexible input
  • 4. ModularityandFlexibilityNew Product Family Standard Pro Classic Platform Basic platform and applications, including: Microsoft Office Outlook Mobile Internet Explorer Mobile Media Player Mobile ActiveSync Touch screen UI Windows Mobile Update Windows Mobile Marketplace IP Telephony Applications Office Mobile Window Live Mobile Voice Command 1.6 Remote Desktop Mobile
  • 6. Windows Mobile 6 Devices • Based on Windows Embedded CE and supports the .NET Compact Framework • Windows Mobile 6 devices include more software in ROM – .NET Compact Framework 2.0 SP1 – SQL Server 2005 Compact Edition 3.1 – AJAX application capabilities
  • 7. • Windows Communication Foundation support (over email) • Support for LINQ (XML, Objects and Dataset) • New Tool - CLR Profiler • Compression Support • Client side certificates • Sound APIs  • Windows Forms enhancements • Managed debugger fixes .NET Compact Framework 3.5 Addressing key developer issues
  • 8. .NET Compact Framework ~30% of the surface area in ~10% of the size CopyGround-up rewrite Snapshot & Modify System.Windows. Forms System.Net System.IO System.Resources System.Threading System.Xml System.Data System.Messaging System.Text. RegularExpressions Microsoft.VisualBasic System.ServiceModel System.Collections System.Collections. Generic System.Cryptography System.IO.Ports System.String System.Text System.Globalization Microsoft.Win32. Registry System.Web.Services System.Drawing Microsoft.DirectX. Direct3DMobile Execution Engine, JIT, GC, Loader, Assembly Cache Microsoft. ServiceModel. Channels. MailTransport ~90% scope of .NET Framework
  • 9. • Unit testing support for managed device applications • Same experience as unit testing for desktop applications • Integrates seamlessly with Team System and Team Foundation Server • Lets you easily test your application across various device configurations • Support for Test Execution from Command Line Unit Testing for Devices
  • 10. • Device security configuration – Understand and manage device security settings – Export security setting – Create custom security setting • Manage certificates on the device – View certificates on the device – Add or remove certificates to/from the device Security Aware IDE
  • 11. • Build on top of existing core connectivity framework • Internally used by our own tools (e.g., unit testing) • Makes it easy to build your own remote tools • Add reference to: – Microsoft.Smartdevice.Connectivity.dll Managed Core Connectivity Framework
  • 12. • Enhancements –Automation support –Access to interfaces via Visual Basic Script –Made it easy to add custom images in the Device Emulator Manager –XML config file to configure emulator instances Device Emulator 3.0
  • 13. Lend Me Your Ear… Private / Public APIs Lifecycle & Ecosystem Persistent Storage Virtual Memory InstallDisplayPower Code Signing Perf! Security Policies
  • 14. • Platform updates driven by mobile ecosystem • Updates are aligned with OEM • Support is a partnership between Microsoft, OEM, and Mobile Operator Lifecycle and Ecosystem Mobile Operator OEM/ODM Microsoft
  • 15. Mobile UI Challenges • Screen – Size, orientation, resolution, layout • Input – SIP, keyboard, dedicated buttons, stylus • User Interaction – Standing up on a moving bus • Understand System.Windows.Forms – Compactness – Form and Control classes
  • 16. • Windows Mobile 2003 SE changed everything o VGA, Square Screen, Landscape… • CE Subsystem 4.21 and higher are aware; 4.20 and lower use emulation layer. – HI_RES_AWARE resource can override – Emulation is practical—not beautiful Display Assumptions - history
  • 17. • Apps that “assume” anything about the screen size of a device will have problems – Are you ready for high-res, square screen, and landscape? • Video frame buffers may be non-linear (direct access) • Emulation may mask some issues Display Assumptions
  • 18. • Don’t assume anything • Test on different devices/emulators • Upgrading to .NET Compact Framework 2.0 in Visual Studio 2005 makes you aware by default: this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; • Take advantage or docking and anchoring and state info (DisplayRotation) for simple needs Display Assumptions - tips
  • 19. Screen Layout • Do not try to create non-full screen forms • Top strip • Main Area • Bottom strip
  • 20.
  • 21. Screen to Form • Top strip – Don’t hide the title bar – Use the same title in owned forms • Bottom strip – Don’t use a toolbar control – Don’t use more than two menus – Don’t hide the bottom strip • Main Area – Place tappable controls near the bottom – TextBoxes or anything requiring the SIP, near the top
  • 22. Form Basics • Startup • Hiding vs. Closing • Form Navigation • Application Termination – By User – By platform (!) • Application.Run • MinimizeBox • Show vs. ShowDialog • Remote Process Viewer • Running Programs List • MobileDevice.Hibernate
  • 23. Screen-Aware • Size • Orientation • Resolution • UI design per form factor – What platform am I on? • Patterns & Practices – Mobile Client Software Factory/Mobile Application Blocks http://www.codeplex.com/smartclient / http://mobile.codeplex.com/ Orientation-Aware control
  • 24.
  • 25. Demo – Form Basics • Lifecycle of a form (& app) plus navigation
  • 26. Handling Input• Keyboard • SIP – Respond to Show/Hide • Dedicated Buttons • Stylus or Finger – Tap – Tap and Hold • Typically for context menus • Don’t use this! • InputPanel • HardwareButton • Tap events • Click, MouseDown, MouseMove, MouseUp
  • 27. Single-Handed Operation • Design your app so it can be keyboard driven – Soft keys, D-Pad – Automatically, you are in a good place for Smartphone • Besides previous advice... – ...make it finger driven
  • 28. Learn from Smartphone Model • Entirely Keyboard driven – D-Pad (Left, Right, Up, Down, Enter) – Good use of Soft Keys are crucial • Controls are stacked – Label, LinkLabel, CheckBox, ComboBox, TextBox, DateTimePicker – TabIndex, TabStop • ...or full screen – ListView, TreeView, DataGrid
  • 29. Definitions (thanks Wikipedia  ) GPS is a satellite navigation systems that provide autonomous geo-spatial positioning with global coverage (one of …) thus allows electronic receivers to determine their location (longitude, latitude, and altitude) to within a few meters using time signals transmitted along a line of sight by radio from satellites. Take Care: Time is accurate but not corrected!
  • 30. NMEA 0183 (NMEA for short) is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, anemometer, gyrocompass, autopilot, GPS receivers and many other. It has been defined by, and is controlled by, the U.S.- based National Marine Electronics Association. The standard uses a simple ASCII, serial communications protocol that defines how data is transmitted in a "sentence" from one "talker" to one "listener" at a time.
  • 31. Windows Mobile & GPS GPS Intermediate Driver provides an intermediate layer that abstracts the actual GPS device from application developers. This intermediate layer also abstracts applications from GPS device manufacturers. Ideally, this enables application developers to write code that works with any GPS hardware, and GPS device manufacturers to produce hardware that works with any application.
  • 32. FakeGPS (what is, install etc) • Fakes data received by the GPS APIs – C:Program FilesWindows Mobile 6 SDKToolsGPS • Reads NMEA data – from Program FilesFakeGPSGPSFiles Or you can do it the hard way: http://www.bbits.co.uk/blog/archive/2006/07/14/12027.aspx
  • 33. Windows Mobile & GPS Programming Did you know that you have all in SDK? Out of the box and ready to use: C:Program FilesWindows Mobile 6 SDKSamplesPocketPCCSGPS GPS Sample Classes (http://msdn.microsoft.com/en-us/library/ms881362.aspx) •Gps: The interface to the managed GPS API. use this class to open, close, and query the device state, and to query the position data from your GPS hardware. •GpsPosition: Contains the GPS position data received from the GPS hardware. •GpsDevice: Contains the GPS device state data received from the GPS hardware. •Utils: Native memory allocation utilities.
  • 34. Windows Communication Foundation Store and Forward Messaging Server Exchange 2007 Exchange Web Services Datacenter within the company Corporate Wi-Fi network Mobile operator network
  • 35. The WCF subset supported by NetCF Feature Desktop WCF Compact WCF Bindings: · BasicHttpBinding Yes Yes · CustomBinding Yes Yes · WindowsMobileMailBinding N/A Yes · ExchangeWebServiceMailBinding Yes, via NetCF install Yes Formatters: · SoapFormatter Yes Yes · BinaryFormatter Yes No Encoders: · TextMessageEncoder Yes Yes · BinaryMessageEncodingBindingElement Yes No · MTOMEncoder Yes No · GzipEncoder Sample available Sample available
  • 36. The WCF subset supported by NetCF cont Feature Desktop WCF Compact WCF Transports: · HttpTransportBindingElement Yes Yes · HttpsTransportBindingElement Yes Yes · MailTransportBindingElement Yes, via NetCF install Yes · MsmqTransportBindingElement Yes No · TcpTransportBindingElement Yes No · (other transports) Yes No XmlDictionaryReader/Writer Yes Yes; stub around XmlTextReader/Writer DataContractSerializer Yes No; but can be wire-compatible with DCS via XmlSerializer Service proxy generation Yes; via SvcUtil.exe Yes; via NetCFSvcUtil.exe, not integrated into VS2008 · Non-HTTP transports in generated proxies Yes Not built-in · Custom headers in generated proxies Yes Not built-in
  • 37. The WCF subset supported by NetCF cont Feature Desktop WCF Compact WCF WS-Addressing Yes Yes WS-Security message level security · X.509 Yes Yes · Username/password Yes No · SecurityAlgorithmSuite.Basic256Rsa15 Yes Yes · SecurityAlgorithmSuite.Basic256 Yes No WS-ReliableMessaging Yes No Patterns · Service model Yes No · Message layer programming Yes Yes · Buffered messages Yes Yes · Streaming messages Yes No · Endpoint descriptions in .config files Yes No Channel extensibility Yes Yes Security channel extensibility Yes No Source: http://blogs.msdn.com/andrewarnottms/archive/2007/08/21/The-WCF- subset-supported-by-NetCF.aspx
  • 38. • Mobile Application Blocks http://mobile.codeplex.com/ • Power Toys for .NET Compact Framework 3.5 http://www.microsoft.com/download/en/details.asp x?displaylang=en&id=13442 • NetCFSvcUtil http://download.microsoft.com/download/6/2/0/62 05ED05-E435-44FC-AA82- B763CA5F8B1A/NetCFSvcUtil.exe • http://ronua.ro/CS/blogs/catalin/default.aspx Tools&Resources
  • 40. Q&A
  • 41. Thank you for your attention. Contact: •My Blog http://ronua.ro/CS/blogs/catalin/ default.aspx •My Email catalin.gheorghiu@ronua.ro