说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

关于WP8开发者程序开发语言选择倾向的问题

HTML文档下载 WORD文档下载 PDF文档下载
来自WPXAP网友slice的一篇冷静客观分析Windows Phone 8开发的帖子

作者:苏扬

 

来自WPXAP网友slice的一篇冷静客观分析Windows Phone 8开发的帖子:

 

基本概念:

 

1.Windows 8有Pro和RT两种版本,Pro采用x86,RT采用ARM。

 

2.x86版本可以运行Metro外还可以运行所有现有的桌面程序(只要没兼容问题),ARM除了运行Metro程序,只能运行微软提供的有限的桌面程序并不允许第三放的桌面程序,例如Windows 8自带的资源管理器、桌面版IE10、桌面版的画图以及桌面版Office。

 

3.跨平台分为两种,一种是写一次,直接可跨平台运行,另一种是移植后才可以运行。

 

4.关于商店,Windows 8 Pro版和RT版都会访问同一个Windows商店,而Windows Phone 7和Windows Phone 8会访问手机版的商店。两个商店是完全独立的,手机商店里面你不会看到任何Windows商店的Metro程序。

 

5.Windows 8的Pro和RT版,能够直接跨平台运行的,只有Metro程序,而且必须是非C++的,也就是C#+XAML或HTML+JS。

 

6.Windows Phone 8的程序,无论如何都需要移植,因为Windows Phone 8的RTP无论多接近RT,它也还是一个缩水版,而且你也不会想要手机和平板是一套界面吧,很多基本软件界面大改基本就是重新开发。

 

7.移植的问题,主要是由语言和API的共通性决定的,silverlight是C#+XAML,语言共通。API的调用方式也相同对于C#,当然WinRT是Native code,siverlight是托管代码,效率有差,但这个差距不要以为很大,例如你要调用silverlight播放一个MP4视频,silverlight也不是自己去播放视频而是调用系统的功能,都是原生的还硬解呢。

 

 

结论:

 

Windows 8会共用一个商店,但你想要你的Metro程序只上架一个就能搞定两者,就不能用C++,如果非要用C++,那么就要为ARM专门移植一份(就算这个移植调整很小甚至只是重新编译一下),然后上架两个软件分别针对X86和ARM额版本,并维护两个版本。

 

Windows Phone 7和Windows Phone 8共用商店,如果要做到两个平台兼容,也就是只维护一个版本同时搞定Windows Phone 7和Windows Phone 8,该用什么方式不言而喻,这个微软当初WP7屏蔽一切CE的一切,死不开放native code,就是为了今天换血后平台的延续性做准备,所以WP8换心后Windows Phone 7可以作为Windows Phone 8的子集继续存在,基础软件仍然共通。

 

如果搞其他,特别是C++,就代表,Windows Phone 7一份,Windows Phone 8一份,Windows 8 Pro一份,Windows 8 RT一份,维护4个版本,要知道Windows Phone 8双核设备距离正式上架发售至少需要半年时间,Windows Phone 88开始销售后Windows Phone 7作为中低端还会销售很长时间。

 

自己衡量,自己那些客户端类软件,有哪一点需要用到C++,何况是managed的C++,大家都是一样的地位去调用WinRT,逻辑没优化好,小心人家HTML+JS都比你流畅,要知道C++做业务逻辑的效率和可维护性时远不如C#。

 

游戏当然没啥好说的,除了小游戏,大型3D游戏一定会迅速抛弃Windows Phone 7。

 

关于性能:

 

其实做网页的人最善于优化加载的逻辑了,这与HTML本身DOM的加载方式有关,而且开发人员优化到位,例如图片要滑到你能看到的地方才用ajax异步加载,这是作为web开发人员所开发绕不开的东西,他们本来就会扣每一点数据的请求和加载,流量啊,习惯异步做完一件事做另外一件。

 

