canvas可以替代html与css了吗?
首先Canvas是比html和css晚出现的,它的出现是为了弥补浏览器没有较为底层的绘图API的缺点。基于图形,图像的应用(例如游戏)以往只能借助于Flash(Flex)这样的插件来实现。具体再细分无外乎2D和3D,这就是目前Canvas的定位。
因此Canvas的作用倾向于处理图形图像的。主要用来制作游戏、图表、模拟器等。
很多基于Canvas的应用,还是有渲染DOM的需求的,比如表格绘制,页面局部截图,演示软件或者电子白板类似的应用动态的拖拽某些内容,组件进来渲染。我们在开发基于Canvas的应用的时候,是希望所有元素都能直接绘制到画布上的,因为其他HTML元素只能通过translate类似的方式和画布绘制的元素的元素进行配合,这里事件处理需要单独控制。
如果是用Canvas来实现一个前端页面,从性能和效率来说是非常低的。从开发效率来说的话,也是加大工作量的,很多原本很简单的小功能估计都要写一大堆函数吧。所以Canvas有他自己该干的是,很多东西不是可以就行,而是要讲究适合。
至于替代,谈不上。不是所有应用都要用Canvas的,但是所有应用都要用DOM。很多东西,一句声明性的 html就搞定了,而不是几百行的命令式的Canvas绘图API的调用。
找最适合自己的解决方案最重要!最重要!最重要!
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有