百科问答小站 logo
百科问答小站 font logo



为什么有人说数码博主「何同学」是赛博丁真,或者说这样说的人是出于什么考虑(心态)的? 第2页

        

user avatar   smart12138 网友的相关建议: 
      


user avatar   liu-pei-ran-50 网友的相关建议: 
      

其实我从小到大见到的残障人士并不是很多,小时候以为是残疾人数量很少,长大了才知道是因为我们给与他们的支持可能还太少,不足以让他们可以自在地出现在大街小巷。

所以看到这个康复师在镜头前侃侃而谈的样子,我觉得很高兴,因为他自信、耐心、温和,和大多数人没什么两样。如果我是一个听障患者,我一定能从他的身上汲取到继续生活下去的力量。有他的帮助,越来越多的听障朋友才能鼓起勇气走上大街,过正常的生活。

小时候接触到的残疾人士,大多不是这样。比如我印象最深的是一个哑巴爷爷,他应该是从小听不见,所以也不会说话,日常就是默默地坐在老城小巷的一个角落,勤勤恳恳地给顾客修鞋。我上下学常常会经过他,但是没什么交集。

后来有一次,我妈让我把家里的鞋拿去给他修,修完以后要给钱的时候,他居然摆手不要。旁边一个卖菜的大妈解释了我才知道,原来是爷爷看我年纪太小,不收钱。说实话,我日常经历的更多的是看我年纪小,多收钱的(比如买菜),第一次被“免单”,对象还是个赚钱不易的聋哑老爷爷。

结果回家我和爸妈说没给钱,我爸妈还开玩笑说以后都让我去,给我整生气了,后面家里有鞋要修的时候,我都让我爸妈自己去。

现在基本上也没人修鞋了,不知道老爷爷还在不在世,愿善良的人永远被温柔相待。


user avatar   chang-fa-dai-xiu 网友的相关建议: 
      

必须来答一波

“胖子不怕冷”


作为一个183cm 83kg的胖子,在冻成狗的时候,旁边的人总会冒出这句话还有附送两个白眼。

一把我辛酸泪,又有他谁人知。

寒风中那胖子,可怜他披单衣。

拜托,脂肪只是保护内脏温度的。

人感觉到冷是神经末梢,传递给大脑的刺激决定,胖子并没有比别人少什么好吗。

吃你家干脆面了?胖子的肉不是肉啊。胖子的肉没感觉啊。

——————— —分割线————— —————— —————— ———分割线——— ——————

评论区的兄弟们你们让我又找回了信心哈哈。

我家可能都比较瘦吧,我表妹158 34kg,表弟170 54kg

谢谢大家对偏胖的人的理解,握爪

不赞一个再走吗


user avatar   camillej 网友的相关建议: 
      

成为美国总统?


user avatar   zao-wei-93 网友的相关建议: 
      

成为美国总统?


user avatar   zhi-neng-shou-heng 网友的相关建议: 
      

总体还可以,开场雷军先自我吐槽了一波“在微博开了一星期的发布会了”



第一个卖点是全息幻彩屏,可见小米也要走颜值+工业设计的路线,而不是只玩跑分了。


接下来则是一些手机的设计细节,比如这个“天使眼”


说这些还蛮让人觉得有新意的,感到了小米不再只是不服跑个分的套路了。

接着就是强调轻薄,感觉是为后面的电池做铺垫啊哈哈:



然后第五代屏幕指纹解锁,其实还是不错的,就是被iQOO直接跟进了第六代技术的发布,亮眼度低一些,但实际使用应该还是很不错的:


然后,军军有开始骚操作,直接放2轮王源的宣传视频:

不得不说,对于粉丝圈来说,这招真的很到位了,也显示去了小米一直以米粉为重的态度。是个加分项。

然后就是到位的尬聊环节,感觉比吴亦凡更让人看着舒服一些啊~

小米这波营销+公关的升级还是可以的。


然后就是女生为主的“汤圆”粉丝群,男生为主的“米粉”粉丝群,交互欢呼。不得不说王源还是实在人啊:


然后跑分没啥意外,安卓旗舰水平


拍照确实小米史上最强,DxO第三其实也很不错了:



对了,补一句,这个系统老化18个月疯狂暗示不卡顿的友商啊:

样张环节,这年头国产安卓的发布会,iPhone可能会迟到,但绝不会缺席:

雷军还是厚道,没把明哥的V20拍月亮放上来:

基本同价位无敌了:


