Download presentation
Presentation is loading. Please wait.
Published byRoxana Morrish Modified over 10 years ago
1
Native Device Development in Visual Studio Whidbey Nishan Jebanasam Program Manager Microsoft Corporation Rich Hanbidge Developer Microsoft Corporation
2
Agenda Roadmap of native device development Roadmap of native device development Visual Studio Whidbey IDE native device development features Visual Studio Whidbey IDE native device development features Develop a C++ application for Pocket PC Develop a C++ application for Pocket PC Native device frameworks Native device frameworks Q&A Q&A
3
eVC Currently the only tool for native development for WinCE-based devices. Currently the only tool for native development for WinCE-based devices. Standalone IDE (no VS integration) Standalone IDE (no VS integration) Based on VS 6 shell Based on VS 6 shell 1-1 relationship between tools and platform version 1-1 relationship between tools and platform version
4
Roadmap
5
Visual Studio Whidbey Create apps for Pocket PC, Smartphone, Windows CE Create apps for Pocket PC, Smartphone, Windows CE Development Development Deployment Deployment Debugging Debugging Distribution Distribution Target multiple versions of device OS Target multiple versions of device OS One tool for all your device solutions One tool for all your device solutions
6
Device SDK Platform Builder Visual Studio Whidbey OS Pocket PC Smart phone Pocket PC Smart phone
7
Visual Studio Whidbey Native C++ for Devices feature will include Application and Class Wizards Application and Class Wizards SDK integration SDK integration Resource Editor Resource Editor Device cross-compilers Device cross-compilers Remote deployment/debugging Remote deployment/debugging Native frameworks Native frameworks Emulator Emulator Help Help
8
Device Compilers Support for ARM, MIPS, SH, x86 Support for ARM, MIPS, SH, x86 Based on desktop v8.0 compiler front-end Based on desktop v8.0 compiler front-end Will have Will have Conformance work Conformance work Enhanced Unicode support Enhanced Unicode support LTCG LTCG Optimization Improvements Optimization Improvements Will not have Will not have POGO POGO Named Return Value Optimization Named Return Value Optimization
9
Demo: IDE
10
Debugging Intro What we are setting out to do What we are setting out to do Deliver the feature set of the eVC Debugger in the VS Shell Deliver the feature set of the eVC Debugger in the VS Shell Provide the same level of robustness and reliability as the desktop native debugger Provide the same level of robustness and reliability as the desktop native debugger Build a foundation for advanced debugger features, with a long term goal of feature parity with the desktop Build a foundation for advanced debugger features, with a long term goal of feature parity with the desktop
11
Debugger Features Feature Set Feature Set Attach, Detach Attach, Detach Breakpoints, Stepping, Break All Breakpoints, Stepping, Break All Autos, Locals, Memory Window Autos, Locals, Memory Window Threads, Call Stack, Modules Threads, Call Stack, Modules Native Code Only – Disassembly, JIT Debug Native Code Only – Disassembly, JIT Debug Unsupported Unsupported Interop Debugging Interop Debugging Driver Development Driver Development Data Breakpoints Data Breakpoints Edit and Continue Edit and Continue
12
Device Specifics Connectivity Connectivity Physical Physical Network Network Deployment Deployment Tools Tools Dependencies Dependencies Application Application Secure Devices Secure Devices Tool Support for Secure Devices Tool Support for Secure Devices
13
Demo: Debugging
14
Frameworks Visual Studio Whidbey will include the following native device runtimes: Visual Studio Whidbey will include the following native device runtimes: MFC/ATL MFC/ATL SCL/STL SCL/STL CRT CRT Share desktop codebase, subset for Share desktop codebase, subset for Size Size Performance Performance Windows CE vs Windows Windows CE vs Windows Same runtime for Windows CE, Pocket PC and Smartphone Same runtime for Windows CE, Pocket PC and Smartphone
15
ATL/MFC for Devices Merging some ATL/MFC common functionality Merging some ATL/MFC common functionality CString, CImage, WebServices CString, CImage, WebServices Performance, Security, Robustness Performance, Security, Robustness Compatibility with existing ATL/MFC Compatibility with existing ATL/MFC Largely code compatible Largely code compatible Not binary compatible Not binary compatible Static or Dynamic link Static or Dynamic link Also available on Smartphone Also available on Smartphone
16
Whats in MFC for Devices Application Architecture Application Architecture CWinThread CWinThread CDocTemplate CDocTemplate COleObjectFactory COleObjectFactory CDocument CDocument Window Support Window Support Frame Windows Frame Windows Control Bars Control Bars Property Sheets Property Sheets Dialog Boxes Dialog Boxes Views Views Controls Controls Exceptions Exceptions File Services File Services Graphical Drawing Graphical Drawing CDC CDC Graphical Drawing Objects Graphical Drawing Objects CGDIObject CGDIObject Menus Menus Command Line Command Line Synchronization Synchronization Windows Sockets Windows Sockets Arrays, Lists, Maps Arrays, Lists, Maps Templates only Templates only Runtime Object Model Support Runtime Object Model Support Structures Structures Simple Value Types Simple Value Types Support Classes Support Classes OLE Type Wrappers OLE Type Wrappers Synchronization Synchronization Graphical Drawing Objects Graphical Drawing Objects CGDIObject CGDIObject Menus Menus Command Line Command Line Synchronization Synchronization Windows Sockets Windows Sockets Arrays, Lists, Maps Arrays, Lists, Maps Templates only Templates only Runtime Object Model Support Runtime Object Model Support Structures Structures Simple Value Types Simple Value Types Support Classes Support Classes OLE Type Wrappers OLE Type Wrappers Synchronization Synchronization
17
Controls in MFC for Devices CButton CButton CComboBox CComboBox CDateTimeCtrl CDateTimeCtrl CEdit CEdit CHeaderCtrl CHeaderCtrl CListBox CListBox CListCtrl CListCtrl CMonthCalCtrl CMonthCalCtrl ColeControl ColeControl CProgressCtrl CProgressCtrl CScrollBar CScrollBar CSliderCtrl CSliderCtrl CSpinButtonCtrl CSpinButtonCtrl CStatic CStatic CStatusBarCtrl CStatusBarCtrl CTabCtrl CTabCtrl CToolBarCtrl CToolBarCtrl CTreeCtrl CTreeCtrl CScrollBar CScrollBar CSliderCtrl CSliderCtrl CSpinButtonCtrl CSpinButtonCtrl CStatic CStatic CStatusBarCtrl CStatusBarCtrl CTabCtrl CTabCtrl CToolBarCtrl CToolBarCtrl CTreeCtrl CTreeCtrl
18
Not in MFC for Devices MultiDoc Template MultiDoc Template OLE (except ActiveX hosting and creating) OLE (except ActiveX hosting and creating) ISAPI and Internet Service classes ISAPI and Internet Service classes ODBC and DAO classes ODBC and DAO classes Typed Template Collection classes Typed Template Collection classes Array, Map and List classes Array, Map and List classes Template versions provided Template versions provided Dialogs Dialogs File and Property provided File and Property provided View View CCtrlView, CSCrollView and CFormView provided CCtrlView, CSCrollView and CFormView provided File Services File Services CMemFile, COleStreamFile and StdioFile provided CMemFile, COleStreamFile and StdioFile provided
19
MFC for Devices CE Specific features included CE Specific features included CCeCommandBar CCeCommandBar CCeDocList CCeDocList CCeDocListDocTemplate CCeDocListDocTemplate CCeSaveModifiedDlg CCeSaveModifiedDlg CCeSocket CCeSocket CE Specific features cut CE Specific features cut CCeDB * CCeDB * Features under consideration Features under consideration SMS SMS SQLCE SQLCE Communication Suppor Communication Suppor Security Security
20
Whats in ATL for Devices Improved security/robustness Improved security/robustness ActiveX Control hosting ActiveX Control hosting Web services client Web services client CImage – Bitmap support CImage – Bitmap support CComCurrency – Currency support CComCurrency – Currency support New classes for managing arrays, lists and trees New classes for managing arrays, lists and trees Enhanced string manipulation and conversion Enhanced string manipulation and conversion Extended Socket support (IPv6) Extended Socket support (IPv6)
21
ATL for Devices Whats not in Visual Studio Whidbey ATL for Devices Whats not in Visual Studio Whidbey ATL for Devices Security Security MMC Snap-in MMC Snap-in Services Services GDI+ GDI+ Data Data Headers componentized for: Headers componentized for: GUI/Headless GUI/Headless COM/DCOM COM/DCOM
22
CRT\SCL\STL for Devices C Runtime C Runtime Additional CRT functions needed by Visual Studio Whidbey MFC/ATL Additional CRT functions needed by Visual Studio Whidbey MFC/ATL Provided as a static lib/dll Provided as a static lib/dll Standard C++ Library Standard C++ Library Update will be Standard Compliant Update will be Standard Compliant Includes stream support Includes stream support
23
Summary Managed and Native from one IDE Managed and Native from one IDE Connectivity improvements Connectivity improvements Deterministic Deterministic Stable Stable Fast Fast Configurable Configurable Debugging improvements Debugging improvements Attach Attach Detach Detach Stability Stability Performance Performance Frameworks Frameworks Standards Standards Security Security Robustness Robustness
24
Summary MS continuing to invest in native device development MS continuing to invest in native device development Visual Studio Whidbey will be tool of choice for managed and native Visual Studio Whidbey will be tool of choice for managed and native Device development experience on parity with desktop development Device development experience on parity with desktop development Questions? Email nishanj@microsoft.com Questions? Email nishanj@microsoft.com
25
© 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.