加载逻辑优化最差的,首选只会搭积木的Net程序员,什么MVVM,请求到50条数据,绝对是一次性绑上去显示出来,然后卡你一下,Net程序员经常是1000条数据都不做延迟加载,一次性往列表插,例如很多歌词软件,你进入歌曲列表,100首的都还好,C#的性能还能够承受,如果你歌有1000首,呵呵,你就感觉到了,可悲的是我就是那种手机上1000多首歌的,喜欢存满自己爱听的专辑然后随时都有选择。

 

还有就是Net程序用多线程Easy,进一步造成卡,很典型的就是,搜狐视频这类程序,进入后只要你敢立即滑动页面,会触发该页的请求,然后用户滑动到另外一页,触发了几个页面的请求,这些请求同时进行,本来这几个并行的请求完成后应该先判断用户是否还停留在该页是否还有必要立即往界面中填充数据,还是等用户切换回该页后再往界面填充数据,显然这种基本的逻辑没有做,所以,在你滑动时必须先卡死你一下。C++不了解,不多说,但同时期稳定性较低的一定是C++的程序。

 

最后,大家会发现,最不容易卡的程序,是就语言来说效率最低的HTML+JS,不信大家可以拭目以待。

 

大家都清楚,Windows Phone 7是Windows Phone 8的一个子集,未来会有越来越多的软件不支持Windows Phone 7,特别是新的3D游戏,但也不至于什么开发者全部转向C++之类的,C++不过是一种选择,特别是本身就熟悉C++的开发者,.Net开发者会回过头学C++的不多。为何大家都选择忽视Windows Phone SDK7.x的软件同时支持Windows Phone 7和Windows Phone 8。

 

来源:http://www.wpdang.com/archives/32849.html

 

