Announcement

Collapse
No announcement yet.
This topic is closed.
X
X
  • Filter
  • Time
Clear All
new posts

    Announcing SmartGWT.mobile beta

    == What is SmartGWT.mobile? ==

    SmartGWT.mobile is set of visual widgets and data binding services designed for building mobile
    applications, based on Google Web Toolkit (GWT).

    SmartGWT.mobile is designed primarily for building extremely lightweight applications targeting
    smartphones. Through advanced use of HTML5 and CSS3, SmartGWT.mobile applications look and
    feel exactly like native mobile applications, but use almost no images, resulting in a minimal
    download size. SmartGWT.mobile also makes use of GWT's ability to trim the delivered size of an
    application to just the components the application actually uses, resulting in smaller
    downloads and minimum resource requirements.

    SmartGWT.mobile and SmartGWT use the same server technology. DataSources and server business
    logic defined in either technology can be immediately reused with the other, with no new coding
    required. Like SmartGWT, SmartGWT.mobile can also be integrated with third-party server
    technologies via REST services.

    The UI components of SmartGWT.mobile have the same Java API as SmartGWT's UI components,
    resulting in quicker learning as well as both conceptual and code re-use between your desktop,
    tablet and mobile applications.


    == Getting Started ==

    During the beta period, you can download the SmartGWT.mobile SDK here:

    http://smartgwt-mobile.smartclient.c...mobile-1.0.zip

    Please start by reading user_guide.txt, which covers installation & usage as well as explaining
    when to use SmartGWT vs SmartGWT.mobile.

    The Showcase included in the SDK is available at the URL below. Please note SmartGWT.mobile
    supports mobile browsers only
    - certain non-mobile browsers are intended to be used for
    testing purposes (see details in user_guide.txt) but it is expected that, for example, IE8 does
    not work at all.

    http://smartgwt-mobile.smartclient.com/

    Both the downloadable SDK and public showcase will be periodically refreshed during the beta
    period. See the release_notes.html file in the .zip for changes.


    == Why use SmartGWT.mobile? ==

    1. Ease of development - use Java and Eclipse to write mobile applications

    SmartGWT.mobile is based on GWT (Google Web Toolkit), which means you can write your
    application in Java using Eclipse, even using step-through debugging to troubleshoot. You
    never have to learn the idiosynchrasies of HTML and JavaScript behavior on different devices,
    because that's handled by the framework - you just write Java.


    2. Single codebase across multiple devices, web or installed

    SmartGWT.mobile lets you deliver to a variety of smartphones devices from a single codebase,
    instead of using 4-5 different sets of tools and technologies to build mobile apps for each
    major platform.

    SmartGWT.mobile applications can also be packaged with technologies such as PhoneGap or
    Titanium to create installable native applications that have access to on-device resources such
    as the user's address book or photos.


    3. Native look and feel

    Through advanced use of CSS3 and HTML5 techniques, SmartGWT.mobile applications look and feel
    exactly like native mobile applications, even replicating smooth 3D animations and screen
    transitions.

    SmartGWT.mobile comes with multiple skins which replicate the native look and feel of different
    devices, and also allow you to "tint" the skins to achieve a unique look that still feels
    like a native app.


    4. Minimum application size

    Mobile applications need to be as lightweight as possible in order to download quicky and run
    smoothly on smartphone devices.

    Advanced use of CSS3 techniques means your application has an extremely rich look and feel, yet
    uses almost no images, making it download much faster and feel more responsive.

    Using GWT means that your application only downloads the specific widgets and features you
    actually use, automatically handling an important optimization process you would otherwise have
    to perform by hand.


    5. Deep server framework, shared for desktop and mobile

    SmartGWT.mobile provides instant integration with the SmartGWT Server Framework, a powerful &
    mature framework for simplifying the development of the server side of Java web applications.

    By leveraging a common server framework and client data services architecture, data services
    you create for the desktop version of your application are immediately accessible in the mobile
    version, and vice versa.


    == Licensing ==

    SmartGWT.mobile is being released under the LGPL, the same license as SmartGWT LGPL.

    Source code will be available in this Google Code project:

    http://code.google.com/p/smartgwt-mobile/

    But is not there yet. There is also no Maven support yet.

    #2
    Sweet!!!

    This sounds like something i was looking for / hoping for.

    I know that normal SmartGWT is in essence all about fluid layouts and when used smartly it will work on mobile, but I felt things could be improved on the mobile front.

    So this is really something I look forward to. I hope it will be able to stand-up to the likes of Sencha Touch2!

    Keep up the awesome work!

    Comment


      #3
      hi thank you for all this informations.

      I would have some extra info about if you have planned to bring out a Javascript version of it and when it will be available.

      I thank you beforehand.

      Comment


        #4
        There's now a new section in the FAQ specifically about SmartGWT.mobile - here's the one about a JavaScript version.

        Comment


          #5
          Outstanding!! And thank you! Beats any set of mobile widgets I've tried -- even my own! ( http://informagen.org/mobile-gwt/ )

          Even works pretty good on WebKit-based desktop browser - Safari, Chrome and OmniWeb except for scrolling but I understand why this is.

          SmartGWT.Mobile will make a great addition to our current SmartGWT Power solution.

          Again, Thanks!

          Comment


            #6
            How does this work with apple?

            I imagine one can't upload a non native objective c application to the marketplace for apple. Thus, how do folks release a product for the iphone built with this platform?

            Evan

            Comment


              #7
              Package it up using Phonegap or Titanium. This also allows access to device-specific data, such as the address book.

              Comment


                #8
                I suggest creating an additional forum for Smart.GWT mobile.

                I have posted several questions about mobile, but they are probably not answered because they are so many posts regarding SmartGWT itself.

                Comment


                  #9
                  Tomcat in SmartPhone?

                  Hi there,

                  I wanted to see the helloworld app (SmartGWT mobile) on my iPhone.
                  I deployed the tutorial helloworld app on my tomcat
                  and point with my iPhone to it using my WLAN. It worked properlly.
                  What about if I want to run the app on my Phone (without any web server).
                  But what about if I want to run the application for my SmartPhone?
                  How do I do that?
                  Is this application allways supposed to run with a Tomcat WebServer?
                  I just don´t get it!

                  Thanks in Advance!
                  Last edited by GWTDummies; 23 Sep 2012, 08:19.

                  Comment


                    #10
                    i have been following up and developing a complete application using the mobile library for a while now. i am discovering some bugs and performance issues. i download the latest code every day and test it against my app.
                    where i can post reports for bugs, issues, and wishlist? i already have a couple for you guys

                    i like the project, cant wait till is get mature enough.
                    great job :)

                    Comment


                      #11
                      Bugs and issues should be reported here in these forums.

                      Just be sure to include exact version as well as code to reproduce the problem.

                      Comment


                        #12
                        Hi, we are looking forward to use gwt mobile, but it looks like this is in beta for a year now ??

                        Is the mobile version still to be developed?

                        thanks,

                        Comment


                          #13
                          Yes, development is ongoing and it will soon be bundled with the main product as well as available standalone.

                          While it is labelled beta, it is stable and we are aggressively fixing any reported bugs. Many organizations have already deployed it as part of production apps.

                          Comment


                            #14
                            SmartGWT.mobile help

                            Hi guys, i just started using smartgwt.mobile on my macbook pro. Everything is installed fine with the latest version of xcode and phonegap. I followed all instructions, imported the showcase samples into xcode using phonegap and got it to work to an extent. However in the data binding examples, something keeps failing when i test them in the simulator. I'm new to this and need some help in sorting out the problem. The logs are below. Please help!

                            2013-04-30 14:46:47.603 MyMobileApp[3989:c07] Multi-tasking -> Device: YES, App: YES
                            2013-04-30 14:46:48.088 MyMobileApp[3989:c07] Resetting plugins due to page load.
                            2013-04-30 14:46:48.638 MyMobileApp[3989:c07] Finished load of: file:///Users/ChadCain/Library/Application%20Support/iPhone%20Simulator/6.1/Applications/CE53C48F-0E8B-4E29-AD9F-84B47A6F3B44/MyMobileApp.app/www/index.html
                            2013-04-30 14:46:48.712 MyMobileApp[3989:c07] DEPRECATION NOTICE: The Connection ReachableViaWWAN return value of '2g' is deprecated as of Cordova version 2.6.0 and will be changed to 'cellular' in a future release.
                            2013-04-30 14:46:48.855 MyMobileApp[3989:c07] [WARN] Log:WARNING: Assertions are not enabled. It is recommended to develop with assertions enabled because both GWT and SmartGWT.mobile use them to help find bugs in application code. To enable assertions, recompile the application with the -ea option passed to the GWT compiler.
                            2013-04-30 14:46:48.864 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=
                            2013-04-30 14:46:48.882 MyMobileApp[3989:c07] [LOG] onValueChange value=Overview
                            2013-04-30 14:46:48.882 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=Overview
                            2013-04-30 14:46:48.883 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=Overview
                            2013-04-30 14:46:48.927 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets
                            2013-04-30 14:46:48.927 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets
                            2013-04-30 14:46:48.928 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets
                            2013-04-30 14:46:48.928 MyMobileApp[3989:c07] [LOG] Log:GWT version: 2.4.0
                            2013-04-30 14:46:48.929 MyMobileApp[3989:c07] [LOG] Log:SmartGWT.mobile build date: Wed Mar 20 19:00:00 GMT-500 2013
                            2013-04-30 14:49:41.972 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=Widgets
                            2013-04-30 14:49:41.972 MyMobileApp[3989:c07] [LOG] pushHistory adding new item to history currentHistory=Widgets newHistory=Widgets/Data Binding
                            2013-04-30 14:49:42.001 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:49:42.001 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:49:42.002 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:49:51.663 MyMobileApp[3989:c07] [LOG] popHistory setting history=Widgets
                            2013-04-30 14:49:51.691 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets
                            2013-04-30 14:49:51.692 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets
                            2013-04-30 14:49:51.693 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets
                            2013-04-30 14:49:53.826 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=Widgets
                            2013-04-30 14:49:53.827 MyMobileApp[3989:c07] [LOG] pushHistory adding new item to history currentHistory=Widgets newHistory=Widgets/Data Binding
                            2013-04-30 14:49:53.852 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:49:53.852 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:49:53.853 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:26.822 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=Widgets/Data Binding
                            2013-04-30 14:52:26.823 MyMobileApp[3989:c07] [LOG] pushHistory adding new item to history currentHistory=Widgets/Data Binding newHistory=Widgets/Data Binding/Paged Table
                            2013-04-30 14:52:26.847 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Paged Table
                            2013-04-30 14:52:26.847 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Paged Table
                            2013-04-30 14:52:26.848 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Paged Table
                            2013-04-30 14:52:26.854 MyMobileApp[3989:c07] [WARN] Log:RPCManager.handleError(): Request 2 failed with status code -1
                            2013-04-30 14:52:26.854 MyMobileApp[3989:c07] [WARN] Log:RPCManager.handleError(): Request 1 failed with status code -1
                            2013-04-30 14:52:31.275 MyMobileApp[3989:c07] [LOG] popHistory setting history=Widgets/Data Binding
                            2013-04-30 14:52:31.295 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:31.295 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:31.296 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:32.783 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=Widgets/Data Binding
                            2013-04-30 14:52:32.784 MyMobileApp[3989:c07] [LOG] pushHistory adding new item to history currentHistory=Widgets/Data Binding newHistory=Widgets/Data Binding/Filtered Lists
                            2013-04-30 14:52:32.810 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Filtered Lists
                            2013-04-30 14:52:32.811 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Filtered Lists
                            2013-04-30 14:52:32.811 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Filtered Lists
                            2013-04-30 14:52:32.814 MyMobileApp[3989:c07] [WARN] Log:RPCManager.handleError(): Request 3 failed with status code -1
                            2013-04-30 14:52:32.815 MyMobileApp[3989:c07] [WARN] Log:RPCManager.handleError(): Request 4 failed with status code -1
                            2013-04-30 14:52:36.203 MyMobileApp[3989:c07] [LOG] popHistory setting history=Widgets/Data Binding
                            2013-04-30 14:52:36.222 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:36.223 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:36.224 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:37.970 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=Widgets/Data Binding
                            2013-04-30 14:52:37.970 MyMobileApp[3989:c07] [LOG] pushHistory adding new item to history currentHistory=Widgets/Data Binding newHistory=Widgets/Data Binding/CRUD Operations
                            2013-04-30 14:52:37.974 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/CRUD Operations
                            2013-04-30 14:52:37.975 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/CRUD Operations
                            2013-04-30 14:52:37.975 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/CRUD Operations
                            2013-04-30 14:52:38.038 MyMobileApp[3989:c07] [WARN] Log:RPCManager.handleError(): Request 5 failed with status code -1
                            2013-04-30 14:52:38.039 MyMobileApp[3989:c07] [WARN] Log:RPCManager.handleError(): Request 6 failed with status code -1
                            2013-04-30 14:52:40.363 MyMobileApp[3989:c07] [LOG] popHistory setting history=Widgets/Data Binding
                            2013-04-30 14:52:40.384 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:40.384 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:40.385 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:41.242 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=Widgets/Data Binding
                            2013-04-30 14:52:41.242 MyMobileApp[3989:c07] [LOG] pushHistory adding new item to history currentHistory=Widgets/Data Binding newHistory=Widgets/Data Binding/Table View
                            2013-04-30 14:52:41.263 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Table View
                            2013-04-30 14:52:41.264 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Table View
                            2013-04-30 14:52:41.265 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Table View
                            2013-04-30 14:52:41.272 MyMobileApp[3989:c07] [WARN] Log:RPCManager.handleError(): Request 7 failed with status code -1
                            2013-04-30 14:52:41.272 MyMobileApp[3989:c07] [WARN] Log:RPCManager.handleError(): Request 8 failed with status code -1
                            2013-04-30 14:52:42.394 MyMobileApp[3989:c07] [LOG] popHistory setting history=Widgets/Data Binding
                            2013-04-30 14:52:42.413 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:42.414 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:42.414 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:43.258 MyMobileApp[3989:c07] [LOG] pushHistory historyToken=Widgets/Data Binding
                            2013-04-30 14:52:43.259 MyMobileApp[3989:c07] [LOG] pushHistory adding new item to history currentHistory=Widgets/Data Binding newHistory=Widgets/Data Binding/Dynamic Form
                            2013-04-30 14:52:43.287 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Dynamic Form
                            2013-04-30 14:52:43.288 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Dynamic Form
                            2013-04-30 14:52:43.288 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding/Dynamic Form
                            2013-04-30 14:52:46.034 MyMobileApp[3989:c07] [LOG] popHistory setting history=Widgets/Data Binding
                            2013-04-30 14:52:46.053 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:46.055 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding
                            2013-04-30 14:52:46.056 MyMobileApp[3989:c07] [LOG] onValueChange value=Widgets/Data Binding

                            Comment


                              #15
                              This doesn't indicate a problem with your install - the samples that use Data Binding use hardcoded files in the Showcase, and there was a problem accessing the file:// URLs that are used to load these in PhoneGap. In a real application, you would use real URLs and this would be a non-issue.

                              Nevertheless, we've fixed this issue in case you want to see those samples running under PhoneGap anyway.

                              Note that the Paged Data Binding sample would still not be expected to run under PhoneGap since it requires a Java servlet to feed it sample data. This will of course work if the Java servlet is deployed on some other server and you change the sample code to provide the URL for that other server.

                              Comment

                              Working...
                              X