众所周知,最近几年,微软一直在操作系统上进行统一化的尝试。第一次尝试的产品——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. EF是啥?【What is Entity Framework?】(EF基础系列2)

    EF产生的背景: 编写ADO.NET访问数据的代码,是沉闷而枯燥的,所以微软提供了一个对象关系映射框架(我们称之为EF),通过EF可以自动帮助我们的程序自动生成相关数据库. Writing and m ...

  2. Solr3.6.1 在Tomcat6下的环境搭建

    Solr3.6.1 在Tomcat6下的环境搭建 Tomcat路径:D:\prg\apache-tomcat-6-solr 简写为tomcat_home Solr文件下载保存路径为:F:\softwa ...

  3. 异步编程系列第05章 Await究竟做了什么?

    p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...

  4. 基于CkEditor实现.net在线开发之路(6)vs开发工具配合一起开发

    上一章讲解了利用CKEditor实现了一个简单的列表功能的查询,CKEditor编辑器是由js实现的,js是一门非常强大的语法,但是要用它实现Vs开发工具那样强大编辑器的功能,估计不可能,这就使得CK ...

  5. 使用TabPageIndicator的样式问题

    在使用TabPageIndicator往往会出现一些样式问题,导致看不到字,下面是总结的步骤: 1.布局<LinearLayout xmlns:android="http://sche ...

  6. C#中HashTable的用法

    一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中 ...

  7. jQuery ClockPicker 圆形时钟

    ClockPicker.js是一款时钟插件,其实还可以改进,里面的分可以改成短横线. 在线实例 实例预览  jQuery ClockPicker 圆形时钟 使用方法 <div class=&qu ...

  8. JS如何禁止别人查看网站源码

    四种查看路径: 查看效果:猛戳 1.直接按F12 2.Ctrl+Shift+I查看 3.鼠标点击右键查看 4.Ctrl+u=view-source:+url 把以上三种状态都屏蔽掉就可以了,docum ...

  9. arcgis for flex或silverlight全国地图天气预报的实现

    系统架构是B/S,目前有两个不同的版本,1.开发语言是C#.silverlight,开发平台是.NET:2.开发语言是java.flex,开发平台是myeclise. 采用地图是ArcGIS全国地图, ...

  10. Googlehack之Github hack

    site:aircrk.com smtpsite:aircrk.com smtp @mail.comsite:aircrk.com root passwordsite:aircrk.com smtp ...