Native Device Native Device Development in Development in Visual Studio Visual Studio Whidbey Whidbey Nishan Jebanasam Nishan Jebanasam Program Manager Program Manager Microsoft Microsoft Corporation Corporation Rich Hanbidge Rich Hanbidge Developer Developer Microsoft Microsoft Corporation Corporation
25
Embed
Native Device Development in Visual Studio Whidbey Nishan Jebanasam Program Manager Microsoft Corporation Rich Hanbidge Developer Microsoft Corporation.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Native Device Native Device Development in Development in Visual Studio Visual Studio
WhidbeyWhidbey
Nishan JebanasamNishan Jebanasam
Program ManagerProgram Manager
Microsoft Microsoft CorporationCorporation
Rich HanbidgeRich Hanbidge
DeveloperDeveloper
Microsoft Microsoft CorporationCorporation
AgendaAgenda Roadmap of native device developmentRoadmap of native device development Visual Studio Whidbey IDE native device Visual Studio Whidbey IDE native device
development featuresdevelopment features Develop a C++ application for Pocket PCDevelop a C++ application for Pocket PC Native device frameworksNative device frameworks Q&AQ&A
eVCeVC Currently the only tool for native Currently the only tool for native
development for WinCE-based devices.development for WinCE-based devices. Standalone IDE (no VS integration)Standalone IDE (no VS integration) Based on VS 6 shellBased on VS 6 shell 1-1 relationship between tools and 1-1 relationship between tools and
platform versionplatform version
eVC3 eVC4SP1
eVC4SP2
eVC4 eVC4SP3
eVC4SP4
Pocket PC2000
Pocket PCSmartphone
2003
Summer2000
Jan2001
July2002
April2003 H2 2004TBD
WindowsCE 3.0
WindowsCE .NET
4.0
WindowsCE .NET
4.1
WindowsCE .NET
4.2
WinCEMacallan
Pocket PCSmartphone
2002
RoadmapRoadmap
Visual Studio WhidbeyVisual Studio Whidbey Create apps for Pocket PC, Create apps for Pocket PC,
Smartphone, Windows CESmartphone, Windows CE DevelopmentDevelopment DeploymentDeployment DebuggingDebugging DistributionDistribution
Target multiple versions of device OSTarget multiple versions of device OS One tool for all your device solutionsOne tool for all your device solutions
Device
SDK
Platform Builder
Visual Studio Whidbey
OS
Pocket PC
Smartphone
Pocket PC
Smartphone
Visual Studio WhidbeyVisual Studio WhidbeyNative C++ for Devices feature will includeNative C++ for Devices feature will include Application and Class WizardsApplication and Class Wizards SDK integrationSDK integration Resource EditorResource Editor Device cross-compilersDevice cross-compilers Remote deployment/debuggingRemote deployment/debugging Native frameworksNative frameworks EmulatorEmulator HelpHelp
Device CompilersDevice Compilers Support for ARM, MIPS, SH, x86Support for ARM, MIPS, SH, x86 Based on desktop v8.0 compiler front-endBased on desktop v8.0 compiler front-end Will haveWill have
Conformance workConformance work Enhanced Unicode supportEnhanced Unicode support LTCGLTCG Optimization ImprovementsOptimization Improvements
Will not haveWill not have POGOPOGO Named Return Value OptimizationNamed Return Value Optimization
Demo: IDEDemo: IDE
Debugging IntroDebugging Intro What we are setting out to doWhat we are setting out to do
Deliver the feature set of the eVC Debugger Deliver the feature set of the eVC Debugger in the VS Shellin the VS Shell
Provide the same level of robustness and Provide the same level of robustness and reliability as the desktop native debuggerreliability as the desktop native debugger
Build a foundation for “advanced” debugger Build a foundation for “advanced” debugger features, with a long term goal of feature features, with a long term goal of feature parity with the desktopparity with the desktop
Debugger FeaturesDebugger Features Feature SetFeature Set
MenusMenus Command LineCommand Line SynchronizationSynchronization Windows SocketsWindows Sockets Arrays, Lists, MapsArrays, Lists, Maps
Templates onlyTemplates only Runtime Object Model Runtime Object Model
SupportSupport StructuresStructures Simple Value TypesSimple Value Types Support ClassesSupport Classes OLE Type WrappersOLE Type Wrappers SynchronizationSynchronization
MenusMenus Command LineCommand Line SynchronizationSynchronization Windows SocketsWindows Sockets Arrays, Lists, MapsArrays, Lists, Maps
Templates onlyTemplates only Runtime Object Model Runtime Object Model
SupportSupport StructuresStructures Simple Value TypesSimple Value Types Support ClassesSupport Classes OLE Type WrappersOLE Type Wrappers SynchronizationSynchronization
Controls in MFC for Controls in MFC for DevicesDevices
Not in MFC for DevicesNot in MFC for Devices MultiDoc TemplateMultiDoc 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 classesODBC and DAO classes Typed Template Collection classesTyped Template Collection classes Array, Map and List classesArray, Map and List classes
CE Specific features cutCE Specific features cut CCeDBCCeDB**
Features under considerationFeatures under consideration SMSSMS SQLCESQLCE Communication SupporCommunication Suppor SecuritySecurity
What’s in ATL for What’s in ATL for DevicesDevices
Improved security/robustness Improved security/robustness ActiveX Control hostingActiveX Control hosting Web services clientWeb services client CImage – Bitmap supportCImage – Bitmap support CComCurrency – Currency supportCComCurrency – Currency support New classes for managing arrays, lists and New classes for managing arrays, lists and
treestrees Enhanced string manipulation and conversion Enhanced string manipulation and conversion Extended Socket support (IPv6)Extended Socket support (IPv6)
ATL for DevicesATL for Devices What’s not in Visual Studio Whidbey What’s not in Visual Studio Whidbey
ATL for DevicesATL for Devices SecuritySecurity MMC Snap-inMMC Snap-in ServicesServices GDI+ GDI+ DataData