Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Offline web apps

Offline web apps

Scheduled Pinned Locked Moved The Lounge
csharpmobilejavascriptsalesandroid
61 Posts 30 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sander RosselS Sander Rossel

    So I'm taking over this client with the WinForms application. I know this client wants some new software in the near future. The thing is, he has some sales people who go and sell their product over at the customer, who are all farmers. They also go out in the field where internet isn't always available. I know they either have a phone or tablet where they want to enter the client's order. They currently write it down on paper or enter it as plain text on a tablet and then someone else enters it into the WinForms application. So I'm thinking, since internet is not always available, I'll have to go with a phone app. It should work on iOS and Android and, if possible, also on tablets, which can also be Windows. These apps are installed locally so they should always work, even without internet. Entered data can be cached when internet is not available and synced once an internet connection becomes available again (which can be hours later). Does anyone here know of a tool, library or framework that runs on phones and tablets on iOS, Android and Windows or am I doomed to write umpteen different apps? I know PhoneGap works on iOS and Android (and in the past on Windows Phone too). I've heard some good things about Xamarin too. But I have no experience in either. I know I'll need a Mac to build anything for iOS because Apple are a bunch of ... Well, if you can't say anything nice just don't say anything at all :) I've also read about actual offline web pages, but doing something like clearing your browser history or cookies will mess them up good. It sounds like it's all kind of crap in 2019. Any suggestions, ideas, experiences, tips?

    Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

    S Offline
    S Offline
    SeasonedGuru
    wrote on last edited by
    #33

    Try Xojo. It allows you to write native code for all popular platforms. That is something that not even MS or Java can do.

    Sander RosselS M 2 Replies Last reply
    0
    • Sander RosselS Sander Rossel

      So I'm taking over this client with the WinForms application. I know this client wants some new software in the near future. The thing is, he has some sales people who go and sell their product over at the customer, who are all farmers. They also go out in the field where internet isn't always available. I know they either have a phone or tablet where they want to enter the client's order. They currently write it down on paper or enter it as plain text on a tablet and then someone else enters it into the WinForms application. So I'm thinking, since internet is not always available, I'll have to go with a phone app. It should work on iOS and Android and, if possible, also on tablets, which can also be Windows. These apps are installed locally so they should always work, even without internet. Entered data can be cached when internet is not available and synced once an internet connection becomes available again (which can be hours later). Does anyone here know of a tool, library or framework that runs on phones and tablets on iOS, Android and Windows or am I doomed to write umpteen different apps? I know PhoneGap works on iOS and Android (and in the past on Windows Phone too). I've heard some good things about Xamarin too. But I have no experience in either. I know I'll need a Mac to build anything for iOS because Apple are a bunch of ... Well, if you can't say anything nice just don't say anything at all :) I've also read about actual offline web pages, but doing something like clearing your browser history or cookies will mess them up good. It sounds like it's all kind of crap in 2019. Any suggestions, ideas, experiences, tips?

      Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

      S Offline
      S Offline
      Sharp Ninja
      wrote on last edited by
      #34

      Uno Platform is what you want. It supports all phone and desktop platforms from a single codebase.

      Sander RosselS 1 Reply Last reply
      0
      • S Sharp Ninja

        Uno Platform is what you want. It supports all phone and desktop platforms from a single codebase.

        Sander RosselS Offline
        Sander RosselS Offline
        Sander Rossel
        wrote on last edited by
        #35

        Interesting, bookmarked. Thanks :thumbsup:

        Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

        1 Reply Last reply
        0
        • M maze3

          0 - I have not used any of the following in real world, but hopefully helpful pointers to look at. 1 - what is your language preference/strongest If wanting to stick with c#/.net side of things, look toward Xamarin. Build one logic core, apply platform specifics for android/ios where needed. But will need apple machine to build the ios version. 2 - Web App with offline functionality

          Quote:

          clearing your browser history or cookies will mess them up good

          Is this a real concern or over thinking? I would expect offline data to be stored in the local storage api and not as cookies. Yes this can be cleared, but I would check what the default settings are for clearing. If want to give the "feel" of an app, then maybe look at wrapping it in electronjs

          Sander RosselS Offline
          Sander RosselS Offline
          Sander Rossel
          wrote on last edited by
          #36

          maze3 wrote:

          Is this a real concern or over thinking?

          I'm not sure. I know someone who clears everything by default. I know she's an exception, but it still worries me. Xamarin looks like it could be a valid option. Or maybe a web app with offline functionality, because it'll be cheaper for the client :D

          Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

          1 Reply Last reply
          0
          • S SeasonedGuru

            Try Xojo. It allows you to write native code for all popular platforms. That is something that not even MS or Java can do.

            Sander RosselS Offline
            Sander RosselS Offline
            Sander Rossel
            wrote on last edited by
            #37

            Looks like low-code and the code you have to write is VB.NET. I'm a bit allergic to low-code since my last experience with it (no source control, the code you have to write becomes a lot more difficult to write because you need to know the framework, the drag'n'drop "code" takes ages to click together, the database had no query language...). I'll put it on my long-list though.

            Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

            1 Reply Last reply
            0
            • B Brian Hanf 0

              There are services that will do the deployment, I forget the name of the one my company uses, that will compile the iOS version of the app for you and submit to Apple store etc. That way you don't have to have a Mac. BitRise or DevOps I think might be the names or name of what they use.

              B

              Sander RosselS Offline
              Sander RosselS Offline
              Sander Rossel
              wrote on last edited by
              #38

              Now it's interesting again! This thread is an emotional roller coaster :laugh:

              Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

              1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                So I'm taking over this client with the WinForms application. I know this client wants some new software in the near future. The thing is, he has some sales people who go and sell their product over at the customer, who are all farmers. They also go out in the field where internet isn't always available. I know they either have a phone or tablet where they want to enter the client's order. They currently write it down on paper or enter it as plain text on a tablet and then someone else enters it into the WinForms application. So I'm thinking, since internet is not always available, I'll have to go with a phone app. It should work on iOS and Android and, if possible, also on tablets, which can also be Windows. These apps are installed locally so they should always work, even without internet. Entered data can be cached when internet is not available and synced once an internet connection becomes available again (which can be hours later). Does anyone here know of a tool, library or framework that runs on phones and tablets on iOS, Android and Windows or am I doomed to write umpteen different apps? I know PhoneGap works on iOS and Android (and in the past on Windows Phone too). I've heard some good things about Xamarin too. But I have no experience in either. I know I'll need a Mac to build anything for iOS because Apple are a bunch of ... Well, if you can't say anything nice just don't say anything at all :) I've also read about actual offline web pages, but doing something like clearing your browser history or cookies will mess them up good. It sounds like it's all kind of crap in 2019. Any suggestions, ideas, experiences, tips?

                Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                L Offline
                L Offline
                Lucas Vogel
                wrote on last edited by
                #39

                Google's Firebase real-time database is designed for exactly this particular scenario. You don't have to do this, but if you combined it with something like Flutter, you've got a platform for building xplat mobile apps, and (coming soon) web apps on top of it too.

                https://endpointsystems.com

                Sander RosselS 1 Reply Last reply
                0
                • L Lucas Vogel

                  Google's Firebase real-time database is designed for exactly this particular scenario. You don't have to do this, but if you combined it with something like Flutter, you've got a platform for building xplat mobile apps, and (coming soon) web apps on top of it too.

                  https://endpointsystems.com

                  Sander RosselS Offline
                  Sander RosselS Offline
                  Sander Rossel
                  wrote on last edited by
                  #40

                  Looks very cool! :thumbsup: It's on top of my long-list now :D

                  Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                  1 Reply Last reply
                  0
                  • B Brian Hanf 0

                    There are services that will do the deployment, I forget the name of the one my company uses, that will compile the iOS version of the app for you and submit to Apple store etc. That way you don't have to have a Mac. BitRise or DevOps I think might be the names or name of what they use.

                    B

                    B Offline
                    B Offline
                    Bruce Patin
                    wrote on last edited by
                    #41

                    The last time I looked into it, you still need the Apple machine to do storyboarding, which I have found to be helpful.

                    M 1 Reply Last reply
                    0
                    • Sander RosselS Sander Rossel

                      So I'm taking over this client with the WinForms application. I know this client wants some new software in the near future. The thing is, he has some sales people who go and sell their product over at the customer, who are all farmers. They also go out in the field where internet isn't always available. I know they either have a phone or tablet where they want to enter the client's order. They currently write it down on paper or enter it as plain text on a tablet and then someone else enters it into the WinForms application. So I'm thinking, since internet is not always available, I'll have to go with a phone app. It should work on iOS and Android and, if possible, also on tablets, which can also be Windows. These apps are installed locally so they should always work, even without internet. Entered data can be cached when internet is not available and synced once an internet connection becomes available again (which can be hours later). Does anyone here know of a tool, library or framework that runs on phones and tablets on iOS, Android and Windows or am I doomed to write umpteen different apps? I know PhoneGap works on iOS and Android (and in the past on Windows Phone too). I've heard some good things about Xamarin too. But I have no experience in either. I know I'll need a Mac to build anything for iOS because Apple are a bunch of ... Well, if you can't say anything nice just don't say anything at all :) I've also read about actual offline web pages, but doing something like clearing your browser history or cookies will mess them up good. It sounds like it's all kind of crap in 2019. Any suggestions, ideas, experiences, tips?

                      Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                      M Offline
                      M Offline
                      MSBassSinger
                      wrote on last edited by
                      #42

                      Yes. Xamarin Forms using Visual Studio 2019 on Windows, with a Mac Mini or other Mac on the network that you can connect to from VS2019 and if needed, VNC into. The single Xamarin Forms solution creates iOS, Android, and UWP (for Windows) projects. The UI code is written once (though you can include native UI code if and when necessary, which is rare or non-existent), and shared between the OS-specific projects. The time-to-delivery is better than other development platforms when one considers equally skilled developers in each platform. I use that setup and it works like a charm. The caveat, which is true in about any development environment, is to use the tool as it was designed to be used. Native mobile apps (stateful) are a wholly different architecture than web apps (stateless). In fact, they are more like WinForms apps than like web apps. You can build the WebAPI code in the same project, so if there is an Internet connection, the data uploads. If the connection is not there, you can save the data locally, and automatically upload when connected.

                      1 Reply Last reply
                      0
                      • Richard DeemingR Richard Deeming

                        You're right. You can develop on Windows, but you still need a Mac to build. :doh:


                        "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                        M Offline
                        M Offline
                        MSBassSinger
                        wrote on last edited by
                        #43

                        To clarify, the VS in Windows handles the building on the Mac remotely, so you don't have to build on the Mac yourself. VS even builds it on the Mac, and runs it in an emulator on the Windows machine. All your development, building, and deployment takes place through VS on Windows. It is only because of Apple's highly proprietary licensing that the Mac is required.

                        1 Reply Last reply
                        0
                        • B Bruce Patin

                          The last time I looked into it, you still need the Apple machine to do storyboarding, which I have found to be helpful.

                          M Offline
                          M Offline
                          MSBassSinger
                          wrote on last edited by
                          #44

                          If MS would maker a XAML Designer on a par with the WinForms designer, the Storyboard would be superfluous. I don't use it. I muddle through with the UI tools provided for Xamarin XAML.

                          1 Reply Last reply
                          0
                          • realJSOPR realJSOP

                            If they can use their phone, the internet is available. Make it a web app and walk away.

                            ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                            -----
                            You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                            -----
                            When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                            M Offline
                            M Offline
                            MSBassSinger
                            wrote on last edited by
                            #45

                            #realJSOP wrote:

                            If they can use their phone, the internet is available

                            Have you worked with farmers in rural areas? Until 5G becomes pervasive, there are lots of fields and farmhouses out in the country where the Internet is not available (even on corporate farms), and no service or unstable service for the wireless network. Working offline is a real use case for the scenario presented.

                            realJSOPR 1 Reply Last reply
                            0
                            • S SeasonedGuru

                              Try Xojo. It allows you to write native code for all popular platforms. That is something that not even MS or Java can do.

                              M Offline
                              M Offline
                              MSBassSinger
                              wrote on last edited by
                              #46

                              SeasonedGuru wrote:

                              That is something that not even MS ... can do.

                              What "popular platform" does Xamarin not support?

                              1 Reply Last reply
                              0
                              • Sander RosselS Sander Rossel

                                So I'm taking over this client with the WinForms application. I know this client wants some new software in the near future. The thing is, he has some sales people who go and sell their product over at the customer, who are all farmers. They also go out in the field where internet isn't always available. I know they either have a phone or tablet where they want to enter the client's order. They currently write it down on paper or enter it as plain text on a tablet and then someone else enters it into the WinForms application. So I'm thinking, since internet is not always available, I'll have to go with a phone app. It should work on iOS and Android and, if possible, also on tablets, which can also be Windows. These apps are installed locally so they should always work, even without internet. Entered data can be cached when internet is not available and synced once an internet connection becomes available again (which can be hours later). Does anyone here know of a tool, library or framework that runs on phones and tablets on iOS, Android and Windows or am I doomed to write umpteen different apps? I know PhoneGap works on iOS and Android (and in the past on Windows Phone too). I've heard some good things about Xamarin too. But I have no experience in either. I know I'll need a Mac to build anything for iOS because Apple are a bunch of ... Well, if you can't say anything nice just don't say anything at all :) I've also read about actual offline web pages, but doing something like clearing your browser history or cookies will mess them up good. It sounds like it's all kind of crap in 2019. Any suggestions, ideas, experiences, tips?

                                Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                                M Offline
                                M Offline
                                mmelvis
                                wrote on last edited by
                                #47

                                Couchdb builtin offline ability and can sync when you get a connection.

                                1 Reply Last reply
                                0
                                • M MSBassSinger

                                  #realJSOP wrote:

                                  If they can use their phone, the internet is available

                                  Have you worked with farmers in rural areas? Until 5G becomes pervasive, there are lots of fields and farmhouses out in the country where the Internet is not available (even on corporate farms), and no service or unstable service for the wireless network. Working offline is a real use case for the scenario presented.

                                  realJSOPR Offline
                                  realJSOPR Offline
                                  realJSOP
                                  wrote on last edited by
                                  #48

                                  Once again (and for the 3rd time), if the internet is not available, write a desktop app that will sync up when you're able to. It doesn't have to be a phone/tablet app, and probably even shouldn't be. A windows destop app is appropriate. When you're gonna go out (literally) in the field, synch up pricing onto the laptop before you begin travel (just in case uinternet isn't available), and use the laptop to do the sales stuff (using your phone/tablet as a WAP). It ain't rocket science, and I can't believe I have to f*ckin spell this out.

                                  ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                                  -----
                                  You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                                  -----
                                  When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                                  M 1 Reply Last reply
                                  0
                                  • Sander RosselS Sander Rossel

                                    So I'm taking over this client with the WinForms application. I know this client wants some new software in the near future. The thing is, he has some sales people who go and sell their product over at the customer, who are all farmers. They also go out in the field where internet isn't always available. I know they either have a phone or tablet where they want to enter the client's order. They currently write it down on paper or enter it as plain text on a tablet and then someone else enters it into the WinForms application. So I'm thinking, since internet is not always available, I'll have to go with a phone app. It should work on iOS and Android and, if possible, also on tablets, which can also be Windows. These apps are installed locally so they should always work, even without internet. Entered data can be cached when internet is not available and synced once an internet connection becomes available again (which can be hours later). Does anyone here know of a tool, library or framework that runs on phones and tablets on iOS, Android and Windows or am I doomed to write umpteen different apps? I know PhoneGap works on iOS and Android (and in the past on Windows Phone too). I've heard some good things about Xamarin too. But I have no experience in either. I know I'll need a Mac to build anything for iOS because Apple are a bunch of ... Well, if you can't say anything nice just don't say anything at all :) I've also read about actual offline web pages, but doing something like clearing your browser history or cookies will mess them up good. It sounds like it's all kind of crap in 2019. Any suggestions, ideas, experiences, tips?

                                    Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                                    T Offline
                                    T Offline
                                    TylerMc007
                                    wrote on last edited by
                                    #49

                                    I've been using Ionic (ionicframework.com) for several years. It works well if you want to target Apple, Android and web all with one code base. It also supports Progressive Web Apps (offline web applications). I've had clients that did not want to pay for an iOS developer, an Android developer and a web developer but wanted it on all 3 platforms. Obviously, having one code base also makes it easier to maintain.

                                    1 Reply Last reply
                                    0
                                    • realJSOPR realJSOP

                                      Once again (and for the 3rd time), if the internet is not available, write a desktop app that will sync up when you're able to. It doesn't have to be a phone/tablet app, and probably even shouldn't be. A windows destop app is appropriate. When you're gonna go out (literally) in the field, synch up pricing onto the laptop before you begin travel (just in case uinternet isn't available), and use the laptop to do the sales stuff (using your phone/tablet as a WAP). It ain't rocket science, and I can't believe I have to f*ckin spell this out.

                                      ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                                      -----
                                      You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                                      -----
                                      When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                                      M Offline
                                      M Offline
                                      MSBassSinger
                                      wrote on last edited by
                                      #50

                                      You are missing the point. In the field, a tablet or smartphone is easier to manage than carrying along a Windows laptop. Your idea works OK if the person is carrying a Surface tablet that can run a desktop app. But if you want to give the field staff the versatility to use a tablet or smartphone, or even a laptop, then a Xamarin Forms app is the best approach. Xamarin Forms apps are, in essence, a desktop app that runs on iOS, Android, or Windows. No need to get your panties in a wad and be snarky because you do not get the problem domain.

                                      realJSOPR 1 Reply Last reply
                                      0
                                      • Sander RosselS Sander Rossel

                                        So I'm taking over this client with the WinForms application. I know this client wants some new software in the near future. The thing is, he has some sales people who go and sell their product over at the customer, who are all farmers. They also go out in the field where internet isn't always available. I know they either have a phone or tablet where they want to enter the client's order. They currently write it down on paper or enter it as plain text on a tablet and then someone else enters it into the WinForms application. So I'm thinking, since internet is not always available, I'll have to go with a phone app. It should work on iOS and Android and, if possible, also on tablets, which can also be Windows. These apps are installed locally so they should always work, even without internet. Entered data can be cached when internet is not available and synced once an internet connection becomes available again (which can be hours later). Does anyone here know of a tool, library or framework that runs on phones and tablets on iOS, Android and Windows or am I doomed to write umpteen different apps? I know PhoneGap works on iOS and Android (and in the past on Windows Phone too). I've heard some good things about Xamarin too. But I have no experience in either. I know I'll need a Mac to build anything for iOS because Apple are a bunch of ... Well, if you can't say anything nice just don't say anything at all :) I've also read about actual offline web pages, but doing something like clearing your browser history or cookies will mess them up good. It sounds like it's all kind of crap in 2019. Any suggestions, ideas, experiences, tips?

                                        Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                                        H Offline
                                        H Offline
                                        Hedzer
                                        wrote on last edited by
                                        #51

                                        Front end: PhoneGap, Xamarin, Flutter Flutter might be your best bet here, but because it's so new it's a bit of a pain to find certain kinds of libraries. Offline w/ sync, backend: PouchDB, TurtleDB, RXDB

                                        1 Reply Last reply
                                        0
                                        • M MSBassSinger

                                          You are missing the point. In the field, a tablet or smartphone is easier to manage than carrying along a Windows laptop. Your idea works OK if the person is carrying a Surface tablet that can run a desktop app. But if you want to give the field staff the versatility to use a tablet or smartphone, or even a laptop, then a Xamarin Forms app is the best approach. Xamarin Forms apps are, in essence, a desktop app that runs on iOS, Android, or Windows. No need to get your panties in a wad and be snarky because you do not get the problem domain.

                                          realJSOPR Offline
                                          realJSOPR Offline
                                          realJSOP
                                          wrote on last edited by
                                          #52

                                          They may be "easier to manage", but getting an app onto those devices requires going through the appropriate play store. Getting software onto a laptop requires no such restriction, PLUS most laptops rn Windows, so you only have one latform to support. But whatever...

                                          ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                                          -----
                                          You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                                          -----
                                          When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                                          M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups