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



如何评价游戏公司「米哈游」? 第1页

  

user avatar   jiang-cai-kao-yan-bi-sheng 网友的相关建议: 
      

米哈游二次元是真的浓度高,他们居然能干出把三个boss放到自家乙游中当NPC,而且还搞出其中一个娘化,另外两个为她争风吃醋的设定,实在是。

我都不知道那些乙游玩家看完后会怎么想。

未定剧情在创作期的时候,三个创始人不知道什么原因同意把自己的名字写进主线里,还心血来潮打了一个赌,内容是谁输了谁的名字在未定剧情里性转。当然结果我们都知道了,大伟哥和蔡总赢了,老罗性转了,大伟哥和蔡总在未定主线里为了老罗争风吃醋。

yysy,罗羽好姐姐真的漂亮。我要单推罗总。

还有米哈游食堂的菜单,菜名都浓度爆表,什么“提米落泪广式乳鸽”什么“黄焖椰羊”还有个叫“海豹附体单抽出金冒菜套餐”,还有什么“轻策庄特产野猪手”。


user avatar   Alwaystayu 网友的相关建议: 
      

为知友们补充更多信息:

11月22日,据普洱市失联人员搜救联合指挥部通报,此前失联的4名地质调查人员,于11月21日被搜救队伍发现时已不幸遇难。11月23日21时50分,4名失联人员遗体已移交失联人员单位。

11月20日,云南省登山户外运动协会曾派遣24名搜救人员组成3支重装穿越小组,计划在无补给的情况下,连续5天长途跋涉进行搜救。他们选择的道路与遇难者被发现的地方仅相隔一条山脊。

↑搜救人员发现的失联人员的雨衣碎片。图据央视新闻

云南省登山户外运动协会会长胡文琨带领了重装突击队参加救援,他向红星新闻记者详细讲述了救援过程。

“我们指挥部在测量该地的磁场时发现,救援地的磁场是四川黑竹沟磁力强度的两倍。”胡文琨认为,失联疑主要是受当地的磁场干扰造成迷路,在遇难者自身没有认知到危险的状况下,发生了失温意外。“在事故发生前,四名调查员可能还在寻找工作点样地,他们个人认为还没有产生危险,所以没有打开装备发出求救信号。”

24人重装队伍曾做好长期搜救准备

红星新闻:这次派遣去哀牢山救援的重装突击队是怎么组建的?

胡文琨:我们带领了三支重装队重装突击队去哀牢山救援,因为这次搜救的道路非常艰难,在执行任务过程中,队员也会发生摔倒、罗盘方向受到干扰等情况,所以队员都是从云南省登山户外运动协会中,挑选出搜索技能和自我保护能力强的成员,组成8人一队展开搜救任务。

重装的意思是吃穿住行的装备全套。因为重装穿越基本上没有后援,所以吃穿住行的装备全要背在身上保障自己。这次重装突击队按照五天的给养定位,配备有帐篷、睡袋、GPS卫星电话、做饭的反应堆、燃料气罐、五天的食物、防寒保暖的衣物等。

↑11月21日,救援组在哀牢山中搜寻失联人员。图据镇沅县委宣传部

红星新闻:重装突击队进入哀牢山救援的情况如何?

胡文琨:在昨晚(23日)九点五十分,遇难者的遗体被护送下山送至镇沅县。这次搜救任务中,重装队扮演的角色是远距离搜索队,搜救选择的道路与遇难者被发现的地方相隔一条山脊。因为当时通过总部对现场的分析判断,认为这个方向比较重要,考虑到各种机会都不要放弃,所以重装队就沿着这条山路往下搜索,大方向没有错,只隔了一个山沟。

事故原因疑为迷路+失温 未打开RTK或因未意识到危险

红星新闻:根据遇难者被发现的现场,您认为意外发生的原因是什么?

胡文琨:通过对他们遗物的判断,当时食物和汽油都还有剩余,所以根据我个人的分析,我认为主要是受当地的磁场干扰造成迷路,在遇难者自身没有认知到危险的状况下,发生了失温意外。在外面的搜救过程中,电子罗盘和机械罗盘都有受到磁场干扰而紊乱。我们都是通过画图重新确定位置。

而14-16号三天大雨,山上一下雨就起雾,容易迷失方向。所以当时四名调查员受大雾和罗盘指向的影响,没有寻找到工作点的正确方向,在这个过程中,可能他们还在工作的状态,没有意识到发生危险,而失温的发展又很快,所以在很短时间里,发生失温意外。

因为意外发生得比较突然,遇难者没有表现得不好的状况,而是呈现失温者微笑的面部表情。四名遇难者相隔不远,有两个人并排躺在一起,一个人顺着一个方向,另外一个人跟他们间隔10米左右。只有户外失温这种情况才会很快地把人的生命带走。

红星新闻:遇难者都配备了RTK装备(实时差分定位)帮助定位,但他们并没有按下该装备,您认为是什么原因呢?

胡文琨:没有按下定位装置可能正是因为他们没有意识到危险和问题。我们指挥部在测量该地的磁场时发现,救援地的磁场是四川黑竹沟磁力强度的两倍。所以在事故发生前,四名调查员可能还在寻找工作点样地,他们个人认为还没有产生危险,所以没有打开装备发出求救信号。

遇难者野外生存经验丰富,救援难度巨大

红星新闻:您在看到救援现场和遇难者的照片后,您对四名遇难者有什么判断吗?

胡文琨:四位遇难者一位是干部,三位是战士。他们以前都是中国人民武警黄金部队的战士,最大的32岁,最小的是25岁。我们在这次任务中和他们的战友一起搜救,战友告诉我们,他们的能力非常强。他们主要负责林地调查、地质调查、冶金矿产等工作,至少有三年以上的工作经验,在野外工作中积累了丰富的野外生存经验。

他们作为户外调查的地质队员,户外生存能力比我们普通户外爱好者强大得多,甚至在某种意义上比我们有些户外专家都要强大。这也是为什么他们没有带那么多装备的原因,因为他们野外生存经验很丰富,就像猎人一样。

消防、武警、当地村民等组成搜救小组,在哀牢山中搜寻失联人员。图据镇沅县融媒体中心

他们能认识云南山地95%以上的可以吃的东西,可以就地取材寻找食物和水源。说个小技巧,他们可以用冷水把袋装的方便面煮熟,所以他们不会带很多东西上山。刚好哀牢山在14-16号连下三天的大雨,大雨就会有雾,有雾就会容易产生意外,而这次失温就是个意外。

红星新闻:在您从事的10多次救援行动中,您认为此次救援的难度如何?

胡文琨:哀牢山的地质地形格外复杂一些,这一次测了他们的磁场,发现是四川黑竹沟磁力强度的两倍。我们户外运动协会成立有六七年了,组织了包括山地、洞穴等多次救援行动。今年哈巴雪山就有三次,苍山有两次,洞穴有一次,但从来没有遇见过比这次大的任务。

这次救援行动在中国来说都是最大的了,它的救援难度应该是排在第一。它和其它的救援不一样,比如梅里雪山救援、泰国的洞穴救援和珠峰的雪崩,因为他们的位置比较明确,上山的道路比较简单,指向性非常明确,所以救援很容易开展。

但这一次是在几十平方公里进行大范围搜救,再加上遇难者没有信号、没有报警、没有定位,没有各种信息资源,救援全靠大海捞针。所以这次救援在世界山地救援史上,其难度都算大的。

来源:红星新闻

中国地质调查局昆明自然资源综合调查中心4名队员在云南哀牢山失联遇难,牵动各方关注。11月24日零时左右,4名失联人员遗体已运送至镇沅县殡仪馆。有救援人士向南都记者介绍,遗体被找到时呈现出失温特征。针对人员装备问题,24日,该中心党委书记范忠禹回应南都记者表示,中心给所有野外工作人员配备防水防雨保暖衣裤鞋,此前引发关注的一次性塑料雨衣,用途主要是防护粘性草籽。

南都此前报道,11月15日,云南省镇沅县政府接到报告:中国地质调查局昆明自然资源综合调查中心4名队员,于11月13日进入镇沅县者东镇樟盆村哀牢山后失联。失联地位于哀牢山国家级自然保护区,山形陡峭、树木茂密、沟壑纵横,平均海拔2500米以上,地理环境十分复杂,加之连日阴雨大雾,给搜救工作带来了极大困难。

