认识windows10和应用开发

Windows10与UWP开发

一、认识Windows10和应用开发

Windows10是面向PC、平板、手机、游戏机、物联网硬件等跨硬件设备的统一操作系统。

  • 由Windows Phone与Windows 8演进而来,不再对硬件划分独立操作系统,给微软开发者生态带来新机遇。

二、Windows10新特性

  1. 支持PC、平板、手机、Xbox One多平台,平台间信息互通
  2. PC开始菜单改版,磁贴界面支持纵向滚动
  3. Office等软件深度集成进系统
  4. 内置Cortana语音助手
  5. 全新Edge浏览器
  6. 整合Xbox游戏平台,增强社交能力
  7. 微软首次提供免费升级政策
  8. 84寸Surface Hub大屏设备
  9. HoloLens全息头盔,融合虚拟现实

三、Windows10手机版本发展史

微软移动端系统拥有十几年发展历史,两大转折点:Windows Phone 7、Windows10。

  • Windows Phone7诞生于危机之中:面对Android、iOS冲击,Windows Mobile市场份额大幅下滑。
  • 系统演进路线: Windows CE(1997) → Pocket PC(2000) → Windows Mobile(2003) → Windows Phone7(2010) → Windows Phone8(2012) → Windows Phone8.1(2014) → Windows10(支持手机+PC,2015)
  • 所有Windows Phone手机可升级Windows10

四、Windows10 PC版本发展史

  1. 1993:Windows NT,支持Intel、AMD以外处理器,和Win3.1/95/98架构不同
  2. iPad带动触摸操作浪潮,微软推出ARM版Windows RT,Win8与RT都支持触摸;RT不支持传统桌面程序
  3. Windows RT项目失败,证明Windows用户非常依赖原有操作习惯;这些技术尝试,为Windows10奠定基础
  4. Windows10融合PC端与移动端

五、Windows10给开发者带来的机遇

  1. 国内厂商小米、联想等支持Windows10设备
  2. 国内用户可免费升级Windows10
  3. Windows10对物联网提供更好支持

六、Windows10技术框架

  1. Windows10继承Windows 8和Windows Phone的技术体系
  2. Windows Phone7 → Phone8:内核由Windows CE更换为Windows NT,底层统一Windows运行时框架,Win8与Phone8内核统一
  3. Windows Phone8 → 8.1:API进一步整合,支持Universal应用共享核心代码,但界面代码分离
  4. Windows10:通用应用不再区分手机/PC版本;单个安装包可部署到全部Windows10设备

七、Windows运行时(WinRT)

  • Windows10通用应用程序,简称 UWP
  • WinRT(Windows Runtime):UWP的运行框架
  • Win8/8.1、WP8/8.1就已经使用WinRT实现跨平台API共享
  • 支持开发语言:C++、C#、VB、JavaScript
  • 原生支持X86、ARM硬件架构
  • 本质:增强版COM组件API

八、Windows10通用应用平台

  • 一套应用,可运行在所有Windows10设备:手机、平板、笔记本、PC、Xbox、HoloLens、Surface Hub
  • 全部Windows10设备共用同一个应用商店分发应用

通用应用三大能力

  1. 自适应UI:根据设备类型自动调整布局、控件
  2. 自然交互:语音、数字笔、手势、眼球追踪输入
  3. 云服务能力:推送通知、数据漫游、OneDrive、Azure云服务

九、UWP(Windows10通用应用程序)开发模型

  • UWP:通用平台应用,一个安装包适配全部Windows10设备,降低多平台开发成本
  • 支持语言:C#、VB、JavaScript、C++;本课主要使用 C#
  • 可选开发模型:C#/XAMLVB/XAMLC++/XAMLJavaScript/HTML5
  • 游戏开发:推荐C++ + DirectX框架

UWP(Windows10 通用应用)4种开发模型

这是 UWP(Universal Windows Platform,Windows通用应用平台) 的开发选型介绍:

1. 四类开发模型

  1. C#/XAML、VB/XAML、C++/XAML
    • UI界面:XAML(微软的标记语言,用来描述界面布局、控件)
    • 业务后台:C# / VB / C++
    • 三者框架模型一致,只是后台编程语言不同。
  2. JavaScript/HTML5
    • UI界面:HTML5
    • 业务后台:JavaScript
    • 适合web前端开发者,复用网页相关技术。

2. Windows运行时组件(WinRT Component)

Windows10提供Windows运行时组件,实现跨语言代码复用

可以用其中一种语言写底层代码封装(例如C++写高性能逻辑),打包成WinRT组件,供其他语言(C#/XAML、JS/HTML5)的UWP应用直接调用。 开发者可以选用自己熟悉的语言开发。

3. 性能对比

  1. XAML系列(C#/VB/C++) > JavaScript/HTML5:XAML原生模型应用性能高于HTML5模型。
  2. 在Windows10平台上,C#、VB、C++这三种XAML模型,整体运行效率差距不大

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注