简单的说,p5.js是一个js类库;canvas是一个html5新增的一个元素,"canvas" 即 "画布", 此元素是为了客户端矢量图形而设计的。它自己没有行为,却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制的东西都绘制到一块画布上。两者要想绘图,都需执行js代码。仔细看p5的初始代码,
function setup() {createCanvas(400, 400)//为html页面创建canvas元素
}
两者的本质都是通过js来实现canvas的表现,p5.js与jquery库无异,将一些常用的功能需求的代码进行封装,以实现代码的简化。也就是任何p5.js可实现的,通过纯canvas的js api都能实现,不过要想实现,往往牺牲得是时间与效率。而p5.js提供了一种仅需少量代码就能实现很炫酷的操作的方法。两者渲染速度比较,理论上应该是一样的,毕竟大家殊途同归嘛,都是通过js来实现的,只要纯js写的足够优化,是会比p5.js快一丢丢的,差异不明显。明显的差异是p5.js在网页加载时需要下载p5.js的类库才能进行操作,而canvas api由于是客户端提供的原因,则不需要。
1.有些回答中提到CPU负载和node.js效率问题。服务器端渲染固然耗CPU,但可以使用服务器端缓存的方式解决,并不是每个用户访问都需要重新渲染一
遍。而且服务器端渲染甚至可以潜在地增加服务器效率(这点在参考资料第二个里有提到,不过是纯英文的,我有空会翻译下)。
2. 服务器端和客户端可以共享某些代码,避免重复定义。这样可以使结构更清晰,增加可维护性
3. 首次加载页面的速度加快。客户端渲染的一个缺点是,当用户第一次进入站点,此时浏览器中没有缓存,需要下载代码后在本地渲染,时间较长。而服务器渲染则是,用户在下载的已经是渲染好的页面了,打开速度比本地渲染快。
4. SEO。服务器端渲染可以让搜索引擎更容易读取页面的meta信息以及其他SEO相关信息,大大增加网站在搜索引擎中的可见度。
其实并不一定要争个好坏,服务器端和客户端渲染各有各的优缺点。建议根据实际需求,在某些页面使用服务器渲染,某些页面使用客户端渲染,以达到最佳解决方案。
浏览器使用IE内核的有世界之窗浏览器、360浏览器、搜狗高速浏览器、TT浏览器、百度浏览器。不使用IE内核的有谷歌浏览器 、Gecko浏览器、Firefox浏览器。
1、百度浏览器使用IE内核的,是一款简洁轻快、智能懂你的浏览器。依靠百度强大的搜索平台,在满足用户浏览网页的基础上,它整合百度体系业务优势,带给用户更方便的浏览方式,更舒适的百度特色上网体验。
2、360安全浏览器使用360公司推出的一款双核浏览器,有IE和Chrome双内核。
3、搜狗高速浏览器是由搜狗公司推出的双核浏览器,也是使用IE和Chromium内核。
4、世界之窗是世界之窗全新开发的一款小巧,快速的双核浏览器,具有体积小巧、启动速度快、打开网页快、资源占用小、使用流畅等特色。
5、Firefox浏览器,也就是火狐浏览器,使用的是Gecko内核,是一个自由及开放源代码的网页浏览器,使用Gecko排版引擎,支持多种操作系统,如Windows、Mac OS X及GNU/Linux等。
6、Google浏览器,也就是谷歌浏览器,之前一直使用苹果的webkit内核,但是现在它与苹果内核分道扬镳,自己开创了新的blink内核,这个内核也在被欧鹏(opera浏览器)共同采用和开发。