电池果然。。。,快充有线无线都不错,PPT魔性啊:




配件到是继续“真香”


说到堆料,加大内存是最简单的之一:



最后:厉害。。

这定价只要供货稳定,肯定是爆款了,确实有些让人意外,对比其他3000价位的手机确实性价比拉满。

关键,关键,就是能不能轻松买到了。

接下来,小米9SE,骁龙712首发,性能在日常使用中其实也不错。

摄像头配置在2000档也属于恐怖:

可以说打2000档友商的产品,配置和性价比方面稳稳的:


还有一个对饭圈来说,很有吸引力的杀手锏:


所以看得出,小米这次发布数字旗舰和次旗舰,也算是转型之作,性价比还是不错,但也加入了很多非跑分元素的东西,并且放弃了大电池,追求快充和轻薄好看,总体来说前途还是不错的。


归根结底还是看最重要的这张PPT能执行到什么程度了:


相关回答和拓展:

猜价格:果然主力机型是我预料的2899-2999的超级能打区间,低配转为小米9SE的形式,高配没有走量机型发布,留给后面的MIX4们发挥:

评价定价:

评价小米9SE:


最后,再次感谢大家阅读到这里,比心~!


user avatar   chen-bing-hao-11 网友的相关建议: 
      

总体还可以,开场雷军先自我吐槽了一波“在微博开了一星期的发布会了”



第一个卖点是全息幻彩屏,可见小米也要走颜值+工业设计的路线,而不是只玩跑分了。


接下来则是一些手机的设计细节,比如这个“天使眼”


说这些还蛮让人觉得有新意的,感到了小米不再只是不服跑个分的套路了。

接着就是强调轻薄,感觉是为后面的电池做铺垫啊哈哈:



然后第五代屏幕指纹解锁,其实还是不错的,就是被iQOO直接跟进了第六代技术的发布,亮眼度低一些,但实际使用应该还是很不错的:


然后,军军有开始骚操作,直接放2轮王源的宣传视频:

不得不说,对于粉丝圈来说,这招真的很到位了,也显示去了小米一直以米粉为重的态度。是个加分项。

然后就是到位的尬聊环节,感觉比吴亦凡更让人看着舒服一些啊~

小米这波营销+公关的升级还是可以的。


然后就是女生为主的“汤圆”粉丝群,男生为主的“米粉”粉丝群,交互欢呼。不得不说王源还是实在人啊:


然后跑分没啥意外,安卓旗舰水平


拍照确实小米史上最强,DxO第三其实也很不错了:



对了,补一句,这个系统老化18个月疯狂暗示不卡顿的友商啊:

样张环节,这年头国产安卓的发布会,iPhone可能会迟到,但绝不会缺席:

雷军还是厚道,没把明哥的V20拍月亮放上来:

基本同价位无敌了:


电池果然。。。,快充有线无线都不错,PPT魔性啊:




配件到是继续“真香”


说到堆料,加大内存是最简单的之一:



最后:厉害。。

这定价只要供货稳定,肯定是爆款了,确实有些让人意外,对比其他3000价位的手机确实性价比拉满。

关键,关键,就是能不能轻松买到了。

接下来,小米9SE,骁龙712首发,性能在日常使用中其实也不错。

摄像头配置在2000档也属于恐怖:

可以说打2000档友商的产品,配置和性价比方面稳稳的:


还有一个对饭圈来说,很有吸引力的杀手锏:


所以看得出,小米这次发布数字旗舰和次旗舰,也算是转型之作,性价比还是不错,但也加入了很多非跑分元素的东西,并且放弃了大电池,追求快充和轻薄好看,总体来说前途还是不错的。


归根结底还是看最重要的这张PPT能执行到什么程度了:


相关回答和拓展:

猜价格:果然主力机型是我预料的2899-2999的超级能打区间,低配转为小米9SE的形式,高配没有走量机型发布,留给后面的MIX4们发挥:

评价定价:

评价小米9SE:


最后,再次感谢大家阅读到这里,比心~!


user avatar   zhang-xin-19-25-95 网友的相关建议: 
      

何婉琪 儿子何东舜铭

他虽然姓何,但不是赌王的儿子,他是赌王的亲外甥兼亲侄子。对,他是乱伦之子。

他是分析此事的金钥匙。

比较重要的信息是长房二女何超贤将长房四女何超雄、何婉琪儿子何东舜铭、二房长女何超琼列为被告。

这基本上体现了赌王家族的派系站队情况:

