开发者

Is Canvas overkill for a business application?

开发者 https://www.devze.com 2023-02-24 06:02 出处:网络
I\'m building a business application which mostly involves tables and other typical form elements.Due to the nature of my application however,I need to place groups of these elements together in a dyn

I'm building a business application which mostly involves tables and other typical form elements. Due to the nature of my application however, I need to place groups of these elements together in a dynamic tree structure which will take up all of the available screen real estate. If real estate is开发者_如何学编程 low, there will be some form of smart scrolling allowing users to focus on certain areas of the tree. It could be called an advanced data visualization web form.

Historically, I would have accomplished this by simply using divs and javascript. The canvas element however seems like a more logical way to build my structure. Most uses of the canvas element that I can find are however geared towards graphics and animations (mostly games). Is canvas overkill for this? Will I benefit from using it? Are there alternatives?

Is Canvas overkill for a business application?


Yes, canvas is overkill. It is very much a drawing board and not much more. It is certainly not something that I would expect to create user controls in. Games etc. are more suited as they aren't really standard user controls and wouldn't be expected to behave as such.

A tree structure could easily be implemented with a series of nested uls. Using some JavaScript to expand collapse them by adding and removing classes.

Here is a nice jQuery plugin for you to use or get some ideas of how you could use it.

Edit: I would stay away from canvas just because of the overhead of the drawing. If you can extend a standard JavaScript treeview to add more functionality this would seem like the best option ot me. Creating controls from scratch in canvas is no small feat.

Edit2 (Post mockup): This just looks like a multi-part form to me, with hidden forms/areas which are displayed as apropriately. This is far too common to require creating this with canvas.


Canvas is not fully supported in all browsers yet. I recommend using either Jquery or another framework.

0

精彩评论

暂无评论...
验证码 换一张
取 消