Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Best practice: SmartGWT applications for mobile devices - PhoneGap or PWA?

    Hi Isomorphic,

    we are preparing to release parts of our application as App for mobile.
    As written here, we are planning on doing this with PhoneGap.

    The features we need from PhoneGap are geolocation and notifications.

    Now I read about Progressive Web Apps and perhaps they are an alternative for us as well.
    It seems that the most important parts (Service Workers, Web App Manifest) are supported in iOS and Android.

    It also seems, Push Notifications do not work with iOS as of today:
    https://www.goodbarber.com/blog/ios-...web-apps-a898/
    https://medium.com/@firt/progressive...e-d00430dee3a7

    Advantage of using PWAs (if notifications are supported eventually) would be to be independent from App Store Review (don't know if this will be a problem for my CRM-like application) and from PhoneGap.

    Do you have any experience with SmartGWT/SmartClient applications as PWAs you can share? Pros and Cons? In general I don't see a reason why this should not work, but perhaps you have already tired it.

    Thank you & Best regards
    Blama

    #2
    We’ve used web manifests to demonstrate perfect cachability and offline operation. Works fine.

    We have not had a use case come up where Service Workers or Push Notifications would have been useful.

    Comment


      #3
      Hi Blama,

      Have you gone through the process of converting existing SmartGWT application into PWA app? Or PhoneGap packaging?
      Can you share your experience eventually?

      Thanks,
      MichalG

      Comment


        #4
        Hi michalg,

        yes, we have our app packaged as well as PhoneGap-app (extras notifications and geolocalization).
        In general it "just works", but there are some minor gotchas, as the handset/tablet usage clearly isn't as common as the normal one. So there as some issues you'll find from time to time (Isomorphic: I'll create reports soon).

        We don't use the full adaptive feature set which surly will be great if you structured your app correctly from the beginning (we did not, so we have a big "if (mobile)" at the beginning and try to reuse classes inside of it).
        mathias and perhaps claudiobosticco and paulwilhelm might have more insights.

        Other than that it is very unfortunate that both Apple and google don't treat HTML5 Apps as first class citizens. So I'd say it depends on your skillset and budget.
        We did a very minimal native iOS proof of concept something related to our software - that it still at POC level and took 8 weeks plus and does not include Android obviously - so HTML5 is very compelling here. And at least for iOS it is not the way that it "just works". You have to style your widgets, will have problems with the widgets, might need a 3rd party library, ...

        I hope this helps.

        Best regards
        Blama

        Comment


          #5
          I'm sorry but i don't have much experience with PhoneGap. I made our IOS and Android apps in ObjectiveC/Java. The problem with PhoneGap and other abstraction layers is that while it can work if the functionality does not require much native stuff, ours has Siri support, complex push notifications, NFC, Geofences and various geolocation related functions, positioning etc. Those are kind of hard to realize with an abstraction layer technology.

          We're currently starting to try and rewrite our web so that it's a better experience on mobile (through the browser) though, so any tips are appreciated.
          Last edited by mathias; 20 May 2020, 01:13.

          Comment


            #6
            Sorry, but I don't have much PhoneGap experience. ObjectiveC/Java was used to create our iOS and Android apps. The issue with PhoneGap and other abstraction layers is that, while they may work if the functionality does not require much native code, ours includes Siri support, complicated push notifications, NFC, Geofences, and many geolocation-related operations, positioning, and so on. With abstraction layer technology, those are a little more difficult to achieve.

            However, we're currently trying to rewrite our website to make it more user-friendly on mobile (via the browser), so any suggestions are welcome.

            Comment


              #7
              Hi convrtx, we're not sure what the thrust of your post is (in fact some community members flagged it as possible spam!), but, the reality is that you can combine native mobile functionality and web functionality in any mix you like!

              You can, for example, start your app with ObjectiveC or Android tools, and just include SmartClient-based content in a WebFrame (even if it's 90% of the app!).

              Tools like PhoneGap, that are more web-centric, make more sense if you require a minimum of mobile-specific device functionality, especially if you don't have the resources to fully debug on every device.

              Both approaches work, and you may pick one or the other based on how much device-native functionality you have.

              Either way, the trend is pretty clear: unless your mobile app really has no meaningful web-browser version, it makes sense to take the parts of the app that are common between the mobile and web versions, write them in web-centric technology like SmartClient, and share those parts between the mobile and web versions.

              Comment


                #8
                Hi all,

                it seems that at least for notifications you won't need PhoneGap at all soon anymore.
                I watched the video linked here in the middle - it doesn't seem to be particularly complicated with the web push. Since this week it is also possible in the current Safari (with the current MacOS, Safari doesn't even have to be running) and has been possible in Chrome/Edge/Firefox for much longer (the browser must be started). iOS will probably follow sometime next year.

                Best regards
                Blama

                Comment

                Working...
                X