有没有一些基于HTML5的UI框架,可以将界面渲染到画布(canvas)上而不是使用HTML元素?

14

我知道有些人认为在基于画布的框架中重新实现HTML的所有UI功能非常疯狂(也有一些stackoverflow问题表明了这一点),但是是否有人正在开发这样的库?

需要澄清的是,该库将直接在画布上渲染所有UI元素,如编辑框、标签、按钮、组合框、列表视图等。没有HTML或CSS。


这确实是疯狂的事情。它必须重新实现所有东西,甚至超出了控件本身:文本输入、文本选择等。 - Variant
不再那么疯狂了,是吧? :-) http://www.zebkit.com - MindJuice
4个回答

10

我今天偶然发现了这个想法。找到了Zebra库。尚未尝试。

https://zebkit.org/

对于Web应用程序,我认为这非常合理。HTML/CSS并不足以轻松创建稳定的应用程序。DOM和布局太古怪,性能太低。

我们需要的是类似于Silverlight但没有插件的东西。稳定的组件和优秀的框架。

Canvas应用程序可以像html Web应用程序一样易于访问。甚至可能更易于访问。

也许WebGL甚至更好,如果正确使用的话,它的性能肯定比Canvas要好。


是的!这个Zebkit看起来很棒!我打算在我正在开发的项目中试用它。感谢您的发布! - MindJuice

3
我刚刚浏览了zebkit.com网站。它非常惊人,而且绝不是疯狂的,而是非常必要的。尝试在移动设备上运行大多数DOM节点树,您很快就会知道这是真的。然后相比之下运行Zebkit厨房水槽演示并感到震惊。您可能需要重新考虑项目的方法。
从Java转向HTML5,我确实看到Zebkit API中有一些不错的OOP应用,这是提供简单画布所需的强大结构。我也非常喜欢JSON支持,它的作用类似于画布的CSS格式。使用JSON这种方式很好地符合Web组件思维方式和HTML部分的实用性。这个API有很多好东西。
最终,为Web生成图形的所有方法都会呈现像素。也许我们只是在逻辑与最终屏幕之间添加了太多的抽象来意识到这一事实。通过Zebkit,感觉就像在本地级别工作一样,还添加了所有JavaScript和JSON的优点,确实非常棒。此外,您可以自由地混合和匹配DOM。

3

Thunderhead是Mozilla实验项目之一,与Bespin(现在叫Skywriter)一起构建。

根据该项目的描述:

Thunderhead是Mozilla Labs实验项目之一,旨在探索一种基于JavaScript的GUI工具包,可以使用DOM元素和画布来渲染组件。

问题在于可访问性,画布并不支持。


仔细考虑后,我认为处理所有这些的.js文件大小也会失控。除非它被正确缓存,否则每个页面都需要像下载整个浏览器一样。 - MindJuice
2
如果打包在混合移动应用中,下载部分不会成为问题。我们将摆脱大多数荒谬的浏览器差异。而且,我们可以停止使用HTML/CSS制作应用程序。让我们最终面对现实吧。HTML/CSS是用于创建语义文档而不是应用程序的。 - oldwizard
@MindJuice 在每个页面上加载浏览器?对于现代Web“应用程序”来说,这绝对不是推荐的做法。 :) - trusktr


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接