长房早已失势,大太太早死,长子早死,两个女儿也是富豪中的破落户。但是从被告情况来看,长房四女应该跟当权的二房关系尚可,至少可以作为一个装点门面的稻草人、掩盖长房被边缘化的残酷真相,在此基础上,本就破败的长房自己也四分五裂,二女和四女不和。对比报团的二三四房,不知道应不应该总结出“团结就是力量”这句真理。

长房衰落符合其他所有人的利益,他们占据的名分大义和先手优势让父亲忌惮,也让其他庶母和弟妹眼热。

毕竟在多疑的皇帝眼里,嫡妻嫡长子都该死。

其他庶妃庶子们:爸爸说得对!

二房当权,名分上虽是妾,但比无名无份的三房四房好一点,加之长房早死,二房地位得天独厚,唯一特殊的一点是,目前是离异无子的长公主何超琼当权,(赌牌、政治地位、与中央沟通渠道都在何超琼手里)而不是二房独子登基,这大概是一个平衡多方势力可以暂时让众人都有盼头的选择,类似于皇太极死了,为了统治阶级稳定多尔衮自己不登基而是拥立幼子福临继位,不过二房独子和次女都是掌握实权的,这里也要考虑二房独子的性格,他貌似是一个跟父亲对抗的孤僻儿子,只生一个女儿,跟门当户对的妻子关系稳定,几乎没有花边新闻,处处跟父亲反着来(赌王风流、多妻多子、爱出风头),所以也许是他不愿意出面做头号人物。

很多时候长女会跟父亲更亲近,这属于经典人物关系了,强势的父亲,受宠且能干的姐姐,以及处处与父亲对抗的小儿子。

三房小透明,符合三太太的性质,一个小护士在几方势力斗争最激烈的时候被推出来打破僵局,类似于在李治有意引导下,王皇后和萧淑妃斗法白热化时推出来的小尼姑,尼姑和护士都是特殊职业制服play,可惜三太太不是武则天,但也不差了,比李连杰太太强。

四房近年来最活跃,儿子上综艺,被群嘲,娶了名模,被群嘲,生了长孙,还是被群嘲。但还是火了。四房是仅次于二房的实权派,在赌王晚年很受重视,四太太也算是旧时代的平替版邓文迪。一般而言,赌王晚年的夺产风波最大的变数就是四房斗二房,当然现在看四房自己也知道没得争,但他们也知道斗不过也要斗,至少能多得到一些。

比较有趣的是何超贤连带着把何东舜铭也给告了,这就比较耐人寻味了,何东舜铭虽然姓何,但是他不是赌王的儿子,他是赌王亲生妹妹何婉琪的儿子,但他也不算是随母姓,因为他爸爸也姓何,他爸爸是赌王的堂弟,也就是说何东舜铭是何婉琪和堂兄弟乱伦生下的儿子。

何婉琪排位第十,人送外号十姑娘,是一位女强人,赌王家族似乎有女儿当权的传统,所以十姑娘一开始是赌王哥哥的得力助手,类似于贾探春的感觉,从这个角度上,何超琼也算是和姑姑类似的命运,不过赌王后来借的四太太的手夺了十姑娘的实权和股份,(不知道何超琼会不会继续步姑姑的后尘...),再后来四太太接手了十姑娘的权柄股份。这也导致何婉琪和赌王结仇,后来赌王试图缓和关系,但十姑娘拒绝了,而何东舜铭的身世也是十姑娘在跟赌王打官司的时候爆料出来的,说是赌王拿儿子的身世威胁她。不过十姑娘还是败诉了。

值得注意的是现在赌王死了,十姑娘的仇人就剩下一个,那就是四太太。

所以现在可以看出一点有趣的事情,本来十姑娘早已失势,而何东舜铭更只是一个有血缘关系的外人,但是却深度参与遗产家纠纷,还是和二房当权长公主何超琼一起被告了,这可以推断他跟二房关系不错,甚至利益相关,这也符合逻辑,因为十姑娘和二房有着共同的敌人:四房。敌人的敌人就是朋友嘛。