此番搜救规模浩大。据央视报道,普洱和玉溪两地协同合作,从两头向中间合围搜救,玉溪前方指挥部也不断前移,并在救援中加大无人机、直升机的喊话频次。搜救投入专业救援人员和当地干部群众8000余人次、车辆150余辆、卫星电话100余部、无人机50余架、直升机10架次及相关物资、技术装备。搜救人员需要从海拔1700多米的山脚出发,翻越海拔2800多米的多座高山。

11月20日,搜救人员在失联人员简易宿营窝棚的下游发现了他们的雨衣。附近同时发现了排泄物。

11月21日18时33分,搜救指挥部接到搜救人员报告,在哀牢山玉溪市新平县水塘镇,调查样地东南方向直线距离1.85公里处发现3名失联人员,已无生命体征。11月22日8时32分,发现第4名失联人员,已无生命体征。

24日零时左右,4名失联人员由中国地质调查局昆明自然资源综合调查中心运送至镇沅县殡仪馆。整个转运过程长达40小时。

参与搜救行动的岳麓蓝天救援队队长谭章此前向南都记者介绍,“失踪人员的户外生存能力还是非常强大的”,痕迹表明,他们曾经顺着河流、溪流往下游走,用油漆在石板上面留下标志,应该是希望沿着水道找到村庄。被发现时,其中一名遇难人员衣物掀起,呈现典型的失温症状。搜救队伍认为,4人的遗体分隔两处,有可能是中途决定由一名队员外出求救,剩下三人原地保存体力。

而据媒体披露,4名失联人员携带的食物包括:2包蛋黄派、4罐八宝粥、1包巧克力、1包瓜子、4包鸡翅、4瓶饮料;香烟若干。

衣服包括:张金榜(黄色冲锋衣+保暖内衣),杨敏、张瑜(迷彩服+保暖内衣),刘宇(羽绒服+配发的冲锋衣)

作业工具包括:每人一台RTK,森林罗盘,2把工兵铲,3把砍刀,油漆,排笔,树牌,卷尺,皮尺,钉子,一次性雨衣,1个2万毫安充电宝,1矿泉水瓶汽油。

上述信息引发关注后,公众热议失联人员的装备是否妥帖齐全。11月24日,中国地质调查局昆明自然资源综合调查中心党委书记范忠禹回应南都记者提问表示,“我们给野外所有人员配备探路者防水防雨保暖衣裤鞋。妄自揣测一次性雨衣就更荒唐了,那是工作人员在山上作业时视具体情况用来防护粘性草籽的。”

目前,4名失联人员的遇难原因正在深入调查中。

来源:南方都市报

为知友们补充更多信息:

四人殒命哀牢山,为何进山时穿着“一次性雨衣”?

新民周刊微信公众号 消息,最近两天,“哀牢山”这三个字一直占据热搜位置,引发网友关注。

在失联整整8天后,4名中国地质调查局昆明自然资源综合调查中心工作人员全部找到,但都不幸遇难。四个年轻的生命,把心脏跳动的最后时刻留给了雨雾迷离、野兽出没的哀牢山,那个左手写字的张金榜再也没机会提笔写出漂亮的字迹了。

11月13日,这4名工作人员徒步进入云南哀牢山内部,开展野外作业时失联。他们中,最大的32岁,最小的25岁,都曾当过兵,具备野外作业经验和一定野外生存能力。

哀牢山原始的中山湿性常绿阔叶林 摄于2018年4月 玉溪市新平县 摄影/复旦大学生命科学学院博士顾伯健

在为4名遇难人员扼腕叹息的同时,笔者梳理了整个事件,提出几点疑问:为何专业人员也会失联?进山人员的装备配发是否合乎标准?为什么哀牢山的搜救难度这么大,需要投入8000余人次和10架次直升机?

目前,救援队伍正在开展失联人员遗体的转移工作,事件原因仍在调查当中。

失温或是罪魁祸首?

据搜救队员描述,4名遇难者被发现时,衣冠较为完整,没有被野兽侵害的迹象,初步判断遇难原因最大可能是失温。

失联人员所在哀牢山正值入冬天气,昼夜温差较大,白天能达到二十度左右,到了晚上则降到七八度,山区树木高大茂密,加之近期连日降雨,林中有雾,能见度极低。而0-10℃是失温的高发温度区间。

