Increasing Developer Productivity With Windows CE 5.0 刘由顺 软件架构师 北京华夏互动文化传播有限公司 GOAL: Optimize Developer Productivity Cycle DEB U BUILD G EDIT DOWNLOAD Features Unified Build Targeted Build Cloning Mixed Mode Builds Dynamic Debugging from FlatReleaseDir Unified Build Vision The IDE becomes a thin client over the command line build Value add as a presentation layer to expose cmd-line build “tribal knowledge” Value add as documentation (dialogs, catalog meta data, linked helped, etc.) IDE Build = Command Line Build Unified Build Solution The IDE build engine shells out to the command line build Build meta-data is parsed real-time from build system files Expose the OS tree in the WorkspaceView Make the IDE’s native sub-project type sources/dirs Create visual editors for sources and dirs files ResourceView/ClassView support for OS tree 3 Tier Unified Build Architecture File View Feature Parameter View View PRESENTATION LAYER The VS style visual represenation of the OS build tree. WINCEROOT Public Platform Private WinceRoot Favorites Build Directory BUSINESS LOGIC LAYER The following C# Objects provide the business logic. Shortcut 1 Deptree Shortcut 2 Dirs Sources Source Files Dirs Files DATA LAYER The following are on-disk files that contain read or read/write data for initializing the Object Model. PBXML Sources Files Makefile.def Wince. bat CESysgen Files Wince Tree Directory Structure Misc Source Files Unified Build Demo Shell Extension New Project Wizard Source and Dirs Editors FileView/ClassView/ResourceView Driver Resolver and Dependency Analyzer Targeted Build Problem Statement The IDE did not expose an easy way for customers to take the shortest path to building a single binary Targeted Build Solution Leverage command line to allow users to compile, link and copy to flatreleasedir in one step Deptree change -> Makeimg in one step Platform Builder Project change -> Makeimg in one step BSP change -> Makeimg in one step Targeted Build Targeted Build in Public Tree Targeted Build in BSP Targeted Build of Platform Builder Project Cloning Goals Allow modifications to the Wince OS Public tree without side effects to multiple workspaces Allow modifications to be bound to a workspace Cloning Solution Allow a subset of OS Design Items to be deep-copied into a workspace Use a replaceable library methodology to implement cloning of OS modules Cloning Process WORKSPACE BUILD SYSGEN IF CLONED LIBS BUILD CLONE LIBS MS PUBLIC LIBS MS PUBLIC LIBS LINKER FINAL MODULE CLONED LIBS IF CLONED MODULE CLONED LIBS LINKER FINAL CLONED MODULE Cloning Demo Clone a public driver from the catalog Build and link new cloned driver Mixed Mode Builds Allows customers to build Platform Builder Projects with Debug settings in a Release version of the OS Mixed Mode Build Demo Configure a user project to always build with Debug settings Build a release OS image Debug user project Dynamic Debugging From FlatReleaseDir Allows customers to build and debug modules dynamically from the FlatReleaseDir without re-building, re-downloading or re-flashing an OS image Dynamic Debugging Demo Download and debug OS Notice defect that requires an edit/build Make source changes and build module Add module to dynamic debug list Reset device as needed Debug new modifications without rebuilding or re-downloading image Summary – Increasing Productivity By: Exposing the power of the command line build system Fidelity between IDE Workspaces and command line Enhanced support for building and debugging cycles Tools & Resources Build Develop msdn.microsoft.com/ embedded msdn.microsoft.com/ mobility microsoft.public. windowsxp.embedded windowsce.platbuilder windowsce.embedded.vc microsoft.public. pocketpc.developer smartphone.developer dotnet.framework.compactframework Blogs blogs.msdn.com/ mikehall blogs.msdn.com/ windowsmobile vsdteam netcfteam Tools Windows CE 5.0 Eval Kit Windows XP Embedded Eval Kit Windows Mobile 5.0 Eval Kit Websites Newsgroups 大会注意事项 请在课程结束后填写课程培训反馈表,参加抽奖。 请填写资料袋内的蓝色大会满意度反馈表,到大会接待台领取 《Windows Mobile手机应用开发》工具书。 您还可以: 参加 Windows Mobile 动手实验室; 参观微软及合作伙伴展区; 体验基于 Windows Mobile 平台开发的最新硬件产品及解决方案。