但是更值得注意的是,十姑娘还有一个更大的仇人那就是赌王,而四房是赌王晚年的得意人,二房跟四房曾在媒体斗法,但是赌王和稀泥,事实上支持了四房,从那以后二房太太识趣地常驻加拿大,半隐退状态,这可以推断出两个事情,一个是四房是赌王晚年推出来控制局面的触手,主要是用来制衡太子派二房,类似于武则天晚年重用男宠制衡太子李显,继续类比的话,三房某种程度上起到了武家人的缓冲作用,再继续类比,长房就是在李治默许下被武则天先后斗垮的两个太子儿子;第二个重点是,被赌王防备的二房面对四房的攻势,选择了与四房和赌王同时有仇的在野党十姑娘联合,这里十姑娘类似于五王中的一个,其实这里应该还有其他几大财阀甚至政治的参与。

如果上述推理成立,那么基本可以确定,赌王晚年一会骂二房一会四房的做法并非全是老眼昏花,至少骂二房那些应该是真的,他真的防备着二房。

唉,其实赌王的制衡之术是有效果的,很有智慧...不过人老了其实制衡不制衡区别不大,虽然高寿,但他晚年真的还能体会生活的快乐吗。

人笨万事难,人老事事休,这是规律,没办法的,养儿防老这个说法...


user avatar   jiu-du-47 网友的相关建议: 
      

很少有人不基于框架直接写GUI界面啦,我这个回答就从GUI框架反过来推什么语言做GUI合适。(只聊桌面端GUI编程框架)

Qt

几乎是C++领域最流行的跨平台桌面端软件开发框架了,这个框架是两个挪威人在1995年创建的,发展至今可以说历史相当悠久,稳定性也很有保障。很多大公司都在用它做界面比如金山的WPS。

它内置了自绘引擎,也就是说界面上的一个按钮,一个文本框,都是Qt的引擎自己画的,这保证了基于Qt开发的软件界面在不同操作系统上看起来是一模一样的。

它提供了大量的与界面无关但与软件开发息息相关的API,比如、网络、文件系统、剪切板等,而且让这些API在不同的操作系统下都有效,这极大的节省了开发人员的时间。

但它也有一些缺点,比如在处理一些特殊需求上很不方便,比如:目前Qt有没有比较好解决高分屏下缩放显示的方案?Qt没有真正完美的无边框解决方案吗?等,在一些组件的渲染上也会出一些隐藏的较深的问题(QListItem),一旦遇到,就很难解决。

Qt近年来不太专一,qml,qtquick等,搞了很多,而且这些新玩意儿一直不温不火,有些模块做了又废弃了,比如:qt script,搞来搞去,搞的模块繁多且复杂,用起来不是很舒服。

Qt有界面描述语言(XML描述界面),可以通过设计器拖拽空间设计界面,编译期界面描述语言被转义成C++代码,性能上没啥损失。

Qt商业授权不太友好,开发商业应用一定要谨慎,之前听说有公司为此付出了高额的版权费。个人开发者可以免费使用。Qt的免费版本不允许静态链接,会有版权上的限制,但开发者还是可以通过一些特殊的编译方法静态连接Qt的库的。

除了使用C++开发Qt应用外,开发者还可以使用其他语言开发Qt应用,最流行的就是使用Python基于PyQt做Qt应用了,其他语言的绑定不是很成熟,但PyQt仍然有版权的问题。

GTK

GTK是1997年创建的,也非常成熟稳定,是C语言开发的,但有很多语言的绑定,比如官方支持的JavaScript、Rust等,当然用C++语言操作GTK也很方便,它也有自绘引擎(Cairo),也提供了大量系统相关的API,商业授权也非常友好,基于GTK开发商业软件不用担心收到律师函的问题,虽然它是一个跨平台桌面软件,但它似乎只在Linux操作系统领域流行,有非常多的Linux桌面软件都是基于GTK开发的。

这也直接导致GTK的维护者很重视Linux领域的发展,而忽视Windows和Mac领域。这个框架提供的很多API,只在Linux下有,Windows和Mac下没有。这样的API数量众多。甚至在Windows下编译一下GTK的源码都要比Linux下难很多。而且GTK的渲染引擎在Windows下性能表现也不如在Linux下好。

GTK在Windows上也没办法静态连接,它到不是因为版权的问题,而是它依赖MSYS2的一些库,这个库用于在Windows上模拟Linux环境,这也是为什么GTK在Windows上表现不佳的原因之一。

另外,由于GTK是C语言开发的,所以开发风格也很C语言化,这对于部分开发者来说可能觉得繁琐。

wxWidgets

