26902

in Gwt, there are 2 different packages (or 2 options) for doing drag n Drop? Which one is better?

Question:

I know very little about Drag n Drop in Gwt. I searched on internet & it seems that there are 2 different packages (or 2 options) for doing drag n Drop.<br /><a href="https://code.google.com/p/gwtquery-plugins/wiki/DragAndDropPluginForGWTDeveloppers" rel="nofollow">https://code.google.com/p/gwtquery-plugins/wiki/DragAndDropPluginForGWTDeveloppers</a>

&

<a href="https://code.google.com/p/gwt-dnd/source/browse/DragDrop/" rel="nofollow">https://code.google.com/p/gwt-dnd/source/browse/DragDrop/</a>

Why Google developed 2 different strategies for DnD? Which one is better?

Answer1:

The GWT drag&drop implementation is based on the <a href="http://www.html5rocks.com/en/tutorials/dnd/basics/" rel="nofollow">HTML5 D&D API</a>. Such API basically allows you to transfer <em>data</em> using native drag&drop. That means you can, for instance, drag things from outside the browser. Simplifing, you need to setup a drag element, a drop target and the DataTransfer object which will hold the actual data to transfer. I guess it can also be used to simulate drag&drop of DOM elements (say, widgets) within an app by creating&destroying (on dragstart and on dragend), but its purpose is different.

Since this API is rather new, not every browser natively support it. See <a href="http://caniuse.com/dragndrop" rel="nofollow">http://caniuse.com/dragndrop</a>. See also this <a href="http://youtu.be/KEkR1ox_K10?t=20m37s" rel="nofollow">video</a> along with its <a href="http://www.google.com/events/io/2011/static/presofiles/gwt_html5_a_web_develops_dream.pdf" rel="nofollow">presentation</a> to get you started.

On the other side <a href="https://code.google.com/p/gwt-dnd/" rel="nofollow">gwt-dnd</a> was meant to really drag&drop widgets within an application. So you can, out of the box, move things around. Also, this library is not developed directly by Google (although its author work/ed for the company). See its <a href="http://code.google.com/p/gwt-dnd/wiki/GettingStarted#Adding_gwt-dnd_to_an_%28Eclipse%29_GWT_Project" rel="nofollow">wiki</a> and <a href="https://gwt-dnd.appspot.com" rel="nofollow">showcase</a>.

Another relatively recent library, is the drag&drop <a href="http://code.google.com/p/gwtquery-plugins/wiki/DragAndDropPluginForGWTDeveloppers" rel="nofollow">plugin</a> for <a href="http://code.google.com/p/gwtquery/" rel="nofollow">GwtQuery</a>. GwtQuery is a jQuery-like library for GWT, and its d&d support is via the previous plugin. It also support d&d between cell widgets. See its <a href="http://gwtquery-plugins.googlecode.com/svn/branches/droppable_1_0/demo/ContactCellSample/ContactCellSample.html" rel="nofollow">showcase</a>. Also in this case, such library is meant to provide d&d capabilities to native GWT widgets.

Recommend

  • Transposing matrix / Trouble understanding how bsxfun works
  • Retrieve the most recent row - pre- Oracle 12c
  • Copy a Nullable property to a non-Nullable version using Reflection
  • Linked list in C with fgets()
  • ORM, DataBinding to DataGridView: inserting/deleted new rows not saved to the database
  • Error loading Python dll/ LoadLibrary: The specified module could not be found
  • Issue using an IAM role with PHP SDK
  • How to test endianness in node.js
  • Linear regression line in MATLAB scatter plot
  • Is there any way to load json from a subdomain?
  • Bucket password in Couchbase
  • Persisting Dropdown information when ModelState is not valid
  • Question on XPATH for an XSLT File And XSLT If Statement
  • How to Backup and Restore a MySQL Database using NetBeans?
  • Operators and quote precedence in obfuscated cmd
  • How to return directly dependent nodes on a graph
  • Attach an event handler to a StopWatch
  • java string index out of bound exception
  • how can I access to a hashed key stored by spring redis session using RedisTemplate?
  • how to make all possible power set(or subset) from arrayList objects?
  • how to ignore files when finishing private ClearCase branch?
  • Calling UDF on Dataframe with Serialization Issue
  • Cycle R,G,B vales as HUE?
  • React Current Image in Image Gallery
  • Facebook like button redirect? [closed]
  • Running iPhone crash Logs from testers on XCode
  • Complex multiple if statements
  • Unable to connect to Azure MySQL Database through Azure Function - C#
  • Custom Timeline items in Glimpse
  • Reload Page with Javascript after Database changes
  • Silverlight Event Log in Isolated Storage
  • Regex not working in java 1.5
  • Java .policy file - how to prevent java.util.Date() from being accessible
  • How to merge objects within array based on attribute
  • Conflicting declaration using constexpr and auto in C++11
  • Unable to create Access token grant type in wso2 API manager store to test API
  • jQuery scrollTop if URL has hash
  • Creating random wired topology for given arbitrary number of nodes on NS2