V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  MorningStar0  ›  全部回复第 4 页 / 共 8 页
回复总数  141
1  2  3  4  5  6  7  8  
@3dwelcome
1 、“把 VUE 框架代码换成 wasm 来写,就会拖慢系统运行速度”,虽然但是,你要用一个框架和语言比运行速度么?至少也要用 YEW (使用 rust 构建 web 应用的框架)来对比 vue 吧?或者正面回答一下 “或者说 wasm 解析 arraybuffer 的过程甚至会比 webapi 操作 dom 快?”
2 、我说的任何一个场景有涉及到三大框架的任意之一么?我只是单纯的比较 JS 和 wasm 在 web 开发不同场景的适用性罢了。
3 、对于虚拟 dom 的 diff 算法的性能分析。是否应该权衡下,在我上文提到的上千个状态的管理问题,和与之带来的协同开发问题?当然了,如果要是这样比较的话,我们又回到了问题 1,wasm 真的比 js 在操作 dom 时快么?
@3dwelcome
1 、所以,我始终说的都是 wasm 无法 "直接"(引号表强调) 操作 dom 有什么问题么?
2 、说慢是和直接用 js 操作都没进行比较的。或者说 wasm 解析 arraybuffer 的过程甚至会比 webapi 操作 dom 快?
3 、“导入 /导出函数,都和主程序进行动态地址绑定”,一个客观事实是,就目前生态而言,对 wasm 相关的 debug 工具链仍不完整。另一个主观疑问是,“最合理的模块分离技术”是指的,换个操作系统平台运行的时候,各种 DLL lost 么?
4 、 “如果有人觉得 WASM 运行太慢,那只能说代码接口设计有问题”,从来没有人觉得在 CPU 密集的场景下,wasm 运行慢,只是说在强调交互,并更新交互状态时,wasm 没有直接用 JS 操作快。

最后能否说明:wasm 对这个“大型前端项目”的定义有任何的补充
@3dwelcome 并且,我举出例子,尝试定义了下什么是大型前端项目。目前还是没看懂 wasm 对这个“大型前端项目”的定义有任何的补充
@3dwelcome 如果你说的操作 dom 是编译之后,通过 js 操作 webapi,也算是直接操作 dom 的话那就是吧。。。。

一段 mdn 原文:
Emscripten first feeds the C/C++ into clang+LLVM — a mature open-source C/C++ compiler toolchain, shipped as part of XCode on OSX for example.
Emscripten transforms the compiled result of clang+LLVM into a .wasm binary.
By itself, WebAssembly cannot currently directly access the DOM; it can only call JavaScript, passing in integer and floating point primitive data types. Thus, to access any Web API, WebAssembly needs to call out to JavaScript, which then makes the Web API call. Emscripten therefore creates the HTML and JavaScript glue code needed to achieve this.

其链接: https://developer.mozilla.org/en-US/docs/WebAssembly/Concepts
@3dwelcome
2021 年的今天,wasm 依旧没办法直接操作 dom (请不要说通过调用某个 js 提供的库进行操作),且 wasm 基本是用于解决 CPU 密集的并行任务的(比如音视频解码),我所说的交互逻辑指的是:对 UI 界面有大量的交互操作,产生的状态需要实时展示,状态的数量级在 4 位数左右,上述产生的状态不需要关系存储,频繁的读写操作发生在客户端的内存或缓存中。

综上所述,wasm 目前( 2021 年)并没有提供对前端强交互场景的强力支持,只是对一些垂直领域,例如:音视频的简单编码,加密文档生成提供了一些支持。你提出 wasm 并不能很好的支持你的论点

且上述 wasm 提供的特性,对转译成 wasm 的程序的原始代码有一定要求:
1 、 并发计算。wasm 目前没有提供 webwork 的调用
2 、 系统 API 支持,例如 linux 的 fork

再讨论 wasm+三方库可操作 dom 的方案。这一方案中,由于 wasm 的运行,目前仍然依赖 JS 胶水脚本,对 wasm 暴露的 event 进行调用。所以,如果在非 CPU 密集场景下,使用 wasm 甚至会带来系统性能的降低。
@A388 对于大项目,我理解的话一般来说就是业务逻辑基本全部在前端交互上,比如 ps online 和其他的一些低代码平台
是否可以考虑 itx 的台式呢
@whatacold 当然也可以在组件的 onchange 事件里,手动 setState,然后 value={thatState}也能做成双向的
@whatacold react 本身是没提供类似的 api,但是可以在上层封装下
@jason94 这样设计主要是想 把同一个 UI 的配置应用给不同的数据,就比如 Echarts 那种特别多配置的情况
@jason94 配置里的显示或隐藏目前是只对 ui 的展示做了更新,目前没有对最终输出做更新。
而且 ui 的展示完全受输入数据 (template 的值) 的控制,这意味着,如果输入数据内没有这个值, 即使 UI 配置( forms 的值)中写了这个组件的渲染,这个组件也不会出现。
@shakukansp 这个生成器主要解决 ui 的嵌套结构和数据的层级异构的问题,而且 react 在表单状态缓存的思路基本没法借鉴 vue,因为 react 本身就不太建议做这种状态的存储
@shakukansp 这个是 react 啊。。。。
求大佬们提提意见
2021-05-14 13:53:11 +08:00
回复了 laibin2 创建的主题 macOS win10 远程 mac 办公,最流畅的方案是什么?
rdp+zerotier
2021-02-23 21:17:32 +08:00
回复了 Symo 创建的主题 宽带症候群 如何能够在外便捷的访问 NAS 搭建的内网服务呢?
@Symo p2p 在多层 nat 下 穿透成功率和延迟简直感人,还是加个 moon 会好点
2021-02-23 15:18:37 +08:00
回复了 Symo 创建的主题 宽带症候群 如何能够在外便捷的访问 NAS 搭建的内网服务呢?
zerotier+moon 中转好搭建,只是会受到 moon 服务器下行速度限制
2021-01-18 16:11:37 +08:00
回复了 zzzzzzggggggg 创建的主题 程序员 2021 前端会有什么新变化?
@avastms 如果是纯前端场景(不包含 node 接口部分),其实函数式的程序比面向对象,更适合描述 UI 和状态变化。

比如一些低代码平台上,要实现可视化配置的交互事件链
双非 19 年进 JD 做前端,我现在想读研究生了,但是并不想读国内的。
要是可以进大厂的话,我建议是先出来工作下,找到一个学习目标,再去读研
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1240 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 18:14 · PVG 02:14 · LAX 10:14 · JFK 13:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.