wxWidgets是1992年英国的一个大学教授开创的跨平台GUI软件,也非常成熟稳定,商业授权非常友好。它没有自绘引擎,而是对不同平台下的界面API做了整合和封装,这样开发者在Windows下开发的软件看起来就是Windows窗口风格、Linux开发的软件看起来就是Linux窗口风格,这对于某些软件来说,正是他们想要的,但要想搞一些花哨的特效就没那么容易了。它同样也提供了大量的系统相关的API供开发者使用。

它是C++开发的,所以对C++开发者非常友好,除此之外它还支持静态连接,也就是说开发个应用不用分发给用户一大堆dll,当然Qt也支持静态连接,但是你得自己编译Qt的源码(不是很方便),而且Qt的授权规则也不允许普通开发者这么做。

它会有些小问题,比如我之前提的:wxEVT_NOTIFICATION_MESSAGE_DISMISSED event emit twice,但总体来说还是非常稳的。除了开发的界面比较死板外,没啥大的问题。目前使用这个框架开发软件的人越来越少了。

FLTK

fltk是1998年创建的跨平台开源GUI框架,历史悠久,商业授权友好,而且C++之父也用它,它非常轻量级,支持静态连接,一个简单的应用编译后只有500K左右,非常赞,

它有自己的自绘引擎,没记错的话用的是OpenGL,但它的重绘机制是按区域重绘的,如果组件A所在的区域上存在组件B,那么A组件重绘时,会把B组件的给重回掉,开发者必须自己写代码处理这种情况。想象一下,如果你想实现一个A组件fade out的同时B组件fade in的效果,就会非常麻烦。

FLTK提供的一些组件样式都比较刻板,绘图API也比较少,你想实现一个漂亮一点的圆角按钮(它内置圆角按钮的圆角大小是不能改的),必须自己画,而且还得借助一些非常奇葩的手段才行(如果你想知道,可以联系我)

它是C++开发的,但API不够现代,用起来总体还算舒服的,它有Rust绑定:fltk-rs。它的用户比前面三个都少。它提供了一些与界面无关的操作系统API,但非常少,几乎可以忽略。

Duilib

是2010年国内一个开发者开发的GUI开发框架,因为底层基于DirectUI开发,所以只支持Windows平台,不支持跨平台,开源协议友好,商用没有任何问题(需要附加Lincence文件),国内有很多大厂基于这个技术做桌面端应用,比如网易、腾讯、百度,这个框架是基于C++开发的,对C++开发者友好。但框架本身还有一些问题,比如对高分屏支持不佳、特殊控件绘制上也有一些小问题,除了界面相关的API外,几乎没有提供系统级的API,作者纯粹是用爱发电来开发这个框架,所以更新不是很及时。

相对来说网易基于Duilib开发的分支更完善一些:NIM_Duilib_Framework,添加了高分屏支持、多国语言、整合了多线程处理的支持,但环境搭建相对比较麻烦。如果开发者要用这个框架,一定要用develop分支下的代码,master分支下的代码问题很多,这个框架看上去也是作者一个人努力的成果。

Sciter

Sciter是2006年创建的跨平台闭源GUI框架,足够稳定,商业授权不友好,但个人开发者可以随便用(只能用动态链接库),一旦公司规模超过3人,就得买版权了(有权静态连接)。

它内部封了一个浏览器核心,让开发者使用HTML,CSS,JS来创建界面,但对这个浏览器核心做了大量的精简,不像Electron和NW.js动辄上百兆的体积,它只要6M就够了。当然这也意味着有些浏览器特性它是不支持的,比如CSS3的flex布局,它就不支持(但它提供了自己的flex布局实现方式)。以前它使用自研的一个脚本语言(和JavaScript很像),自从集成了Fabrice Bellard大神的QuickJs之后,就全面支持JavaScript了。它还对一些特殊的场景做了内置的支持,比如渲染大列表。

它使用C++开发,对C++开发者很友好,有Rust、go、Python等语言的绑定,但都是社区提供的,质量堪忧。有很多知名厂商都用这个库做界面,比如360、teamviewer、赛门铁克等。

RmlUi和Sciter很像,可以看成Sciter的替代框架,但RmlUi这个项目有三界作者,一个一个的弃坑不知道新任作者会不会弃坑,目前还不是很成熟,比如我正在尝试帮作者解决的CJK输入法的问题,目前还不推荐大家使用这个框架。

CEF

CEF是2008年创立的,基于Chromium的跨平台GUI框架,稳定且商业授权友好,国内很多大厂都用的CEF:比如微信桌面端、网易云音乐桌面端、QQ桌面端、微信桌面端、MATLAB、FoxMail、OBS Studio,装机量破亿。

