找回密码
 立即注册
搜索
查看: 5666|回复: 50

[软件] (碎碎念)作为一个WP开发初学者,我想骂街……

[复制链接]
     
发表于 2014-4-3 18:58 | 显示全部楼层 |阅读模式
阅读注意:下文的“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

上面这个关系里,只有相邻的两个很像而已,一旦隔一辈就完全认不出了
而且你们新老交替的够快……一年时间从爸爸和儿子变成四代同堂了

妈妈……我再也不黑微软步子慢了
回复

使用道具 举报

     
发表于 2014-4-3 19:00 | 显示全部楼层
今天取消授权费了哦


马上就要铺场了!
回复

使用道具 举报

     
发表于 2014-4-3 19:25 来自手机 | 显示全部楼层
早就知道了 实际上13年初关于wp8 与wp7的app我就说过 不过我入坑的话估计只用最新的…
    —— from S1 Nyan来自: WindowsPhone客户端
回复

使用道具 举报

     
发表于 2014-4-3 19:35 来自手机 | 显示全部楼层
早就应该这么干了。至少做个项目开发了rt版的,wp版的还要再弄一套。
回复

使用道具 举报

头像被屏蔽
发表于 2014-4-3 19:45 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
发表于 2014-4-3 19:45 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
发表于 2014-4-3 19:45 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
发表于 2014-4-3 19:45 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
发表于 2014-4-3 19:45 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2014-4-3 19:48 来自手机 | 显示全部楼层
曾有过从安卓转WP开发的念头 = = 先再观望下
回复

使用道具 举报

     
发表于 2014-4-3 19:48 | 显示全部楼层
wp已经不错了
你去看看D3D
回复

使用道具 举报

发表于 2014-4-3 19:54 | 显示全部楼层
jun4rui 发表于 2014-4-3 19:45
微软这么坑开发者不是一两次了好不好?

这个怨念……
回复

使用道具 举报

发表于 2014-4-3 20:02 来自手机 | 显示全部楼层
keynote上应该是说了有自动转换吧?lz下完sdk看看? sliverlight8.1的确莫名…来自: WindowsPhone客户端
回复

使用道具 举报

     
发表于 2014-4-3 20:15 | 显示全部楼层
jun4rui 发表于 2014-4-3 19:45
微软这么坑开发者不是一两次了好不好?

坑至少五次了呗
回复

使用道具 举报

     
 楼主| 发表于 2014-4-3 20:15 | 显示全部楼层
nonmoi 发表于 2014-4-3 20:02
keynote上应该是说了有自动转换吧?lz下完sdk看看? sliverlight8.1的确莫名…

WP8 app工程可以转WP Silverlight 8.1 app工程
微软一直在说的应该就是这个
回复

使用道具 举报

     
发表于 2014-4-3 20:20 | 显示全部楼层
安卓开发才是恶心到吐,我就是被安卓开发生生恶心的去用wp的
回复

使用道具 举报

     
发表于 2014-4-3 20:21 | 显示全部楼层
oz01 发表于 2014-4-3 19:48
wp已经不错了
你去看看D3D

d3d换代都是明显的进化。反正我是只感到高兴的
回复

使用道具 举报

头像被屏蔽
发表于 2014-4-3 20:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2014-4-3 21:59 | 显示全部楼层
这次阿三立功了。虽然WP看起来很傻逼,但还是得感谢微软给了我口饭吃
回复

使用道具 举报

发表于 2014-4-3 22:05 | 显示全部楼层
搞WIN PC我只信WDK+SDK+C++,巨硬只有最基础的东西不敢乱搞

至于MOBILE,只搞过IOS就不发表看法了……
回复

使用道具 举报

     
发表于 2014-4-3 22:08 | 显示全部楼层
多年前的Windows Smartphone 和PorketPC Phone那时候微软就够SB了,放到EVC里连SDK都不一样,哦,现在早没EVC这玩意了
回复

使用道具 举报

头像被屏蔽
     
发表于 2014-4-3 22:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2014-4-3 23:06 | 显示全部楼层
str007 发表于 2014-4-3 22:21
作为用户我只关心未来几天WP8.1开发者预览版装上后,S1Nyan还能不能用?

MS说过了 肯定向后兼容的   要不不就都没app用了
回复

使用道具 举报

发表于 2014-4-3 23:11 来自手机 | 显示全部楼层
微软这么多年推了无数个框架和语言,除了洗艹艹和点网还有谁活得长的,要稳定快投靠我大爪哇

----发送自 Sony C6833,Android 4.3
回复