初期会觉得很冷,手脚不自主抖动,中期会出现意识不清,后期可能造成昏迷、心脏骤停。一般在低温下,正常成年人超过两个小时就有可能出现失温症状。

如此低温的环境下,再来看,工作人员携带了哪些装备。据现场救援人员透露,4名失联人员携带的食物不够4人吃一天。具体包括:2包蛋黄派、4罐八宝粥、1包巧克力、1包瓜子、4包鸡翅、4瓶饮料;香烟若干。

衣服包括:张金榜(黄色冲锋衣+保暖内衣),杨敏、张瑜(迷彩服+保暖内衣),刘宇(羽绒服+配发的冲锋衣)。而这些基本的御寒装备,御寒的是够用了,但放在险恶的哀牢山,似乎无法撑过一个夜晚。更离谱的是,救援人员分别在宿营地和下游两条小溪的交汇处发现了粉色雨衣碎片。

经过比对,确认这些雨衣就是由失联人员携带的物资。

笔者在淘宝上搜索了同款雨衣批发价,0.4元/件。你没看错,就是这件粉色雨衣,与游乐场玩激流勇进的一次性雨衣一样,被发给队员们带上山去遮风挡雨,给队员们提供生命保障。复旦大学生命科学学院博士顾伯健告诉《新民周刊》,这种一次性雨衣野外根本没法使用,树枝轻轻一刮就烂掉了。


真正适合野外作业的雨衣

难道昆明自然资源综合调查中心经费紧张,置办不起专业的防寒装备?资料显示,2020年9月23日,中国地质调查局昆明自然资源综合调查中心正式挂牌成立,接受转业的武警官兵就成了这家事业单位的工作人员。

2021年4月,发布的一则车辆租赁服务中标公告显示,因工作需要,中国地质调查局昆明自然资源综合调查中心需租赁四驱高性能越野车用于野外任务使用,租赁车辆不少于20辆,年度预算人民币406万元。



一个一年用400万元预算来租车的单位,为何连基本的专业装备都无法提供?

为何专业人员也会失联?

既然是受过专业训练的人员,为何也会迷路和失联?有主观原因,也有客观原因。

哀牢山森林生态系统研究站副站长杨效东教授说,进入哀牢山上的密林,和你在电影《侏罗纪公园》看到一样的。人一旦进到林子里,明明外面的阳光很好,但密林深处光线不好,尤其雨天,特别不容易看清路,很快就会迷失方向。

恰恰,遇难人员的失联位置属于哀牢山地形地貌最为复杂的区域,山壁坡度较大、多悬崖峭壁,就算是巡护人员,在平时走得少的地方也可能出现短时间的迷路现象。遇难人员当时处在高山密林的环境中,一旦迷路,很难再找到原来的路了。

杨效东教授说,即便长久驻扎在哀牢山,但每次上山都非常小心,要防着黑暗中的树枝、溪流深沟的拦阻。还要小心地质塌方和滑坡,出发前都会做好方案,请山民或护林员来做向导。

一名护林员还提到,哀牢山成为国家级自然保护区后,随着管理逐渐规范、完善,进入保护区需获得准许,“游客是不允许进入的,专业人员也需要护林员陪护”。

多位樟盆村村民也提到,近些年他们很少有人进入哀牢山。有村民提到,一二十年前,当地村民曾上山采药,“但到的地方也都是边缘地带,而且都是跟着长辈走原来人留下的路”。

杨效东说,每次出去,大家都要携带对讲机来确保安全。但也不是所有先进的救援设备都可以在哀牢山被用上。当时4名遇难人员每人携带了一台RTK。

RTK是一种能在野外实时得到厘米级定位精度的测量方法。失联的4人各有一台RTK设备。按计划,他们应该在11月14日打开RTK设备。只要按下设备按钮,救援人员就能根据卫星系统传回的数据找到4人所在的位置。

但从11月14日至21日11时,失联4人从未打开过RTK设备,因此救援过程中救援人员无法据其定位。

不过,有从事地质工作的人士表示,原始森林中如果失去通信信号,即便打开,后方人员也收不到信息。而即便是早早地把RTK设备打开,当救援队的无人机在这里飞行时,也会因为某些地方信号太弱而失去联系。

