Javafx 开发,用 webview 做界面可行吗? - 知乎 - 圆胖钟

先给你看一个项目:

GitHub - xloger/ExLink: 屏蔽国产流氓们内置浏览器的 Xposed 模块​github.com/xloger/ExLink

我想很多人应该都会对他写在标题里面的东西感同身受吧

这是知乎上的讨论:"去你大爷的内置浏览器"是干什么的?

然后我们来正经回答问题

    • *

这种方案行不行,取决于你自己能不能搞得定开发,同时客户能不能接受你的作品

在java application里面放入一个webview,其实就是一个内置浏览器的做法

也就是上面写的“流氓”们很喜欢干的事

那能不能接受这种做法,取决于你的客户,我是绝对不能接受给我喂翔的软件的

而我写的软件,第一个客户就是我自己,让我在我的软件里面套上一个浏览器/webview,这无异于给我自己喂翔,我肯定不干

但是你这么干的话,你的客户能不能接受,那要看你的客户了

这么做的问题很明显

一个是大,随便一个webview,动不动都是20m起步,今天在群里聊天,我还说,javafx的graphics有5m,真是不小,结果人家说,webview那个模块,25m,比其它模块加起来都大

还有一个是慢,因为启动浏览器,然后加载html渲染引擎,解析html,渲染,然后再运行javascript引擎,执行javascript这一套操作下来,慢得很,我们做游戏,需要保持60fps的渲染速度,稍微复杂一点,就很难满足需求

然后一个是写起来太麻烦了,调来调去,本来一两行代码就能解决的事,被搞得很复杂,你要先渲染html,然后执行js,最后渲染css,搞不好这里还有框架,比如vue什么的,你自己算算这里面有多少步

最后一个就是做不了aot,谷歌之所以做flutter,就是因为他们搞这一套搞不下去了,所以干脆全部推翻重做,然后发现快了21倍,于是就有了flutter,而flutter那一系列工具,其实都能在java这一边找到对应的,比如flutter对应javafx,dart对应java,这种,甚至游戏引擎,flame对应fxgl,图形引擎,prism对应skia,然后都支持jit和aot双模式,但是这个你在webview上,就基本上实现不了,这个在flutter的作者eric的访谈中有,知乎上有翻译的视频,自己去看

当然这些工具,都建立在你自己会的基础之上,java最新的技术,国内尤其是百度,其实是很难百度到的,基本上我对于这些知识的了解,都是看境外媒体,github,twitter上直接找作者交流后得知的,很多时候并不是通过阅读某些材料获取的知识,而是跟作者交流,连猜带蒙找到的,java的ide有非常厉害的提示功能,我的英语不错,所以我看java的方法名,其实多少我就能猜到这些api在干什么,做什么用的,如果你英语不行的话,估计看这些就比较慢

那如果你自己搞不定,那这些工具再好你也用不上,这个时候其实就是考验你技术能力的时候

所以行不行,取决于你的客户,以及你自己能不能搞得定,这两个因素


原网址: 访问
创建于: 2023-08-23 15:05:03
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论