我认为一个小白板 Web 应用程序将是提高我的 Node.js 和 JavaScript 技能的好方法。我在网上看到了一些,这是有道理的,因为它似乎非常适合这种堆栈。
然而,花点时间思考一下,我想知道客户端和服务器在这种 Web 应用程序中的角色。偶然发现节点画布 https://github.com/LearnBoost/node-canvas,我更加迷茫了。具体来说,客户端和服务器应该负责什么?
如果服务器能够渲染到画布,它是否应该接受并验证来自客户端的输入,然后通过以下方式将其广播给所有其他连接的用户套接字.io http://socket.io/?这样,服务器就保留了一个master-canvas 元素。一旦新用户连接,服务器只需将其画布推出该客户端 - 使其跟上所绘制的内容。
任何关于实施的指导——具体的或哲学的——都值得赞赏。
Thanks!
I wrote http://draw.2x.io http://draw.2x.io,它使用node-canvas(以前是node-cairo,我自己编写的)以及socket.io。
按照我设计应用程序的方式,客户端基本上根据用户输入生成所有笔划。这些依次由画布抽象处理,画布抽象支持我自己定义的操作和参数的子集。如果该层接受绘画模块产生的任何输入,它们也会通过 socket.io 发送到服务器。
在服务器上,我有相同类型的画布层包装节点画布。因此,这将在内存中复制用户的输入,最终使将状态图像发送到新客户端成为可能。在此之后,笔划将——服务器应用程序等待的参数/上下文验证——发布到其他连接的客户端,这将重复与上面相同的过程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)