使用道具 举报

     
发表于 2014-4-3 23:17 | 显示全部楼层
allenz 发表于 2014-4-3 23:11
微软这么多年推了无数个框架和语言,除了洗艹艹和点网还有谁活得长的,要稳定快投靠我大爪哇

----发送自 S ...

感觉纯就语言上来讲,自己喜欢C#多过Java(毕竟……
回复

使用道具 举报

     
发表于 2014-4-3 23:23 | 显示全部楼层
leystage 发表于 2014-4-3 23:17
感觉纯就语言上来讲,自己喜欢C#多过Java(毕竟……

兄弟,这里有一条令人感动落泪的新闻:

微软宣布.NET Native预览版
http://www.cnbeta.com/articles/279991.htm
回复

使用道具 举报

     
发表于 2014-4-3 23:26 | 显示全部楼层
Win32 API, COM是M$这么多年最稳定的玩意了,其他的都不可靠。
回复

使用道具 举报

发表于 2014-4-3 23:28 | 显示全部楼层
tonyunreal 发表于 2014-4-3 20:15
WP8 app工程可以转WP Silverlight 8.1 app工程
微软一直在说的应该就是这个

嗯,还是尽量用最新的开发吧。毕竟8.1年中之前就可以全面铺开,wp7的份额也很小了,基本可以不用考虑。

微软一直都有这方面的问题,希望universal apps以后(wp store app应该算是这的第一步?)这方面能够好一点。
回复

使用道具 举报

     
发表于 2014-4-3 23:56 | 显示全部楼层
S1Nyan后续版本跳过8,直接上8.1
回复

使用道具 举报

     
发表于 2014-4-4 00:00 | 显示全部楼层
obiwang 发表于 2014-4-3 23:56
S1Nyan后续版本跳过8,直接上8.1

obi大大加油!生日快乐!!
回复

使用道具 举报

     
发表于 2014-4-4 00:03 | 显示全部楼层
thq 发表于 2014-4-3 23:26
Win32 API, COM是M$这么多年最稳定的玩意了,其他的都不可靠。

个人的感觉(可能是错觉)是windows8出来了精力全投到windows store app那边 搞windows runtime 而以前的wpf并没有太发力,不过这次说要重新着力了
回复

使用道具 举报

     
发表于 2014-4-4 00:04 | 显示全部楼层
vdo 发表于 2014-4-3 23:23
兄弟,这里有一条令人感动落泪的新闻:

微软宣布.NET Native预览版

很期待的 但为啥现在才出来啊愤怒 而且还只是针对windows store的 wp的啥时候来啊T T
回复

使用道具 举报

     
发表于 2014-4-4 00:04 | 显示全部楼层
vdo 发表于 2014-4-3 23:23
兄弟,这里有一条令人感动落泪的新闻:

微软宣布.NET Native预览版

很期待的 但为啥现在才出来啊愤怒 而且还只是针对windows store的 wp的啥时候来啊T T
回复

使用道具 举报

     
发表于 2014-4-4 06:17 | 显示全部楼层
其实 Silverlight for WP app 和 Store app 也没多大变化,基本上可以看作类库重新整理了一下
System.Windows.Controls 移动到了 Windows.UI.Xaml.Controls
System.Windows.Media 移动到了 Windows.UI.Xaml.Media
诸如此类
仔细对比下就能看到,各种类的名字,功能,继承体系其实都没变,就是所在的命名空间改动了
回复

使用道具 举报

     
 楼主| 发表于 2014-4-4 09:55 | 显示全部楼层
本帖最后由 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分类下
和文档里的名称有一定差别
回复

使用道具 举报

发表于 2014-4-4 10:19 | 显示全部楼层
微软毫不犹豫地推新东西,又毫不犹豫地放弃真不是一次两次了…………
现在想想向下兼容做的这么复杂一部分也是他自己作的
回复

使用道具 举报

     
发表于 2014-4-4 10:44 | 显示全部楼层
早直接一步到位不久完了,虽然有怨言但还是皆大欢喜的结局
估计是当时桌面OS还没进化到位吧=。=
回复

使用道具 举报

头像被屏蔽
发表于 2014-4-4 10:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2014-4-4 10:49 | 显示全部楼层
jun4rui 发表于 2014-4-4 10:48
我真想问问微软,你们怎么设计产品路线的?或者有做过产品规划吗?

微软:别猜了,我们的节奏你摸不到的
回复

使用道具 举报

发表于 2014-4-4 10:51 | 显示全部楼层
ak47159754 发表于 2014-4-4 10:44
早直接一步到位不久完了,虽然有怨言但还是皆大欢喜的结局
估计是当时桌面OS还没进化到位吧=。= ...

问题是,微软总会又迈出一步
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-9-3 22:04 , Processed in 0.250945 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表