参与救援的张先生也给出了同样的说法。在搜救过程中,他的手机信号时断时续,经常收不到消息。“主要是雨后雾很大,能见度低,容易找不准方向;而且下了雨温度太低,他们身体上可能也受不了。”张先生分析。

搜救难度为什么大?

据了解,整个搜救行动,云南以普洱市为主,玉溪市、楚雄州协同展开,截至目前,投入专业救援人员和当地干部群众8000余人次、车辆150余辆、卫星电话100余部、无人机50余架、直升机10架次及相关物资、技术装备全力开展搜救。

为什么一次救援要持续8天,先后投入8000余人?这与哀牢山本身的地貌相关。

哀牢山位于云南中部,是云贵高原和横断山脉的分界线,也是全国最大的原始常绿阔叶林区,最高海拔3156米。失联人员位处的区域是哀牢山国家级自然保护区,平均海拔2500米以上。此前,搜救工作存在三方面主要困难

首先,哀牢山在镇沅境内面积达13.5万亩,此次人员失联的区域,地处哀牢山国家级自然保护区的核心区域,属原始森林无人区,山陡林密、遍布山崖和沟壑,地形极其复杂。

其次,正值入冬天气,昼夜温差较大,白天能达到20度左右,到了晚上则降到七八度,山区树木高大茂密,加之近期连日降雨,林中有雾,能见度极低。

最后,搜救路线距离较远,从山脚前往搜索区域需要爬山约4个小时,随着搜索范围不断扩大,山中无路,行进困难,不具备夜间搜索的条件,队员往返宿地耗时较长。

11月22日,遇难者张金榜曾经的战友李先生讲述,他和张金榜是2015年武警黄金部队新兵连的战友,“一起入的伍,当时在新兵连,我们一起训练、聊天,他平时非常踏实,训练也很认真,我记得他是左手写字,字迹非常漂亮”。

后来,他们各自退伍转业,分别被分到了中国地质调查局的下属单位,“他是昆明单位,我是成都单位。”李先生表示,他们的工作项目大致相同,都是日常进行森林蓄积量调查。

事发后,中国地质调查局官方网站切换成黑白色,并发布公告,对因公殉职的4名野外地质调查人员,致以最沉痛哀悼。

来源:新民周刊

user avatar   wo-xiang-jing-jing-12-77 网友的相关建议: 
      

很少有人不基于框架直接写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   sai-pu-di-te-li-xi 网友的相关建议: 
      

一大早起来真是笑死我了。

由于老头环空前的热潮,以及B站特有的UP主靠制作视频吸引流量转直播的模式,导致很多有人气但完全没有魂系列经验的主播在播这款游戏。比如某幻、瓶子。

(就是一开始制作视频是主业,直播是兼职,甚至是乐趣兴趣,到直播为主,制作视频反倒成了兼职。这种现象在游戏区特别明显。)

这就很有节目效果了,我看几个有名气的主播,都是重复被虐,平均活不过5分钟。真正是在哪里跌倒就从哪里跌倒。

很多在我们这些老玩家看来常识性的东西,对于他们来说完全不存在的。

盾反这种就不提了(其实我也不会),连二人转、回合制、推图都不懂。在大型地牢里不想打小怪,一个劲往前跑,结果变成开火车;当着怪物的面喝药=白喝;开宝箱被怪物背刺;以为学了法术就是法爷了,结果被几只鸟打得抱头鼠窜。

然后另一边,那些原本有魂系列经验的主播,就吃了刻板印象的亏。觉得自己有技术有实力,也不练级就顺着主线硬钢。就比如一上来的野外精英太阳骑士,要么你死要么我亡,绕路是不可能绕路的。

太阳骑士都还好,毕竟王老菊都能杀。

但没有等级,没有血量,没有伤害,硬钢噩兆。

真当噩兆快慢刀是假的,自己打几次就能盾反了?而且老头环这次砍了盾反在BOSS战中的作用,要反三次(二次)才能触发处决。

结果被虐3000遍,又不好意思去练级,尬在那了。

老头环是不是玩家的盛宴我还不知道(买了游戏,昨天也预下载了,结果今天起来发现那个盘满了……正在重新下载,下载完了又发现,我的电脑只有8G内存……),但肯定是不少主播的灾难、观众的盛宴。

当然,我也知道有些主播直播受罪是搞节目效果,但我也是真看到有主播被气到下播了。