由于它几乎封了一个完整的Chromium,所以体积非常大,但支持所有的HTMLCSSJS特性,它几乎不提供任何与操作系统相关的API,创建个托盘图标、读写个文件啥的,都要开发者自己完成,它是C/C++开发完成的,对C++用户非常友好,它有gopythonjava等语言的绑定,但都是社区提供的,质量值得担忧。

它对Chromium封装的很好,避免了开发者直接与Blink、V8、Chromium等复杂的代码打交道,很多功能都有默认实现方式,遵从约定由于配置原则,有经验的C++开发者可以很轻松的驾驭CEF框架。

由于Chromium是版本弟,所以CEF版本发布也非常频繁,很多被标记为稳定的版本,还是会出一些莫名其妙的问题,选一个好的版本非常重要。

与Electron一样,它也是分主进程和渲染进程的,所以开发者要非常娴熟的运用跨进程通信的技术,虽然CEF提供了跨进程相关的API,但复杂度还是有点高的,使用的时候要认真细心。

MAUI

这是微软的跨平台GUI框架,不仅仅支持桌面端,还支持移动端,但官方并不支持Linux的桌面端(黑人问号,感觉与微软近些年向开放、开源的大方针相悖),这个框架新的狠,至今还没发布稳定版。目前还没什么人用。而且不知道将来会不会被微软放弃。

它是.NET平台下的GUI框架,有自绘引擎,对C#开发者很友好,界面依然是用XAML描述的,可能很多人一听到XAML就直接弃坑了。XAML表现力确实弱一些,我觉得WPF没火起来跟XAML有直接关系。

使用这个框架开发桌面应用得封一个.NET框架给用户,当然有了.NET框架应用程序访问一般的系统级API也就不成问题了。

Compose Multiplatform

这是JetBrains搞的跨平台GUI框架,也非常新,前段时间刚刚推出1.0.0版本,但这个版本还不是很稳,至少比Flutter Desktop的第一个稳定版要差很多。同样也几乎没什么人用。

它的自绘引擎用的是Google的skia,这个自绘引擎稳的很,Chrome和Flutter都是用的它,所以排版、绘制、渲染之类的工作不太会出问题。比Java生态圈里的Swing和JavaFx要好很多。

JetBrains的东西当然对Kotlin开发者友好啦,Java生态下的很多东西你都能用,访问系统级API也没啥大问题,同样也得考虑封一个JRE给用户。

flutter-desktop

这是谷歌的跨平台开发框架,开源、免费、文档齐全、投入力度大且持久,同样也新的很,Windows版本刚刚发稳定版,Mac版本还没稳定。

如果你完全没搞过移动端的flutter,想用这个框架开发桌面应用,那么意味着你要学的东西还挺多的。好在dart和flutter入门都不是很难,学习曲线比较平缓。

由于flutter在移动端积累了很多年,所以界面上的一些东西在desktop端都比较稳(skia自绘引擎),与操作系统相关的东西还不成熟,生态也不太好,比如你想订制一下窗口的标题栏,想访问一下注册表这类工作可能得自己想办法。不过它有类似FFI的支持,跟C/C++语言打交道很方便。

开发者直接使用Dart语言描述界面,这会导致众多大括号嵌套在一起的问题,可能很多开发者不习惯。

webview2

这是微软Edge浏览器团队推出的跨平台GUI引擎,是闭源的,目前只支持Windows,对C#和C++开发者友好,如果使用C#开发,就得考虑把.NET运行时分发给用户,如果使用C++开发,就得自己处理系统级API的操作,webview2本身是不对系统级API做封装的。

这个框架推出也没多久,很多API也还不稳定,更值得担忧的是这个团队,他们前不久刚刚放弃了自己的浏览器核心转而使用Chromium浏览器核心,不知道他们会不会放弃webview2这个框架。

它的优势是可以复用系统当中已存在的webview2二进制资源,也就是说它虽然封了一个Chromium浏览器核心,但如果你可以确定客户电脑已经存在了基于webview2开发的应用,你的安装包体积可以足够小。

它也是多进程架构,甚至比Electron还要多一个进程(为了复用二进制资源),资源占用比较多。

webview

这个库使用操作系统的浏览器引擎来达到减小安装包体积的问题,Mac上使用Cocoa/WebKit,Linux上使用gtk-webkit2,Windows 10上使用Edge(也就是上一个小节里提到的webview2),它应该是不支持Win7的。开发者要考虑前端代码浏览器兼容的问题。

