V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
wheelg
V2EX  ›  问与答

能不能用纯 canvas 实现一个组件框架

  •  
  •   wheelg · Mar 3, 2021 · 2090 views
    This topic created in 1880 days ago, the information mentioned may be changed or developed.

    即整个页面只有一个 canvas 元素,然后用 canvas 实现组件绘制,似乎 flutter web 是这样的实现,但是需要 dart 编译成 js,那有没有类似的 js 框架呢?性能相比原生 HTML 元素会不会好一点

    7 replies    2021-03-03 15:06:01 +08:00
    ruguo
        2
    ruguo  
       Mar 3, 2021
    那不是在浏览器里做浏览器?我想起了在 MC 里做电脑。。。
    sujin190
        3
    sujin190  
       Mar 3, 2021
    flutter web 的 canvas 渲染是编译成接近原生的 wasm 的,如果用 js 在 canvas 上绘制,想做出比现有浏览器渲染效率更高还是比较有难度的
    cck123
        4
    cck123  
       Mar 3, 2021
    figma 几乎是抛弃了 dom,自己用 webgl 实现的渲染引擎,差不多就是在浏览器里面做了个浏览器,还是很厉害的
    KiseXu
        5
    KiseXu  
       Mar 3, 2021
    梦幻西游 网页版就是用 canvas 整个画出来的。
    zuiluo
        6
    zuiluo  
       Mar 3, 2021
    当然可以,现在绝大部分 H5 游戏都是基于 canvas webgl 做的,游戏内也包含了各种复杂布局和元素,比绝大部分网页复杂多了。

    所以 H5 游戏引擎了解一下?

    当然如果你想从 0 开始写的话,开发成本估计要翻几十倍不止了
    shoaly
        7
    shoaly  
       Mar 3, 2021
    性能比 原生 html 好是不是 想多了, 所有浏览器最重要的事情就是 怎么把 dom 渲染的又快又好
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   919 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 22:33 · PVG 06:33 · LAX 15:33 · JFK 18:33
    ♥ Do have faith in what you're doing.