继七年iPhone、四年iPad后,苹果的下一城:Healthbook 普元CTO焦烈焱:专注于基础软件 在Spark上的深入实践 Python 3.4.0正式发布 未添加任何新语法特性 谷歌受困邮件挖掘丑闻,企图抹掉庭审记录 Python 3.4.0发布,增加了多个功能模块 美的+阿里,“云端”战略第一把火是智慧家居 对产业互联网战略的战术思考——争夺企业信息入口的战争 加入Cassandra,OpenStack发力DBaaS生态圈 死磕Google Keep,微软正式发布Mac免费版OneNote 《近匠》安管云CTO石磊:降维安全的开放平台 2014 Unity亚洲开发者大会·中国站讲师名单议题全部出炉 【独家专访】红旗Linux元老:猎猎红旗永飘扬 借助三大技巧 助你提升API状态页面 集成GemFire,Hadoop生态圈的又一把火 次世代光照体验:Unity 5面世,功能系统全升级 深入浅出,以咖啡店为例演示Web应用程序扩展 百度Clouda:可依赖的实时JavaScript开发框架 Oracle发布Java 8正式版及JDK 8 编程语言中一些令人抓狂的规则 廉颇未老,微软股价创14年新高 中国云计算大会PPT集萃(三):核心架构及应用实践 特性是增多了,但是Google的云服务仍然不温不火 全国云计算大数据创新项目评选活动正式启动 【独家专访】Perl发明者首次来华:将在OSTC大会分享其编程人生 腾讯核心创始人张志东半年后卸任首席技术官 改任终身荣誉顾问和学院讲师 咱们约会吧,Web设计师教你不一样的语言 开发者不容错过的10款免费JavaScript游戏引擎 付费授权、开放源码,全新虚幻引擎4正式发布! Larry Page未来计划:用科技创造美好生活 AWS 8周年,收入超四主要对手之和 分析:北京网络广播电视台私有云实践 我是新手,请问在delphi5中如何建库(orcle和sybase)? 问一个比较弱智的问题 js文件里如何使用另一个js文件里的函数30? 哪位大虾知道可以在哪里下载mpeg-1的codec,谁先告诉有效地址谁先得分!(不给分是小狗!) 可能很菜的问题,送分的问题!! 一个关于CDaoTableDefInfo的问题 ado的问题??求救!!!高分!!! 有关代码重用的问题,对Form的继承。 一个关于CString.Format的问题 学习编程时学图算法怎么学好? 一个很简单的CREATE TABLE语句为什么出错呢?向大家请教! jbuilder5运行需要最低配置 ,傻傻的问 Delphi6的盗版已经到了@_@ 喂,为什么我提问只能给最多37分,原先可比这要多的多 一个关于派生类的问题 关于页面关闭的问题 用new JTalbe(10, 20)创建了一个table,如何设置该table列(column)的宽度 请教一个关于用VC6开发outlook\exchange的问题。急!急! 时间服务器 请问一下,用DBM,如果用户注册的数量多了以后,程序的速度很一般的文本速度比较哪个快 纯数学问题:如何求模逆元? VB中实现进程间通信的方法?VB中的CallWindowProc的用法?VB中如何发送自定义的消息? 请问哪里能免费下载BCB5?下载多长时间没有关系,只要能够正确使用就可以了。 怎样得知CListCtrl中当前选项? 我想从WINME中自带的一个驱动程序提取出来在WIN97中安装,请问应如何做? 菜问题(2) 请教:为何数据库数据无法在网页上显示? CEditView 一定要override onChange function(ON_CONTROL_REFLECT(EN_CHANGE, OnChange))????;否则input 时不我待会错??? 请教:不通过页面,用VB如何得知来访者的IP? 如何将vcd转化为real的格式???????????急!!!!!!!!!!!!!! 对DMO播放内存MPEG2数据没有头绪,谁能给点提示? 支持bestbestbest!!!!!!!!!!!! 如何在win98下使用EJB? applet 可以打开到一个server的socket么 谁知道国内哪有下载jdk1.4,Thanks! 如何配置For Oracle8i 的ODBC? 请教如何动态改变窗口大小 弟兄们救命啊!!!rational rose中mdl的导出 Jbuilder5.rar的密码? 这条语句为何通不过?请指教! 各位大虾:一个WWW服务器,不通过页面,要得到访问者的IP怎么办? 劳改犯严正声明:支持3B、蝈蝈的正确领导,声讨"捣蛋杂碎"及"跳梁小丑".坚决维护水园的安定团结. 哪位高手能给我解释一下,关于Hook技术,谢谢 pcb板什么什么东东? 请问:malloc()函数的作用是什么? 关于TTS(vcmd.exe自动化服务器) to 斑竹 :::::::,为什么我提问给分怎么比以前少了许多 急急, 怎樣從在一個框架里放打印按鈕,但要打出來的是另外一個框架的東西? 我是一个初学者,要成为一名软件工程师,要学习哪些? ···基于水园各位GGJJDDMM的快乐着想,特别给大家一次浪漫的机会,以此缓解水园的紧张气氛··· 北京地区有ADSL了吗????? 一个池塘周长为240m沿池塘周围每隔4米栽一棵柳树,每两棵柳树之间等距离栽了3棵杨树,一共栽了多少棵柳树,多少棵杨树?求算式子? 在一个周长400米的圆形池塘周围植树,每隔4米栽一棵 ,一共可栽多少棵? 同学们在全长100米的小路一边植树,每隔5米栽一颗(两端都栽)一共需要多少树苗? 一个湖泊周长为1800米,沿着湖泊周围每隔12米栽一棵柳树,每个两棵柳树中间载一棵桃树和一棵杨树.问:每两棵树之间的距离是多少?共多少棵树? 在周长180米的池塘种树,每隔12米种一棵,要种几棵? 同学们在全长100米的小路一边植树,每隔5米栽一棵(两端要载).一共需要多少棵树苗? 一个湖泊周长1200米,沿湖泊周围每隔3米栽一棵杨树,每两棵杨树中间栽一棵柳树.湖泊周围各栽多少柳树杨树 一个圆形的花坛,周长是120米,如果沿着花坛周围每隔5米种一棵杨树,每两棵杨树之间种一棵树,一共可种()棵树 同学们在全长100米的小路一边植树,每隔5米栽一棵(只栽一端).一共需要多少棵树苗 一个圆形鱼塘的周长是270米,每隔9米种一棵杨树,每相邻的两棵杨树之间均匀地栽两棵柳树.栽了多少棵杨树?多 园林设计师傅打算在一个周长是150米的圆形花坛的周围每隔3米种一棵树,一共得准备多少棵树苗? 全长100米的小路植树,每隔5米栽一棵,两端要栽,一共要多少棵树苗 在一个周长是1200米的正方形池塘四周栽树,每隔10米栽一棵杨树,后来又在每两棵杨树之间又栽了2棵柳树. 一花坛周长60米,每5米种一棵树,共种几棵树 同学们在全长100米的小路一边植树,每隔5米栽一棵(两端要栽).一共需要多少棵树苗?方法怎么写. 等差数列:要在一周长400米的池塘周围等距离地在栽一些柳树,株距10米,再在每两棵柳树间栽3课杨树,在这个池塘周围共栽树多少棵 一个周长是78.5的圆形花坛,每隔两米种一棵树,最多种多少树?再说一下39.25是肯定不对的!40也不对!最好是整数。 李红在乘长途汽车旅行时,注意观察平直公路旁边的里程碑,并把对应的时刻记录了下来,数据如下表:里程李红在乘长途汽车旅行时,注意观察平直公路旁边的里程碑,并把对应的时刻记录了下 一个圆形广场的周长是100米,如果围着广场每隔10米种一棵树,一共要种几棵树? 一个圆形的花坛周长是20米,如果每隔5米种一棵树,那么一共可以种多少棵树? 某同学在乘长途汽车旅行时,注意观察公路旁的里程碑,并把观察的结果记录在下面表格中.表格如下:观察次数:1 2 3 4 5里程碑示数:10km 20km 30km 40km 50km观察时间:6:30 6:45 7:05 7:25 7:421、在6时30 周长为300米环形,每隔3米种一棵树,栽倒30颗树后接到通知改成每隔5米栽一个树后接到通知改成每隔5米载一棵问可以载多少颗树 一个圆形草地它的周长是480米沿着它的周长每隔六米种一棵树在在两棵树之间发两盆花一共放多少盆花 一同学在乘长途客车旅行时,注意到平直公路旁的里程碑,并把对应时间记录下来,数据如下表所示,回答问题┌——————┬—————┬—————┬—————┬—————┬————— 公园里湖的周长是2100米,围湖每隔14米种一棵树,要种几棵树? 在圆形的水池边,每隔3米种一颗树,共种树60棵,这个水池的周长是多少米? 某同学在乘长途汽车旅行时,注意观察公路旁的里程碑,并把观察的结果记录在下表中;里程碑数 10km 20km 30km 40 km 50 km 观察时刻 6:30 6:45 7:00 7:20 7:39 (1)汽车在总时间内的平均速度是多少?(2 一个圆形池塘,它的周长是27米,每隔3种一棵树,共需要几棵? 一个圆形水池的周长是12.56米,它的占地面积是多少平方米? 植树队在路的两旁种树,路的两端都种子树,一共种了300棵,树与树之间的间隔是5米,这条路长多少米? 周长为300米环形,每隔3米种一棵树,后接到通知改成每隔5米栽一个树,问可以载多少数题目叙述的不完整 是栽倒30颗树后接到通知改成每隔5米栽一个树,问可以载多少数 一个圆形水池的周长是62.8米,这个水池占地面积是多少平方米? 农民伯伯在公路两旁种树,树与树之间的距离是3.8米.已知两边共栽了300棵树.这条公路长多少千米?(公路的两端都要种树.)快,我现在就要,答得好我额外给 在某淡水湖四周筑成周长8040米的大提,提上每隔8米栽柳数一棵,然后在相邻两棵柳树之间每隔2米栽桃树一棵.应该准备柳树和桃树各多少棵/ 关于两棵大树围着一棵小树的作文.450字 一个圆形水池的周长是25.12米,这个水池占地面积是多少平方米? 在某淡水湖四周筑成周长为8040米的大堤,堤上每隔8米栽柳树一棵,然后在相邻两棵柳树之间每隔2米栽桃树一棵,应准备柳树和桃树各多少棵? 两棵大树中间有一棵小树 一边有太阳 一边下雨 600字作文 一个圆形水池的周长是31.4米.现将这个圆形水池的直径扩大3分之2后,水池的面积比原来多多少平方米 一个正方形水库的周长是1600米,在水库的周围每隔8米栽一棵柳树,每两棵柳树中间再载两棵白杨树共种多少树一个正方形水库的周长是1600米,在水库的周围每隔8米栽一棵柳树,每两棵柳树中间 看图作文,两棵强壮的大树中间有棵矮小的小树 挖一个周长是56.52米的圆形水池,这个水池的占地面积是多少平方米 水库大坝是一个近似圆形,周长是2430米,每隔9米种柳树1棵,可种柳树多少棵?相邻两棵柳树之间每隔3米又种水库大坝是一个近似圆形,周长是2430米,每隔9米种柳树1棵,可种柳树多少棵?相邻 两棵大树之间相距250米,园林部门计划在两棵大树的中间补栽小树,便每两棵小树之间的距离是10米,一共要补栽多少棵小树? 在圆形的水池边,每隔3米种一棵树,共种树60棵,这个水池的周长是多少米? 如图在某一平地上,有一棵树高八米的大树,一棵高三米的小树,两树之间相距12米,今有一只小鸟在其中一棵树梢上,要飞到另一棵树的树梢上,问它飞行的最短距离是多少 两棵大树中间有一棵小树 一边有太阳 一边下雨 题目该怎么起 在一个周长是400米的正方形水池边种树,每隔10米种一棵,共需种 几棵树,每边种了 在某一平地.有一棵高8米的树.在距离12米的地方有一棵小树.问两树尖相距多少米(解法) 两棵大树之间相距250米,园林部门计划在两棵大树中间补栽小树,使每两棵小树之间的距离是10米.一共要补栽多少棵树 一条路长100米,在路的一边从头到尾每隔10米栽一棵树,一共要栽多少棵树 在某一平地上,有一棵高6米的大树,一棵高3米的小树,两树之间相距4米.今一只小鸟在其中一棵树的树梢上要飞到另一棵树的树梢上,问它飞行的最短距离是多少? 两棵大树之间相距250米,园林部门计划在两棵大树中间补栽小树,使每两棵小树之间的距离是米,一共要补栽多少 在一条长100米的通路两侧,从头到尾每隔2米在一棵树,按2棵杨树,一颗柳树的规律栽植.杨树,柳树各占植树总棵要算式 平地上有一颗15米的大树和一颗高7米的小树,两树之间相距15米,一只小鸟要从其中一树的树梢飞到另一棵树的树梢上,问他飞行的最短距离是多少? 两棵大树之间相距160米,园林部门计划在两棵大树中间均匀地补栽39棵小树,每两棵小树相距多少米? 在一条长100米的路两侧,从头到尾每隔2米栽一棵树,按2棵杨树,1棵柳树的规律栽植,杨树,柳树各占植树总棵树的几分之几 平地上有一棵高8m的大树和一棵3m的小树,两树之间相距12m.一只小鸟要从一棵树的树梢上飞到另一棵的树梢上,问它飞行的最短距离是多少(画出草图然后解答)? 两棵大树之间相距180米,园林部门计划在两棵大树中间栽44棵小树每两棵小树的间隔距 在一条长100米的甬路的两侧,从头到尾每隔2米栽一棵树,按2棵杨树,1棵柳树的规律栽.杨树,柳树各占植树总棵的几分之几?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn