GWT-Bootstrap vs. GwtBootstrap3

GWT-Bootstrap vs. GwtBootstrap3

As far as I can tell there are two librarys for Twitter Bootstrap integration in GWT. There is GWT-Bootstrap and GwtBootstrap3. I have just started a project built on GWT-Bootstrap, since I did not realize that there is another GWT Bootstrap integration out there.
Both project look pretty active on GitHub, althought GWT-Bootstrap does have more members. I understand that GWT-Bootstrap is based on Bootstrap version 2. On the other hand GwtBootstrap3 wrapps Bootstrap version 3 and seems to have some more widgets avaliable. Since the GWT-Bootstrap project is still avtive, I assume they will move to version 3 as well, sooner or later.
So what is the difference between the two projects? Does someone have experience with both of them? Which would you choose? Is GwtBootstrap3 worth to swicht an already running project?

Solutions/Answers:

Solution 1:

I’m the author of GwtBootstrap3. Before I started to work on GwtBootstrap3 I’ve been using GWT-Bootstrap, fixed some bugs and added some features. When Bootstrap 3 was released I decided to create a new project from scratch because lots has changed between Bootstrap 2 and 3. Some components were removed while new ones were added, CSS classes have changed etc. Also BS3’s primary focus was “mobile first”. Regarding GWT-Bootstrap this means lots of refactoring. A GWT-Bootstrap version based on BS3 would definitively not be backwards-compatible. I’m not sure how far GWT-Bootstrap’s migration is, see issue #448.

Related:  Bootstrap 3: How to get two form inputs on one line and other inputs on individual lines?

While not all features have yet been implemented in GwtBootstrap3 and some issues need to be sorted out, I would say that GwtBootstrap3 is ready for use in new projects. Some real life projects were already implemented using GwtBootstrap3. A migration from GWT-Bootstrap might be possible but since we didn’t intend to be GWT-Bootstrap compatible refactoring is certainly required.

When designing GwtBootstrap3 we took great care to outsource any third party components into an extra module. In this module you’ll find useful widgets that are not part of the core BS3 distribution. Unfortunately GWT-Bootstrap mixes core and third party components into one library which imho makes it unnecessarily complex and hard to maintain.

If you’re happy with BS2 then you should stick with GWT-Bootstrap.
If you want to use BS3 your only options seems to be GwtBootstrap3 at the moment.

Solution 2:

One thing also to note is that Bootstrap has dropped support for v2.3.3 which is what GWT-Bootstrap uses.

Related:  Bootstrap: wider input field

With GwtBootstrap3, it is on the current v3.1.1 version and has almost every element supported (still some work needed for a few: https://github.com/gwtbootstrap3/gwtbootstrap3/wiki/Supported-Features)

GwtBootstrap3 is also written to mimic the HTML structure of Bootstrap very well while written in UiBinder code. This makes it very simple to follow and debug if you are used to writing HTML.

A few colleagues have successfully converted from GWT-Bootstrap to GwtBootstrap3 without a hitch. The main differences will be the Grid System and Forms/Input Groups. Since Bootstrap v3.0+ has added a lot of features: http://getbootstrap.com/getting-started/#migration.

If you need any help or support while using GwtBootstrap3, feel free to drop a question at our Google Group or if you find an issue with the library you can create an issue on the github repo.

Thanks,
Joshua Godi

References