[xwiki-devs] [GSOC] help choosing a js lybrary/wrapper
First of all, hi again! I'm developing the collaborative business drawing framework to integrate on XWiki and currently need some feedback. In order to provide the abillity of drawing SVG/VML/Canvas objects in the browser, this framework has many options that i shall explain: * A) Tatami, the GWT wrapper of the Dojo Toolkit library ( http://code.google.com/p/tatami/)* This is by far the most used option, and the reasons are somewhat obvious. - It wraps up the dojo toolkit code for GWT providing access to the GFX package's functionalities and thus giving us the possibility to draw objects in SVG/VML/Canvas. This is a very important point as it provides support for Safari with canvas objects and IE with VML objects, accomplishing thus a better product. - Provides the creation of basic and advanced drawing figures from squares to paths with drag and drop, scale, rotate and parameters specification. - It has the biggest active developer's base, having a lot of activity on their forum (http://groups.google.com/group/tatami) - It gives us efficiency and usability by being well developed. Personally, this is a key point for me as i've seen a lot of svg drawing boards slow and badly done. A demo of the tatami can be found here ( http://tatami.googlecode.com/svn/trunk/site/samples/TatamiDemo/index.html ) but don't mind the slow reaction of the site as it's using aloot of dojo objects(Fisheye, etc) and it's runing from the svn. After some coding with it, i realized it can indeed be very fast. IMHO, this looks like the winner.. we should use this wrapper for the job and if necessary develop some new items on it to provide us the required functionalities, which will also be needed in any other option. *B) JSGraphic's library ( http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm) *As it's the case with Dojo Toolkit, this library can be used in GWT by including a wrapper on the project. The downsides of this alternative are obvious as, for example, it doesn't support's drag and drop or any interaction with the objects and is a one man project. It's allways good to have options heh! *C) Develop an API fit to the job* As this option might bring some (? small) benefits in efficiency and additional funcionalities, on the other hand, it's slowed by the time required to develop the API knowing that there are some fully functional good options out there. Talking about functionalities, Tatami provides every svg object and property that i remind me of and it's efficiency and usability are high, so there shouldn't be much more to do in this area. (besides implementating screw transformations, which aren't included in the latest realease of Tatami :) In the next days i'll be building a propotype of a drawing API so please give me your opinions. My vote : +1 Tatami Best Regards, Miguel Bento.
ohh, sorry, the subject of the email should have contained a [xwiki-devs] tag on the begining :( :S guess it's time to go to bed!
Miguel Bento wrote:
ohh, sorry, the subject of the email should have contained a [xwiki-devs] tag on the begining :( :S guess it's time to go to bed!
No, it is automatically added. -- Sergiu Dumitriu http://purl.org/net/sergiu/
On Tue, Jun 17, 2008 at 8:08 AM, Miguel Bento <[email protected]> wrote:
ohh, sorry, the subject of the email should have contained a [xwiki-devs] tag on the begining :( :S guess it's time to go to bed!
[xwiki-devs] tag doesn't appear in gmail if you compose it yourself because the tag is only added in xwiki mail servers before sending it to all other subscribers (except you). ;)
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Miguel Bento wrote:
First of all, hi again!
I'm developing the collaborative business drawing framework to integrate on XWiki and currently need some feedback.
In order to provide the abillity of drawing SVG/VML/Canvas objects in the browser, this framework has many options that i shall explain: * A) Tatami, the GWT wrapper of the Dojo Toolkit library ( http://code.google.com/p/tatami/)*
This is by far the most used option, and the reasons are somewhat obvious.
- It wraps up the dojo toolkit code for GWT providing access to the GFX package's functionalities and thus giving us the possibility to draw objects in SVG/VML/Canvas. This is a very important point as it provides support for Safari with canvas objects and IE with VML objects, accomplishing thus a better product. - Provides the creation of basic and advanced drawing figures from squares to paths with drag and drop, scale, rotate and parameters specification. - It has the biggest active developer's base, having a lot of activity on their forum (http://groups.google.com/group/tatami) - It gives us efficiency and usability by being well developed. Personally, this is a key point for me as i've seen a lot of svg drawing boards slow and badly done.
A demo of the tatami can be found here ( http://tatami.googlecode.com/svn/trunk/site/samples/TatamiDemo/index.html ) but don't mind the slow reaction of the site as it's using aloot of dojo objects(Fisheye, etc) and it's runing from the svn. After some coding with it, i realized it can indeed be very fast.
IMHO, this looks like the winner.. we should use this wrapper for the job and if necessary develop some new items on it to provide us the required functionalities, which will also be needed in any other option.
*B) JSGraphic's library ( http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm)
*As it's the case with Dojo Toolkit, this library can be used in GWT by including a wrapper on the project. The downsides of this alternative are obvious as, for example, it doesn't support's drag and drop or any interaction with the objects and is a one man project.
It's allways good to have options heh!
*C) Develop an API fit to the job*
As this option might bring some (? small) benefits in efficiency and additional funcionalities, on the other hand, it's slowed by the time required to develop the API knowing that there are some fully functional good options out there.
Talking about functionalities, Tatami provides every svg object and property that i remind me of and it's efficiency and usability are high, so there shouldn't be much more to do in this area. (besides implementating screw transformations, which aren't included in the latest realease of Tatami :)
In the next days i'll be building a propotype of a drawing API so please give me your opinions.
My vote : +1 Tatami
Tatami looks like the best option, indeed, although I don't like the demo page they have. The graphics libraries are still immature, mostly because people still prefer to use Flash for dynamic pages. Option C would be good if we had infinite time or infinite manpower, but right now it would be just a waste of time. -- Sergiu Dumitriu http://purl.org/net/sergiu/
Tatami looks like the best option, indeed, although I don't like the demo page they have. The graphics libraries are still immature, mostly because people still prefer to use Flash for dynamic pages. Option C would be good if we had infinite time or infinite manpower, but right now it would be just a waste of time. -- Sergiu Dumitriu http://purl.org/net/sergiu/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
I think the demo page is so slow because of the fisheye(the mac style menu bar) and because the page is running from a wicked source( ?! ). I've tried it out and it seems much faster. Besides there isn't any other way of doing this, even if i made the API, i would have to create the objects with the CreateElement(namespace, object), i would have to make all the setters and getters like curr_obj.get_path() and so on. So i guess performance shouldn't be an issue and even though i'll be using Tatami, i'll still develop some new features to tweak it! The only thing i haven't tested was to draw many objects in the DOM and see how the responsiveness of the application behaved. But that can be a little bit optimized and it's a problem of the browser. Option D) If you want a really really faster aplication, we could use Canvas objects instead of SVG/VML. The only big downside is that canvas doesn't has the Text object :( That can be worked out with a hack, but then you'll loose the abillity to do Z ordering in the panel (bring forward,.bring back). Good luck to France :), Miguel Bento.
On Tue, Jun 17, 2008 at 4:35 AM, Miguel Bento <[email protected]> wrote:
First of all, hi again!
I'm developing the collaborative business drawing framework to integrate on XWiki and currently need some feedback.
In order to provide the abillity of drawing SVG/VML/Canvas objects in the browser, this framework has many options that i shall explain: * A) Tatami, the GWT wrapper of the Dojo Toolkit library ( http://code.google.com/p/tatami/)*
+1 for A), I'm eager to see how much it can be optimized since the demo is really heavy. -- Jean-Vincent Drean
Clearly +1 for tatami/Dojo. With an active developer base on tatami and no doubt about the Dojo developer base we are safe. The other projects are not advanced enough and working from scratch is crazy. Ludovic Miguel Bento wrote:
First of all, hi again!
I'm developing the collaborative business drawing framework to integrate on XWiki and currently need some feedback.
In order to provide the abillity of drawing SVG/VML/Canvas objects in the browser, this framework has many options that i shall explain: * A) Tatami, the GWT wrapper of the Dojo Toolkit library ( http://code.google.com/p/tatami/)*
This is by far the most used option, and the reasons are somewhat obvious.
- It wraps up the dojo toolkit code for GWT providing access to the GFX package's functionalities and thus giving us the possibility to draw objects in SVG/VML/Canvas. This is a very important point as it provides support for Safari with canvas objects and IE with VML objects, accomplishing thus a better product. - Provides the creation of basic and advanced drawing figures from squares to paths with drag and drop, scale, rotate and parameters specification. - It has the biggest active developer's base, having a lot of activity on their forum (http://groups.google.com/group/tatami) - It gives us efficiency and usability by being well developed. Personally, this is a key point for me as i've seen a lot of svg drawing boards slow and badly done.
A demo of the tatami can be found here ( http://tatami.googlecode.com/svn/trunk/site/samples/TatamiDemo/index.html ) but don't mind the slow reaction of the site as it's using aloot of dojo objects(Fisheye, etc) and it's runing from the svn. After some coding with it, i realized it can indeed be very fast.
IMHO, this looks like the winner.. we should use this wrapper for the job and if necessary develop some new items on it to provide us the required functionalities, which will also be needed in any other option.
*B) JSGraphic's library ( http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm)
*As it's the case with Dojo Toolkit, this library can be used in GWT by including a wrapper on the project. The downsides of this alternative are obvious as, for example, it doesn't support's drag and drop or any interaction with the objects and is a one man project.
It's allways good to have options heh!
*C) Develop an API fit to the job*
As this option might bring some (? small) benefits in efficiency and additional funcionalities, on the other hand, it's slowed by the time required to develop the API knowing that there are some fully functional good options out there.
Talking about functionalities, Tatami provides every svg object and property that i remind me of and it's efficiency and usability are high, so there shouldn't be much more to do in this area. (besides implementating screw transformations, which aren't included in the latest realease of Tatami :)
In the next days i'll be building a propotype of a drawing API so please give me your opinions.
My vote : +1 Tatami
Best Regards, Miguel Bento. _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
Hi Miguel, its a little late but I found a Framework named Draw2d for Javascript based drawing. http://draw2d.org/draw2d/ The Examples are really nice and show the power and possibilities of the framework. http://draw2d.org/draw2d/examples_short Maybe you can use some parts of that or get some ideas from it. Nice greetings Jonas Miguel Bento wrote:
First of all, hi again!
I'm developing the collaborative business drawing framework to integrate on XWiki and currently need some feedback.
In order to provide the abillity of drawing SVG/VML/Canvas objects in the browser, this framework has many options that i shall explain: * A) Tatami, the GWT wrapper of the Dojo Toolkit library ( http://code.google.com/p/tatami/)*
This is by far the most used option, and the reasons are somewhat obvious.
- It wraps up the dojo toolkit code for GWT providing access to the GFX package's functionalities and thus giving us the possibility to draw objects in SVG/VML/Canvas. This is a very important point as it provides support for Safari with canvas objects and IE with VML objects, accomplishing thus a better product. - Provides the creation of basic and advanced drawing figures from squares to paths with drag and drop, scale, rotate and parameters specification. - It has the biggest active developer's base, having a lot of activity on their forum (http://groups.google.com/group/tatami) - It gives us efficiency and usability by being well developed. Personally, this is a key point for me as i've seen a lot of svg drawing boards slow and badly done.
A demo of the tatami can be found here ( http://tatami.googlecode.com/svn/trunk/site/samples/TatamiDemo/index.html ) but don't mind the slow reaction of the site as it's using aloot of dojo objects(Fisheye, etc) and it's runing from the svn. After some coding with it, i realized it can indeed be very fast.
IMHO, this looks like the winner.. we should use this wrapper for the job and if necessary develop some new items on it to provide us the required functionalities, which will also be needed in any other option.
*B) JSGraphic's library ( http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm)
*As it's the case with Dojo Toolkit, this library can be used in GWT by including a wrapper on the project. The downsides of this alternative are obvious as, for example, it doesn't support's drag and drop or any interaction with the objects and is a one man project.
It's allways good to have options heh!
*C) Develop an API fit to the job*
As this option might bring some (? small) benefits in efficiency and additional funcionalities, on the other hand, it's slowed by the time required to develop the API knowing that there are some fully functional good options out there.
Talking about functionalities, Tatami provides every svg object and property that i remind me of and it's efficiency and usability are high, so there shouldn't be much more to do in this area. (besides implementating screw transformations, which aren't included in the latest realease of Tatami :)
In the next days i'll be building a propotype of a drawing API so please give me your opinions.
My vote : +1 Tatami
Best Regards, Miguel Bento. _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Seems pretty good! Thanks for the tip, i'll have a look on it and post a summary about it. Best Regards, Miguel Bento.
On Sat, Jul 5, 2008 at 11:02 AM, Jonas von Malottki <[email protected]> wrote:
Hi Miguel,
its a little late but I found a Framework named Draw2d for Javascript based drawing. http://draw2d.org/draw2d/
The Examples are really nice and show the power and possibilities of the framework. http://draw2d.org/draw2d/examples_short
Maybe you can use some parts of that or get some ideas from it.
if you need to see something really nice in JS drawing and if you don't already know it, just try MXGRAPH... It's not free but I find it quite impressive, nice looking, clean and quick... Pascal
Nice greetings Jonas
Miguel Bento wrote:
First of all, hi again!
I'm developing the collaborative business drawing framework to integrate on XWiki and currently need some feedback.
In order to provide the abillity of drawing SVG/VML/Canvas objects in the browser, this framework has many options that i shall explain: * A) Tatami, the GWT wrapper of the Dojo Toolkit library ( http://code.google.com/p/tatami/)*<http://code.google.com/p/tatami/%29*>
This is by far the most used option, and the reasons are somewhat obvious.
- It wraps up the dojo toolkit code for GWT providing access to the GFX package's functionalities and thus giving us the possibility to draw objects in SVG/VML/Canvas. This is a very important point as it provides support for Safari with canvas objects and IE with VML objects, accomplishing thus a better product. - Provides the creation of basic and advanced drawing figures from squares to paths with drag and drop, scale, rotate and parameters specification. - It has the biggest active developer's base, having a lot of activity on their forum (http://groups.google.com/group/tatami) - It gives us efficiency and usability by being well developed. Personally, this is a key point for me as i've seen a lot of svg drawing boards slow and badly done.
A demo of the tatami can be found here (
http://tatami.googlecode.com/svn/trunk/site/samples/TatamiDemo/index.html)
but don't mind the slow reaction of the site as it's using aloot of dojo objects(Fisheye, etc) and it's runing from the svn. After some coding with it, i realized it can indeed be very fast.
IMHO, this looks like the winner.. we should use this wrapper for the job and if necessary develop some new items on it to provide us the required functionalities, which will also be needed in any other option.
*B) JSGraphic's library ( http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm)
*As it's the case with Dojo Toolkit, this library can be used in GWT by including a wrapper on the project. The downsides of this alternative are obvious as, for example, it doesn't support's drag and drop or any interaction with the objects and is a one man project.
It's allways good to have options heh!
*C) Develop an API fit to the job*
As this option might bring some (? small) benefits in efficiency and additional funcionalities, on the other hand, it's slowed by the time required to develop the API knowing that there are some fully functional good options out there.
Talking about functionalities, Tatami provides every svg object and property that i remind me of and it's efficiency and usability are high, so there shouldn't be much more to do in this area. (besides implementating screw transformations, which aren't included in the latest realease of Tatami :)
In the next days i'll be building a propotype of a drawing API so please give me your opinions.
My vote : +1 Tatami
Best Regards, Miguel Bento. _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
participants (7)
-
Asiri Rathnayake -
Jean-Vincent Drean -
Jonas von Malottki -
Ludovic Dubost -
Miguel Bento -
Pascal Voitot -
Sergiu Dumitriu