开源且免费(MIT)有go、Rust、Python等语言的绑定,不过官方支持的是go语言,C和C++,操作浏览器的API非常少,不支持自定义scheme,更别提系统级API了。

TAURI

采用的技术方案与webview类似,所以安装包也足够小,非常新,还没发布稳定版,开源免费。webview框架碰到的问题TAURI都有,

使用Rust开发,将来会支持Deno,作者说将来会直接使用webview的技术来支持多平台,

NW.js

NW.js最早把Chromium和Node绑定到一起,用前端知识做界面,用Node技术访问操作系统,最早叫node-webkit,在2012年创建。NW.js基于MIT开源,可以无忧使用。没记错的话,微信小程序开发工具是用NW.js开发的。作者是英特尔的员工,英特尔的一些工具也是用NW.js开发的。

除了Chromium和Node的能力外,NW.js自己也封装了一些系统级API,类似托盘图标、剪切板、系统菜单这种,但数量明显比Electron要少。

NW.js可以在多个窗口间共享同一个Node.js上下文,而且还可以通过配置让Node的上下文和Dom上下文混合,这给开发者带来了很多便利。心智负担减少很多。不像Electron要时刻想着进程间通信,哪些模块当前进程不能用这类问题。

NW.js虽然起步早,但奈何没有杀手级应用,周边的生态和工具链没发展起来。用的人越来越少,维护的投入也不如Electron大,再加上Chromium更新非常频繁,导致NW.js的有些API也不是很稳,恶性循环加剧。

Electron

Electron的作者曾经在NW.js团队工作过(NW.js项目贡献第二多的人就是Electron的作者),后来辗转到了github公司,于2013年在创建了Electron,也是个开源免费的产品。由于VSCode、slak等国际型产品都选择了Electron,所以从者甚众,生态和周边工具链也完善的多。虽然开发方式上有点蹩脚的地方(多进程架构及模块归属进程),但瑕不掩瑜。

Electron每创建一个窗口都会多一个进程,这使Electron创建窗口的效率不高(秒级),NW.js有复用进程的机制,即使新窗口加载完全不同域的页面也不会创建新的进程(毫秒级)。这也是为什么很多基于Electron开发的应用都使用Dom模拟弹窗的原因。

无论是浏览器相关的API,还是系统级API,Electron提供的都比NW.js多。

--------2022-02-25更新--------

这些框架除了对开发者使用的编程语言有要求外,还有一个重要的差异就是有没有独立的界面描述语言(也就是UI DSL),这非常重要,涉及到一个框架表达业务的重要能力。

