Windows10的革命之路-全新UWP开发平台
众所周知,最近几年,微软一直在操作系统上进行统一化的尝试。第一次尝试的产品——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开发平台的更多相关文章
- Windows10 UWP开发 - 响应式设计
Windows10 UWP开发 - 响应式设计 本篇随笔与大家简单讨论一下在开发适配不同分辨率.宽高比的Windows10 Universal App布局时的可行方式与小技巧.经验均从实践中总结, ...
- UWP 统一平台开发介绍
什么是UWP? 很多程序员都有一个梦想:希望自己开发的软件能够轻而易举的在所有平台上运行,而不是把同样的需求,用不同的技术.工具重新开发才能够运行在所有平台上.这就是跨平台,很多软件从业者都在为这个梦 ...
- Windows10(uwp)开发中的侧滑
还是在持续的开发一款Windows10的应用中,除了上篇博客讲讲我在Windows10(uwp)开发中遇到的一些坑,其实还有很多不完善的地方,比如(UIElement.Foreground).(Gra ...
- 全新的跨平台app软件开发工具——Lae软件开发平台
Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android ...
- 通过几个Hello World感受.NET Core全新的开发体验
2016年6月27日,这是一个特殊的日子,微软全新的.NET开发平台.NET Core的RTM版本正式发布.我个人将.NET Core的核心特性归结为三点,它们的首字母组成一个非常好记的简称——COM ...
- UWP开发:APP之间的数据交互(以微信为例)
目录 说明 UWP应用唤醒方式 跟微信APP交互数据 APP之间交互数据的前提 说明 我们经常看到,在手机上不需要退到桌面,APP之间就可以相互切换,并且可以传递数据.比如我在使用知乎APP的时候,需 ...
- Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App
安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...
- UWP开发之控件:用WebView做聊天框
目录 说明 WebView存在的价值 使用WebView的几个重要技巧 使用WebView做的聊天框 说明 大家都知道,无论是之前的Winform.WPF还是现在的IOS.Android开发中,都存在 ...
- Win10 UWP 开发系列:使用SQLite
在App开发过程中,肯定需要有一些数据要存储在本地,简单的配置可以序列化后存成文件,比如LocalSettings的方式,或保存在独立存储中.但如果数据多的话,还是需要本地数据库的支持.在UWP开发中 ...
随机推荐
- github上传项目(使用git)、删除项目、添加协作者
一.注册github账号 github网址https://github.com/ 下一步 然后,你的邮箱会收到一封邮件,进行邮箱验证就行了 二.创建github仓库 登录你的github,在首页的右方 ...
- LINQ to SQL语句(15)之String
LINQ to SQL支持以下String方法.但是不同的是默认情况下System.String方法区分大小写.而SQL则不区分大小写. 1.字符串串联(String Concatenation) v ...
- h5输入框提示语 + 正常文本框提示语
<input id="username" name="username" type="text" placeholder=" ...
- 3、Python字符串和循环
1.while循环 #猜lucky_number = 6 #如果比6大,提示你猜的大了 #如果比6小,提示你猜的小了 #猜的等于6,提示Bingo #限制3次 lucky_num = 6 count ...
- Java--Callable与返回值future
package com; import java.util.concurrent.*; /** * Created by yangyu on 16/11/28. */ /** * Callable a ...
- 软件公司为何要放弃MongoDB?
本文转至:http://database.51cto.com/art/201503/469510_all.htm(只作转载, 不代表本站和博主同意文中观点或证实文中信息) Olery成立于2010年, ...
- 使用PHPMailer发送邮件
如果要使用php发送邮件,则可以使用PHP 内置的mail() 函数,但是mail()函数需要有服务器支持 必须有自己的邮件服务器,如果使用stmp服务来发送邮件的话相当于代替别人发送,而不是从自己服 ...
- css制作漂亮彩带导航条菜单
点击这里查看效果:http://keleyi.com/keleyi/phtml/divcss/17.htm 效果图: 以下是源代码: <!DOCTYPE html PUBLIC "-/ ...
- jQuery静态方法parseJSON方法使用和源码分析
该方法接受一个JSON字符串,返回解析后的对象. 传入一个畸形的JSON字符串会抛出一个异常.比如下面的都是畸形的JSON字符串: {test: 1} ( test 没有包围双引号) {'test': ...
- hyperv 创建虚拟以太网交换机失败
问题: hyperv 创建虚拟以太网交换机失败 解决办法: 取消无线共享,重新创建虚拟以太网交换机即可