另外一点,老头环这次其实是以探索为主要玩法。

B站UP主老戴今天专门做了一期视频讲解,想要玩好、玩轻松,就是尽可能的探索地图,拿物品、刷等级。而不是走到哪杀到哪,打不过硬去打。

就比如第一个剧情BOSS前,大地图上有的是小型地牢,野外精英,要把图清完了再去打噩兆,真跟打弟弟一样。(收回我的话,40级30血20耐20敏+3打刀7瓶奶,打了7次才过。前三次就是纯背板,后三次有点贪,经常血瓶白喝,最后一次基本掌握出手时机,就硬耗过去了。)

其实魂系列游戏特别吃角色强度(等级、装备),一些小怪你一刀砍死和一刀残血,完全就是两种难度。打BOSS,你挨一下就要喝药,和挨两下才需要喝药也是两倍的差距。

不过按照这么个玩法,的确没有什么节目效果。

讲真,还真就是看那些新手主播无能狂怒最有节目效果。

至于游戏本体,如今我也的确是玩上了,总体上来说符合我的期待。

作为一个中年人,我其实是在看了老头环试玩视频后才接触魂系列的。

原因有2,一是手残反映慢,玩这种游戏非常苦手;二是,我其实不太喜欢魂系列那种压抑的黑暗风格。

但老头环作为开放世界,虽然依旧以压抑阴郁为主,但也有光明广阔的场景。比如一开始做完新手指引推门而出的那一刻。

至于在难度与操作方面,远程技能的实用化,召唤物的存在,以及跳砍与伪盾反的出现,真的能够解决很多问题。

只是看你愿不愿意当一个“卑鄙的褪色者”。

远程技能包括法术与射击。我玩的武士,初始给的长弓非常给力。尤其记得推一座城堡图的时候,一开始不清楚套路,进入城堡被满地的炸药桶与两个放火球的法师直接秒了。复活后掏出长弓,一剑封喉,解决掉法师无伤过了。

还有初期的一个地牢,一个场景墙上爬着的与左右墙角蹲着的类似地精的怪物,近战5-6刀才能砍死。

第一次去直接围殴致死。

第二次,用弓箭一只只引过来,很轻松就过了。

至于近战武器,我是非常推荐初期见完老婆就能开箱子拿到的君王大剑。

这把武器虽然攻速低,成长性也低,但在初期真的非常实用。

尤其是在跳劈方面。

这一作跳劈虽然强但也看武器,比如武士上来给的打刀就属于跳劈对空,跳起来横着劈一刀,有时候都打不到站着的怪。而大剑则是竖着往地上砸,范围极大。

我举一个例子,就是我开地图第一次遇到红灵。就是等对方打完一套跳劈就完了。

我的战斗策略就是,遇事不决,举盾防御,然后跳劈。

至于BOSS战,依旧有难度,也许跳劈和法术都没啥作用,依靠的依旧是精准的闪躲后普攻(排除盾反)。

但我觉得这算是魂系列的乐趣之一。

如果随便什么BOSS战都能逃课,那也就没意思了。


user avatar   jiu-zhong-xiao-39 网友的相关建议: 
      

本来不应该判这么重,无良媒体煽风点火。


user avatar   zongheng-94 网友的相关建议: 
      

本来不应该判这么重,无良媒体煽风点火。




  

相关话题

  外国人会玩中国的国产游戏吗? 
  如何评价巫师系列的制作组cd projekt red? 
  如何看待原神「可莉」R18G图被尝试上传到996ICU项目中? 
  经济状况不佳的游戏开发团队是否大多都选择更难赚钱的买断制游戏?为什么? 
  现在入行游戏开发前景如何? 
  如果米国人出了个和《昭和米国物语》对等的游戏,网上会做出如何反响? 
  如何看待《原神》这个游戏微博上骂声一片,推特上却一片好评? 
  这样的原画水平,再练三个月能进米哈游做游戏吗? 
  如何看待1月19日上线的国产游戏《暖雪》? 
  如何评价游戏 《任天堂明星大乱斗Special/Ulimate》 ? 

前一个讨论
原神 2.0PV 结尾出现的人物是雷神吗?
下一个讨论
如何评价《原神》若陀龙王创作的幕后?





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利