众所周知,最近几年,微软一直在操作系统上进行统一化的尝试。第一次尝试的产品——Windows 8/8.1操作系统完全谈不上成功。请看下图:

我个人认为,这并不意味着操作系统统一化的策略是错误的,只能算是一个小小的失败。将近三年之后,微软的重头产品Windows 10终于横空出世。自7月29发布之后,Windows 10的市场占有率是节节攀升。请看下图:

短短4天,市场占有率已经逼近了Windows 8。哇,这完全是大圣归来的节奏啊!不知道有多少骂了3年娘的Windows 8的用户在这一刻热泪盈眶。笔者三年前买的平板也赶着这股热潮,更新为Windows 10。使用了几天,感受就是绝不会比Windows 8/8.1差!如果按照这个趋势,“3年10亿PC跑Windows10”恐怕也不是妄言。

更加吸引广大码农眼球的,无疑是随之而来的UWP(Universal Windows Platform)。这些年来,微软研发了多种设备,例如平板、手机、Xbox等等,如果每种设备都开发一套操作系统和运行在该系统上的程序。工作量和复杂度可想而知。UWP也因此应运而生。按照微软的设计,我们只要开发一套UWP的App,就可以在平板、手机、PC等设备上运行,无需额外的转换。显而易见,这将大大减少多平台的开发成本。各位码农,是不是很兴奋?

其实,早在Windows 8.1系统更新发布的时候,微软就已经准备类似的尝试了——Windows 8.1 Universal Apps。我做了一个简单的对比,希望能让大家有一个清晰的了解。

 

Windows 8.1 Universal Apps

UWP Apps

支持设备

PC,平板,手机

所有设备

支持Shared Code

支持

支持

需要开发几套程序

两套

一套

是否所有设备具备所有API

做过Windows 8.1 Universal Apps的开发人员可能都有同感,除了逻辑代码可以共用之外,UI展示,部分事件(如:Windows.Phone.UI.Input.HardwareButtons.BackPressed)等,都要写在不同的2套程序里。在某种意义上,这是“部分”Universal,而UWP是真正的Universal。我们可以通过下图去了解一下开发平台统一化的进程。

Component One是一家紧跟技术前沿的专业控件公司。在Windows 8发布之后不久,我们就推出了Windows Runtime控件包。在Windows 8.1 发布不久,我们又推出了Windows Runtime Phone 8.1 控件包。目前,用户可以使用我们的ComponentOne Studio for WinRT XAML 控件包,非常便利地研发属于自己可以运行在PC、平板、手机上的App了。而且,经过验证,用户开发的在Windows 8.1系统上运行的App可以在Windows 10操作系统上运行。

看到这里,也许你会问:既然微软都出了UWP,ComponentOne打算要出一套UWP控件吗?我非常高兴地告诉你:是的!我们已经预计在数月后推出一套Beta版本的UWP控件供用户使用。ComponentOne Studio for UWP 控件中,包含了大家熟悉的Chart,FlexGrid等。

Windows10的革命之路-全新UWP开发平台的更多相关文章

  1. Windows10 UWP开发 - 响应式设计

      Windows10 UWP开发 - 响应式设计 本篇随笔与大家简单讨论一下在开发适配不同分辨率.宽高比的Windows10 Universal App布局时的可行方式与小技巧.经验均从实践中总结, ...

  2. UWP 统一平台开发介绍

    什么是UWP? 很多程序员都有一个梦想:希望自己开发的软件能够轻而易举的在所有平台上运行,而不是把同样的需求,用不同的技术.工具重新开发才能够运行在所有平台上.这就是跨平台,很多软件从业者都在为这个梦 ...

  3. Windows10(uwp)开发中的侧滑

    还是在持续的开发一款Windows10的应用中,除了上篇博客讲讲我在Windows10(uwp)开发中遇到的一些坑,其实还有很多不完善的地方,比如(UIElement.Foreground).(Gra ...

  4. 全新的跨平台app软件开发工具——Lae软件开发平台

    Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android ...

  5. 通过几个Hello World感受.NET Core全新的开发体验

    2016年6月27日,这是一个特殊的日子,微软全新的.NET开发平台.NET Core的RTM版本正式发布.我个人将.NET Core的核心特性归结为三点,它们的首字母组成一个非常好记的简称——COM ...

  6. UWP开发:APP之间的数据交互(以微信为例)

    目录 说明 UWP应用唤醒方式 跟微信APP交互数据 APP之间交互数据的前提 说明 我们经常看到,在手机上不需要退到桌面,APP之间就可以相互切换,并且可以传递数据.比如我在使用知乎APP的时候,需 ...

  7. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  8. UWP开发之控件:用WebView做聊天框

    目录 说明 WebView存在的价值 使用WebView的几个重要技巧 使用WebView做的聊天框 说明 大家都知道,无论是之前的Winform.WPF还是现在的IOS.Android开发中,都存在 ...

  9. Win10 UWP 开发系列:使用SQLite

    在App开发过程中,肯定需要有一些数据要存储在本地,简单的配置可以序列化后存成文件,比如LocalSettings的方式,或保存在独立存储中.但如果数据多的话,还是需要本地数据库的支持.在UWP开发中 ...

随机推荐

  1. SQL 性能优化

    当我看到sql执行很慢的时候就在想为什么这么慢? 不外乎数据大,sql语句复杂,没有索引. 如果要进行优化的话可以从对应的这三个问题出发: 看看表是否可以进行拆分成小表,拆分sql语句,建立适合的索引 ...

  2. 自定义分页控件PageList

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  3. Java中,方法的重写、重载的区别,以及多态的实例

    首先我们要明白什么是重写和重载 重写(override):子类方法覆盖了父类的方法.    (类与类之间继承的关系) 例:父类代码 public class Deng { public void Qi ...

  4. MATLAB连接ACCESS数据库

    1.创建Windows系统ODBC数据源<打开控制面板----管理工具----ODBC数据源(32位或64位)----添加----安装数据源的驱动程序Microsoft Access Drive ...

  5. Java设计模式之单例模式

    很多人都疑惑,单例模式是什么?为什么要用单例模式?在这里,笔者记录的仅仅只是自己对于知识点的理解,如果有错误的,请下方评论指教,共同进步,谢谢. 单例模式是什么? 简单理解: 单例就是一个实例被多个用 ...

  6. zookeeper集群

    0,Zookeeper基本原理 ZooKeeper集群由一组Server节点组成,这一组Server节点中存在一个角色为Leader的节点,其他节点都为Follower.当客户端Client连接到Zo ...

  7. web前端交互性易用性说明

    总结一下我们在web前端开发过程中总是强调交互性.易用性的情况分析说明.个人觉得web前端的易用交互也就是我们所说人性化操作.不外乎希望达到的效果为:界面风格简洁明了.重点突出:操作简单,直观可见.当 ...

  8. JavaScript基本语法(五)

    BOM 浏览器对象模型 BOM (浏览器对象模型),它提供了与浏览器窗口进行交互的对象. 一.window对象 Window对象表示整个浏览器窗口. 所有浏览器都支持 window 对象.它表示浏览器 ...

  9. JavaScript基本语法(二)

    上篇博文写到JavaScript的数据类型.JavaScript包括了字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未 ...

  10. 对CVE-2014-6271 [破壳漏洞] 的一次不太深入的跟踪

    @firtst:有些事,该你遇到的始终会遇到!2013年,Struts2远程代码执行漏洞闹的满城风雨时,当时还对此一无所知:2014年4月,HeartBleed掀起波涛汹涌时,较快对此予以关注,晚上跑 ...