(碎碎念)作为一个WP开发初学者,我想骂街……
阅读注意:下文的“Windows”和“Windows应用”特指WinRT和metro应用由于metro一词微软不用了,而叫Windows 8应用或者Windows Store应用又怪怪的,所以简化成Windows了。
首先不要误会,我是WP粉不是黑
WP平台我很喜欢,而且WP8到WP8.1的进化是巨大的,等到正式上市我肯定会考虑买一台WP8.1新机
但是……微软的向下兼容强迫症又来了
以前当WP8面世,WP应用开发裂变成WP7和WP8两种互不兼容的东西的时候微软已经被用户骂到死了
现在有了高端大气上档次的WP8.1,居然应用开发又裂变出两个……没错,也就是说现在开发WP应用有四套接口,而且互相之间都只是部分兼容
1) Windows Phone 7 app
这个是目前WP阵营最古老的开发模式,相信目前还有很多应用是这个开发的,例如obiwang大大的S1Nyan
OS内核:Windows CE
用户界面:Silverlight for WP
后台程序:.NET Framework + Silverlight for WP
兼容设备:所有Windows Phone手机
2) Windows Phone 8 app
这个是在WP8.1出现之前的主流开发模式,虽然底层都变了,但是对于开发者来说和WP7的差别还是比较小的
OS内核:Windows
用户界面:XAML for WP
后台程序:.NET Framework + Silverlight for WP + Windows Phone Runtime
兼容设备:运行WP8和WP8.1的手机
3) Windows Phone Silverlight 8.1 app
这个从名字看就很脑残好么,Silverlight不是应该淡出了么,WP8也没挂Silverlight的名字啊,现在弄这么个名字是要闹哪样?
好吧,这个模式的真正含义是……WP8模式,外加一些WP8.1的新功能。
微软是怕真正的WP8.1开发吓到你们,弄了个兼容绝大部分WP8旧代码的模式,再给你们些新类来实现绝大部分新功能,本来应该皆大欢喜的对吧?
但是特么的只有升到WP8.1的手机才能运行……
而且,虽然通过新功能可以让开发者很好的过渡到用Windows Phone Runtime来实现各种功能,
但是旧的功能已经开始淘汰了哦,意味着WP8应用升级到这个模式会失去一切WP平台的功能,例如不能做在后台运行的音乐播放或是位置跟踪。
OS内核:Windows
用户界面:XAML for WP
后台程序:.NET Framework + Silverlight for WP(但是丢了一些功能) + Windows Phone Runtime(增加了很多WP8.1的新特性)
兼容设备:运行WP8.1的手机
4) Windows Phone Store app
这名字又是谁想出来的……我都懒得吐槽了,光看名字根本不知道这个是最高级的API好么,土的掉渣
实际这个模式是真正的Windows Phone 8.1 / Windows 8.1应用,到这里其实WP和Windows就真的差不多是一个平台了,或者说,WP变成Windows了……
为什么这么说呢,因为这个模式下所有的接口,不管是用户界面还是后台代码,全部向Windows应用转移了,基本上就是WP被Windows同化了
意味着开发者要用Windows应用的界面控件,还要用Windows Runtime里新加的类来实现WP8.1新功能和一些原本WP平台就有但是被WP8.1限制使用了的功能
好处当然也有啦,用这个模式开发的应用,Windows Phone和Windows两套基本上是一样的,差别非常小,开发起来想必也比单独开发两套要省力
但是由于接口变化了,没开发过Windows应用的开发者需要从头学很多东西
而且……可以想象的是旧的WP8代码无法自动转换为这个模式,而Windows应用的代码倒是可以转换(未证实,我SDK还没下完 -_-# )
最后总结一下,不是WP和Windows统一了,是Windows应用开发把WP开发吞并了……
OS内核:Windows
用户界面:XAML for Windows(与XAML for WP不兼容)
后台程序:.NET Framework(部分功能不可用)+ Windows Runtime
兼容设备:运行WP8.1的手机
说到最后,其实Windows Phone Store app开发还是不错的,抛弃了遗留的旧接口,全面大一统了(Windows + Windows Phone + 未来的Xbox One支持)
但是为了搞这个精分出这么多不同的开发模式实在是蛋疼,而且很多人估计看到新文档直接就晕菜了,完全不知道每篇文档到底是针对哪个模式的
Windows Phone 7 app <---> Windows Phone 8 app <---> Windows Phone Silverlight 8.1 app <---> Windows Phone Store app
上面这个关系里,只有相邻的两个很像而已,一旦隔一辈就完全认不出了
而且你们新老交替的够快……一年时间从爸爸和儿子变成四代同堂了
妈妈……我再也不黑微软步子慢了 今天取消授权费了哦
马上就要铺场了! 早就知道了 实际上13年初关于wp8 与wp7的app我就说过 不过我入坑的话估计只用最新的…
—— from S1 Nyan 早就应该这么干了。至少做个项目开发了rt版的,wp版的还要再弄一套。 曾有过从安卓转WP开发的念头 = = 先再观望下 wp已经不错了
你去看看D3D jun4rui 发表于 2014-4-3 19:45
微软这么坑开发者不是一两次了好不好?
这个怨念…… keynote上应该是说了有自动转换吧?lz下完sdk看看? sliverlight8.1的确莫名… jun4rui 发表于 2014-4-3 19:45
微软这么坑开发者不是一两次了好不好?
坑至少五次了呗 nonmoi 发表于 2014-4-3 20:02
keynote上应该是说了有自动转换吧?lz下完sdk看看? sliverlight8.1的确莫名…
WP8 app工程可以转WP Silverlight 8.1 app工程
微软一直在说的应该就是这个 安卓开发才是恶心到吐,我就是被安卓开发生生恶心的去用wp的 oz01 发表于 2014-4-3 19:48
wp已经不错了
你去看看D3D
d3d换代都是明显的进化。反正我是只感到高兴的 这次阿三立功了。虽然WP看起来很傻逼,但还是得感谢微软给了我口饭吃 搞WIN PC我只信WDK+SDK+C++,巨硬只有最基础的东西不敢乱搞
至于MOBILE,只搞过IOS就不发表看法了…… 多年前的Windows Smartphone 和PorketPC Phone那时候微软就够SB了,放到EVC里连SDK都不一样,哦,现在早没EVC这玩意了 str007 发表于 2014-4-3 22:21
作为用户我只关心未来几天WP8.1开发者预览版装上后,S1Nyan还能不能用?
MS说过了 肯定向后兼容的 要不不就都没app用了 微软这么多年推了无数个框架和语言,除了洗艹艹和点网还有谁活得长的,要稳定快投靠我大爪哇
----发送自 Sony C6833,Android 4.3 allenz 发表于 2014-4-3 23:11
微软这么多年推了无数个框架和语言,除了洗艹艹和点网还有谁活得长的,要稳定快投靠我大爪哇
----发送自 S ...
感觉纯就语言上来讲,自己喜欢C#多过Java(毕竟…… leystage 发表于 2014-4-3 23:17
感觉纯就语言上来讲,自己喜欢C#多过Java(毕竟……
兄弟,这里有一条令人感动落泪的新闻:
微软宣布.NET Native预览版
http://www.cnbeta.com/articles/279991.htm Win32 API, COM是M$这么多年最稳定的玩意了,其他的都不可靠。 tonyunreal 发表于 2014-4-3 20:15
WP8 app工程可以转WP Silverlight 8.1 app工程
微软一直在说的应该就是这个
嗯,还是尽量用最新的开发吧。毕竟8.1年中之前就可以全面铺开,wp7的份额也很小了,基本可以不用考虑。
微软一直都有这方面的问题,希望universal apps以后(wp store app应该算是这的第一步?)这方面能够好一点。 S1Nyan后续版本跳过8,直接上8.1 obiwang 发表于 2014-4-3 23:56
S1Nyan后续版本跳过8,直接上8.1
obi大大加油!生日快乐!!
thq 发表于 2014-4-3 23:26
Win32 API, COM是M$这么多年最稳定的玩意了,其他的都不可靠。
个人的感觉(可能是错觉)是windows8出来了精力全投到windows store app那边 搞windows runtime 而以前的wpf并没有太发力,不过这次说要重新着力了 vdo 发表于 2014-4-3 23:23
兄弟,这里有一条令人感动落泪的新闻:
微软宣布.NET Native预览版
很期待的 但为啥现在才出来啊愤怒 而且还只是针对windows store的 wp的啥时候来啊T T vdo 发表于 2014-4-3 23:23
兄弟,这里有一条令人感动落泪的新闻:
微软宣布.NET Native预览版
很期待的 但为啥现在才出来啊愤怒 而且还只是针对windows store的 wp的啥时候来啊T T 其实 Silverlight for WP app 和 Store app 也没多大变化,基本上可以看作类库重新整理了一下
System.Windows.Controls 移动到了 Windows.UI.Xaml.Controls
System.Windows.Media 移动到了 Windows.UI.Xaml.Media
诸如此类
仔细对比下就能看到,各种类的名字,功能,继承体系其实都没变,就是所在的命名空间改动了
本帖最后由 tonyunreal 于 2014-4-12 20:17 编辑
昨天折腾一晚上终于把Visual Studio 2013 Express with Update 2 RC(瞧这名字!)装好了
比我想象的还糟……
旧的WP8工程打开之后显示类型是“Windows Phone Silverlight 8”(和文档对不上啊大哥)
右键之后有个选项可以升级,会提示不可逆,升级完之后的工程类型是“Windows Phone Silverlight 8.1”
(据说这个升级步骤还需要电脑上同时装了WP8 SDK和WP8.1 SDK才能用)
但是!新建的工程只有一个分类……Store apps,所有通用版、Windows only和Windows Phone only的模板都在这个分类下
新建之后的工程类型是“Windows Phone 8.1”
没有新建其他类型工程的选项,也就是说你打开旧的WP8工程继续开发,和新建的WP8.1工程完全是不兼容的两个东西
4月12日更新:
我之前一定是喝多了……
新建工程是有两类工程可以选的,Windows Phone和Windows Phone Silverlight,只不过都在Store apps分类下
和文档里的名称有一定差别 微软毫不犹豫地推新东西,又毫不犹豫地放弃真不是一次两次了…………
现在想想向下兼容做的这么复杂一部分也是他自己作的 早直接一步到位不久完了,虽然有怨言但还是皆大欢喜的结局
估计是当时桌面OS还没进化到位吧=。= jun4rui 发表于 2014-4-4 10:48
我真想问问微软,你们怎么设计产品路线的?或者有做过产品规划吗?
微软:别猜了,我们的节奏你摸不到的 ak47159754 发表于 2014-4-4 10:44
早直接一步到位不久完了,虽然有怨言但还是皆大欢喜的结局
估计是当时桌面OS还没进化到位吧=。= ...
问题是,微软总会又迈出一步
页:
[1]
2