类似XAML、qt的ui文件、HTML+CSS都是界面描述语言,下面这种也可以算界面描述语言,但我感觉它不够纯粹(flutter、qml和Compose Multiplatform都是类似这样的):

       panel {   row {     checkBox(...)     row {       textField(...) // indented relatively to the checkbox above     }   } }     

但无论如何,显而易见的是,没有任何一个界面描述语言能比的上HTML+CSS组合。想想看:HTML里各种花里胡哨的语义化标签和Dom操作技巧,CSS里的布局方式、伪元素、动画描述...,对比之下你就会觉得XAML、qml直流都是弟弟。

除此之外,一个优秀的GUI框架还有两个重要的需求,这里我简单聊聊:

强大的事件处理机制必不可少。

想想这些:鼠标事件、键盘事件、触屏事件...界面加载完成、媒体播放结束、元素大小改变...网络状态变更、数据段传输完成...另外,还得处理事件冒泡、事件捕获、事件分发吧...

qt的开发者曾经说过qt的SIGNAL和SLOT机制是有性能问题的(但影响很小)

强大的异步处理机制必不可少

你不能在用户处理业务逻辑的时候,让界面渲染工作阻塞,这就需要一个强大的异步处理机制,让开发者自己去开线程去完成业务处理,无疑是又麻烦又会增加开发者的心智负担。

我记得很早之前在C# WinForm应用中,点击一个按钮,如果不用Invoke执行逻辑处理的话,界面就会卡死。

这么看来,在你的GUI应用里包一个浏览器核心还是挺有必要的,这样你就可以用HTML+CSS强大的能力来描述你的界面,用JavaScript强大的事件处理机制和异步处理机制来完成用户交互。

可能有人会想,这会带来很多问题呀,比如应用体积会增大的100M以上、会占用更多的CPU和内存资源,还会更耗电等等。

确实,目前来看这些都是问题,但仔细想想,这些问题应该不会持续太久,网络会变的更快,用户的磁盘和内存会变得更大,CPU处理能力也会更好,耗电的问题当然会持续存在,甚至会愈发耗电,但电的供应会持续增长呀。

web相关的技术之所以胜出,并不是这些技术的设计者有多厉害,而是这20多年间,有大量的人涌入了这个领域,前赴后继的推动着它前进。其他任何一个领域都没有这么热火朝天的景象。推荐大家看看我的另一个回答:

------------2022-02-27更新----------

用Web相关的技术做GUI应用的优势是,让开发者可以把大部分精力投注在业务本身上,而不是处理与GUI相关的技术细节。

实际上所有的框架,都应该是这个目的,比如ORM框架,目的应该是让开发者把大部分精力投注在业务与数据之间的关系上,而不是管理关系型数据的技术细节。

当然这肯定是有损耗的,在性能、稳定性、资源消耗上,都会有所削减。而且,因为有框架的存在,开发者很难深入到框架内部做一些特殊的事情。比如,我们该如何修改HTML的排版渲染机制呢?

所以,有些框架注重性能,有些框架注重开发效率,开发者做选择题的时候也应该衡量这两个问题,你的应用对哪些方面要求多一些呢?

你如果要开发一个视频监控系统,没多少业务功能,但要24小时不间断的记录视频数据,随时调取某一段时间的视频数据,这种应用可能Qt是最好的选择。

你如果要开发一个类似飞书的团队协作应用,业务逻辑复杂的一塌糊涂,而且要在短时间内满足更多用户的需求,占领更多的市场,那么Electron可能是更好的选择(目前飞书已经不再用Electron了,他们自己编译了Chromium核心,自己封了一个类似CEF的框架)

目前微软、谷歌、JetBrains等公司都非常重视桌面端开发框架,也在推各自的框架产品,说明桌面应用领域并没有没落,反而应该更加受到重视。

虽然移动端应用大行其道,但我认为,只有生活、社交、轻娱乐等方向上的应用在移动端有较好的发展。文档协作、大型游戏、开发工具、专业管控软件等应用还是在PC端发展的更好一些,毕竟PC端有更多样的输入输出设备、更广阔的显示和交互的空间,更强的存储和计算能力。

希望桌面软件开发领域的从业者都能获得幸福。

满屏荒唐言,一把辛酸泪,一把辛酸泪,一把辛酸泪...



user avatar   luv_letter 网友的相关建议: 
      

这个问题我替瓜答了

“我来这里的目的是带领曼城取得好成绩,并将曼城塑造成一支豪门球队”

“我知道应该怎么带领球队取得好成绩,也知道如何塑造一支豪门”

“所以我用我的方式管理球队,这不仅仅是对曼城负责,也是对我自己负责”

“我所做的一切事都是为了以上的目的,就这么简单。”

对于竞技体育的从业人员来说,自身的唯一价值就是在比赛中取得胜利。在竞技体育俱乐部里谈政治阴谋太可笑了。对于教练来说,只要不违反法律法规,一切手段争胜的手段都是正当的,当然包括弃用不合自己要求的老将。教练就应该用一切手段争取胜利,这是对俱乐部负责,也是对自己负责,因为不赢,教练就什么都不是。

假如你是个羽毛球运动员,你的老球拍用了10年,突然发现有了更好的新球拍卖。那你就应该毫不犹豫的放弃老球拍,去买新球拍。

在现实社会中换人比换球拍更复杂一些。但道理是一样的。




        

相关话题

  为什么旧金山不是美国第一大城市? 
  机器通过主动学习能为人类生活带来怎样的改变? 
  如果把人类所知的所有知识都输入计算机需要多少内存容量? 
  华为正式进军私募,旗下的哈勃投资登记为私募管理人,华为此举出于什么战略考量? 
  如何评价 4 月 12 日发布的 HTC 10 Lifestyle? 
  iPhone 8 及 8 Plus 上手体验感如何? 
  国产手机和苹果的差距在哪? 
  为何 Apple 在 iCloud.com 上使用微软雅黑作为了中文字体? 
  2019 年对魅族来说意味着什么,还有哪些机会吗? 
  怎么拍出稚晖君一样的视频? 

前一个讨论
在深圳普通女孩的出路是什么?
下一个讨论
3月11日广州美博会被封,不出不进,现在广州疫情进展如何,你是如何看待的这一事件的?





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利