Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Looking for engin.io replacement -joining our effort initiative
QtWS25 Last Chance

Looking for engin.io replacement -joining our effort initiative

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
baasengin.iocloud servicespush notificatisocial login
55 Posts 9 Posters 25.9k Views
  • 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.
  • B Offline
    B Offline
    bnogal
    wrote on 9 Feb 2016, 17:15 last edited by
    #9

    i just post to say, i support the idea!

    lets see what i get from my little code. i hope i can upload it soon this week.

    1 Reply Last reply
    0
    • G Offline
      G Offline
      gadlim
      wrote on 11 Feb 2016, 20:44 last edited by
      #10

      Follow-up on my Cloudant evaluation: I ran into problems trying to figure out how to encrypt user passwords.
      I'll have a conversation on that subject with IBMers tomorrow.
      I hope to also discuss the broader subject of whether Cloudant is a good fit for 2-tiers apps (no server code, or almost no server code).

      If you guys have questions, tell me, I'll try to insert them in the conversation.

      G 1 Reply Last reply 19 Feb 2016, 17:56
      1
      • B Offline
        B Offline
        bnogal
        wrote on 12 Feb 2016, 16:41 last edited by
        #11

        Well

        I am almost ready to upload my code.
        I just miss a class... that i used lately at my job and i should remove it from my personal code now...

        It is a swissknife class that it is almost no needed, but does a basic task.

        For the login.

        My code uses google login in android, so security is taken by google and baasbox. It should be possible to do something similar for iphone.

        For "secure" password login without using "social login" by the moment i just hash at application level the password, as by the moment i dont use ssh for requests. It doesnt make secure the system, but unless it doesnt exposes the original password in plain text.
        It should be easy to improve the code to use a certificate and SSL sockets with some Qt magic.

        Today i have a some social event... hope i can rip off that class and upload it tomorrow. The rest is ready

        C 1 Reply Last reply 12 Feb 2016, 16:47
        1
        • B bnogal
          12 Feb 2016, 16:41

          Well

          I am almost ready to upload my code.
          I just miss a class... that i used lately at my job and i should remove it from my personal code now...

          It is a swissknife class that it is almost no needed, but does a basic task.

          For the login.

          My code uses google login in android, so security is taken by google and baasbox. It should be possible to do something similar for iphone.

          For "secure" password login without using "social login" by the moment i just hash at application level the password, as by the moment i dont use ssh for requests. It doesnt make secure the system, but unless it doesnt exposes the original password in plain text.
          It should be easy to improve the code to use a certificate and SSL sockets with some Qt magic.

          Today i have a some social event... hope i can rip off that class and upload it tomorrow. The rest is ready

          C Offline
          C Offline
          Charby
          wrote on 12 Feb 2016, 16:47 last edited by
          #12

          @bnogal Sounds great !
          From my side, I couldn't progress at that rate...what I did is create the skeleton of a plugin (I was unfamiliar with the plugin mechanism) and request for a playground project from the developer mailing list. I have continued evaluation with Apigee candidate. But I feel I should restrain myself now and focus on a something simple that could be later on improved so I will start with the firebase plugin. Hopefully I should be able to publish in a couple of days.

          1 Reply Last reply
          0
          • G Offline
            G Offline
            gadlim
            wrote on 12 Feb 2016, 17:30 last edited by gadlim 2 Dec 2016, 17:38
            #13

            Hello,

            Quick update from Cloudant:

            • Security should be ok, but I'm still missing some pieces
            • Offline+sync support for mobile and web apps with PouchDB, very similar to how the Firebase SDK works (but with more options for queries, including server-side filters)
            1 Reply Last reply
            0
            • X Offline
              X Offline
              xargs1
              wrote on 13 Feb 2016, 08:29 last edited by
              #14

              Looking at people's attempts to get PouchDB working with Qt/QML, it doesn't seem very encouraging.

              G 1 Reply Last reply 13 Feb 2016, 10:07
              0
              • X xargs1
                13 Feb 2016, 08:29

                Looking at people's attempts to get PouchDB working with Qt/QML, it doesn't seem very encouraging.

                G Offline
                G Offline
                gadlim
                wrote on 13 Feb 2016, 10:07 last edited by
                #15

                @xargs1 said:

                Looking at people's attempts to get PouchDB working with Qt/QML, it doesn't seem very encouraging.

                Do you have some links ?
                There's a Python adapter project that uses Qt internally to wrap PouchDB, so a C++/QML adapter should be feasible. That said, maybe it's too much effort and we should to stick to the REST API.

                1 Reply Last reply
                0
                • X Offline
                  X Offline
                  xargs1
                  wrote on 13 Feb 2016, 19:39 last edited by
                  #16

                  As far as I'm aware, PouchDB is pure JavaScript and doesn't have a REST API.

                  Here's the discussion on failed attempts to integrate PouchDB into QML:

                  https://github.com/pouchdb/pouchdb/issues/3709

                  G 1 Reply Last reply 13 Feb 2016, 19:50
                  0
                  • X xargs1
                    13 Feb 2016, 19:39

                    As far as I'm aware, PouchDB is pure JavaScript and doesn't have a REST API.

                    Here's the discussion on failed attempts to integrate PouchDB into QML:

                    https://github.com/pouchdb/pouchdb/issues/3709

                    G Offline
                    G Offline
                    gadlim
                    wrote on 13 Feb 2016, 19:50 last edited by
                    #17

                    @xargs1 said:

                    As far as I'm aware, PouchDB is pure JavaScript and doesn't have a REST API.

                    I was referring to the Cloudant REST API

                    Here's the discussion on failed attempts to integrate PouchDB into QML:

                    https://github.com/pouchdb/pouchdb/issues/3709

                    I see. It's in a "maybe could work with some efforts but nobody's working on it" state.

                    1 Reply Last reply
                    0
                    • X Offline
                      X Offline
                      xargs1
                      wrote on 13 Feb 2016, 20:08 last edited by
                      #18

                      It seems to be like most of the large JavaScript frameworks: it assumes it's running in either a browser or node.js, and QML's JavaScript doesn't provide either of those environments.

                      G 1 Reply Last reply 13 Feb 2016, 21:09
                      0
                      • X xargs1
                        13 Feb 2016, 20:08

                        It seems to be like most of the large JavaScript frameworks: it assumes it's running in either a browser or node.js, and QML's JavaScript doesn't provide either of those environments.

                        G Offline
                        G Offline
                        gadlim
                        wrote on 13 Feb 2016, 21:09 last edited by
                        #19

                        @xargs1 said:

                        It seems to be like most of the large JavaScript frameworks: it assumes it's running in either a browser or node.js, and QML's JavaScript doesn't provide either of those environments.

                        Yes.
                        There's another non-JS (Android) adapter that's using the same tactics as the PyQt adapter (hidden Webview), but it's also unmaintained.
                        What's strange is that IBM (Cloudant) is advertising PouchDB as the right solution for mobile apps sync, so they're focusing on "mobile" web apps maybe.

                        1 Reply Last reply
                        0
                        • C Offline
                          C Offline
                          Charby
                          wrote on 14 Feb 2016, 17:03 last edited by
                          #20

                          Hi all,

                          I think it would be helpful to create a Qt playground project so we could publish our backend wrappers in a commun repository. I have sent a request for creating the playground project to the development mailing list but I don't know whether it is the way to go...Do you know what is the process to follow to create a playground project ?

                          So far, I have designed a QML plugin which is a work in progress :

                          • the plugin only offers for now a Firebase backend element which is quite limited : the only supported authorization method is the secret token id and at this time it is only a thin wrapper around the REST API (GET, DELETE, POST, PATCH and PUT are supported).
                          • what remains to be done :
                            • define and implement an API suitable for supporting multiple backend : one option could be to design an API similar to the former enginio (create, update, query, uploadFile, downloadURL, remove...) but this API relies on backend features that we would have to mimics (users and usergroups, fileref...) so I am not sure this would be the way to go...
                            • create a model that could be nicely used from QML like the former enginio model
                            • use the Android and iOS sdk depending on the deployed platform (and using the REST sdk otherwise)
                            • implement other backend using the same API (cloudant, apigee, BaaSBox...)

                          I don't know if this does worth to publish this to github or to wait for the creation of a playground qt module...

                          1 Reply Last reply
                          1
                          • G Offline
                            G Offline
                            gadlim
                            wrote on 14 Feb 2016, 18:40 last edited by
                            #21

                            @Charby said:

                            I don't know if this does worth to publish this to github or to wait for the creation of a playground qt module...

                            I'd say, if you have some code, even WIP, publish it. When discussing specs in a group, actual code can help to keep everyone on the same page.

                            Given our limited resources, it would help a lot to have only a thin layer of code to add to another, wider audience project (at the moment Qt/QML on mobile is a small audience, sadly). I thinking specifically of Hood.ie. I don't know if it's technically feasible, but using Hoodie as a kind of middleware could save a lot of code; just mimicking its API could be useful too. Of course if (for instance) Hoodie is bound to the browser, we have the same problem as with PouchDB.

                            C 1 Reply Last reply 14 Feb 2016, 20:50
                            1
                            • X Offline
                              X Offline
                              xargs1
                              wrote on 14 Feb 2016, 18:58 last edited by
                              #22

                              I just finished a pure Qt Quick CouchDB interface (no C++ or plugins) which meets my current needs for storage. It would probably be trivial to get it work with Cloudant, but I'm not interested in adopting yet another BaaS provider that's going to disappear in a month or a year like Enginio and Parse did.

                              G 1 Reply Last reply 14 Feb 2016, 20:22
                              0
                              • X xargs1
                                14 Feb 2016, 18:58

                                I just finished a pure Qt Quick CouchDB interface (no C++ or plugins) which meets my current needs for storage. It would probably be trivial to get it work with Cloudant, but I'm not interested in adopting yet another BaaS provider that's going to disappear in a month or a year like Enginio and Parse did.

                                G Offline
                                G Offline
                                gadlim
                                wrote on 14 Feb 2016, 20:22 last edited by
                                #23

                                @xargs1 said:

                                I just finished a pure Qt Quick CouchDB interface (no C++ or plugins) which meets my current needs for storage. It would probably be trivial to get it work with Cloudant, but I'm not interested in adopting yet another BaaS provider that's going to disappear in a month or a year like Enginio and Parse did.

                                That's great! A CouchDB interface should be directly pluggable to the Cloudant service. See this. In fact, I gather that IBM is currently a main contributor to CouchDB, and was before the acquisition of Cloudant, which was originally an independant company. Think of Cloudant as CouchDB hosting + benefits.
                                The situation is different for Enginio because of the closed-source components. OTOH, CouchDB is an Apache project and Cloudant can be self-hosted if you don't like "public" clouds.

                                As an aside, why Enginio, or a least the main parts, can't be open-sourced is beyond me. Given the competitive nature of the Baas market, not having an "we-failed-commercially-but-here-is-the-source-code" exit plan is disappointing, given the Qt ties to the OSS/Free software world.

                                1 Reply Last reply
                                1
                                • G gadlim
                                  14 Feb 2016, 18:40

                                  @Charby said:

                                  I don't know if this does worth to publish this to github or to wait for the creation of a playground qt module...

                                  I'd say, if you have some code, even WIP, publish it. When discussing specs in a group, actual code can help to keep everyone on the same page.

                                  Given our limited resources, it would help a lot to have only a thin layer of code to add to another, wider audience project (at the moment Qt/QML on mobile is a small audience, sadly). I thinking specifically of Hood.ie. I don't know if it's technically feasible, but using Hoodie as a kind of middleware could save a lot of code; just mimicking its API could be useful too. Of course if (for instance) Hoodie is bound to the browser, we have the same problem as with PouchDB.

                                  C Offline
                                  C Offline
                                  Charby
                                  wrote on 14 Feb 2016, 20:50 last edited by
                                  #24

                                  @Charby said:
                                  Ok, I will wait a couple of days to see if we could get a playground project to collaborate, otherwise I will create a github (next week) with my project at its current state. I came back a shortwhile looking to Apigee and I think it could be the best candidate I have seen so far, I will keep Firebase in my project but will definetely add an Apigee wrapper in addition.

                                  G 1 Reply Last reply 14 Feb 2016, 21:06
                                  1
                                  • C Charby
                                    14 Feb 2016, 20:50

                                    @Charby said:
                                    Ok, I will wait a couple of days to see if we could get a playground project to collaborate, otherwise I will create a github (next week) with my project at its current state. I came back a shortwhile looking to Apigee and I think it could be the best candidate I have seen so far, I will keep Firebase in my project but will definetely add an Apigee wrapper in addition.

                                    G Offline
                                    G Offline
                                    gadlim
                                    wrote on 14 Feb 2016, 21:06 last edited by
                                    #25

                                    @Charby said:

                                    I came back a shortwhile looking to Apigee and I think it could be the best candidate I have seen so far

                                    I've also looked at Apigee a while back and found the pricing plans a bit steep (starting at 300$/month without a datastore). Maybe I misunderstood that page ?

                                    C 1 Reply Last reply 14 Feb 2016, 23:09
                                    0
                                    • G gadlim
                                      14 Feb 2016, 21:06

                                      @Charby said:

                                      I came back a shortwhile looking to Apigee and I think it could be the best candidate I have seen so far

                                      I've also looked at Apigee a while back and found the pricing plans a bit steep (starting at 300$/month without a datastore). Maybe I misunderstood that page ?

                                      C Offline
                                      C Offline
                                      Charby
                                      wrote on 14 Feb 2016, 23:09 last edited by
                                      #26

                                      @gadlim You are right (sic) - Actually I missed that pricing page as I jumped directly to the console after having signed a trial free account. Apigee seems to match perfectly what I was looking for (100% RESTfull, push notifications, social login, already builtin collections for assets-users-group, console is complete and powerfull and documentation is comprehensive...). It is a very unclear what are the pricing plan for BaaS...but if it is really 300$/mo (or more) it will be a no go for me...

                                      additional candidates :

                                      • backend (https://www.backand.com/)
                                      • app42 (http://api.shephertz.com/)
                                      • backendless (https://backendless.com/)
                                      1 Reply Last reply
                                      1
                                      • G Offline
                                        G Offline
                                        gadlim
                                        wrote on 15 Feb 2016, 09:16 last edited by gadlim
                                        #27

                                        There's also Stamplay (https://stamplay.com/) that has some nice features, and others. The problem with these kind of vendors (Backendless, Stamplay, Backand, Firebase,...) is the lock-in. Like @xargs1, I'm wary of the future of the service, so I'm gravitating towards less black-boxy solutions, at least for the core DB services. For additional services like push, there's tons of options that can be plugged (and changed) separately if needed.
                                        A tie-in to a particular technology (CouchDB or MongoDB for instance) is not ideal either, but it's a big plus if it's an OSS project IMO.

                                        C 1 Reply Last reply 16 Feb 2016, 16:10
                                        0
                                        • G gadlim
                                          15 Feb 2016, 09:16

                                          There's also Stamplay (https://stamplay.com/) that has some nice features, and others. The problem with these kind of vendors (Backendless, Stamplay, Backand, Firebase,...) is the lock-in. Like @xargs1, I'm wary of the future of the service, so I'm gravitating towards less black-boxy solutions, at least for the core DB services. For additional services like push, there's tons of options that can be plugged (and changed) separately if needed.
                                          A tie-in to a particular technology (CouchDB or MongoDB for instance) is not ideal either, but it's a big plus if it's an OSS project IMO.

                                          C Offline
                                          C Offline
                                          Charby
                                          wrote on 16 Feb 2016, 16:10 last edited by
                                          #28

                                          @gadlim I think the lock-in could be acceptable as long as we would use the backend services using a commun Qt API that would have a backup and reload function, don't you think ?
                                          Regarding the push services, what would you advise as possible candidate ?
                                          I have contacted Apigee to have a better understanding of their licence agreement, to summarize :

                                          • the free trial period is supposed to be limited to 30 days but they usually don't stop the trial period after 30 days
                                          • they do not propose a package containing only BaaS, so to get BaaS you need the enterprise-class Edge account which licence fee is around 200k$ yearly (!!!)...

                                          FYI here is the transcript of the chat conversation :

                                          guillaume: at 16:23:33
                                          Hi, I am an independant mobile application developper looking for a backend solution in
                                          replacement of engin.io cloud services (I am using Qt framework). I am evaluating apigee BaaS
                                          which I find great but I am confused with the pricing...
                                          guillaume: at 16:24:45
                                          In the pricing table, the BaaS is checked only for the trial column. what happens after the 30 days
                                          trial period ?
                                          Dylan: at 16:24:51
                                          Well BaaS is only available with our enterprise solution
                                          Dylan: at 16:25:11
                                          You can download the free trial and use as you please
                                          Dylan: at 16:25:33
                                          We are usually not to strict on ending people's trials at the 30 day mark
                                          guillaume: at 16:27:26
                                          Does that mean that I can continue using BaaS for unlimited period as long as I use the API within
                                          the maximal API calls ?
                                          Dylan: at 16:28:35
                                          I wouldn't say unlimited but you can continue to use it and if you have any issues please reach out
                                          to us
                                          guillaume: at 16:29:44
                                          What would be the price for using BaaS only ?
                                          Dylan: at 16:30:38
                                          You have to have our enterprise Edge version to use Apigee BaaS
                                          guillaume: at 16:31:51
                                          I haven't found the price of edge version, and I think that this package contains much more than
                                          my current needs.
                                          Dylan: at 16:32:02
                                          We have Start Up and SMB Edge versions as well but they do not come with BaaS
                                          Dylan: at 16:33:27
                                          Enterprise Edge starts at 200K a year is that within your budget? If not, you are not going to be
                                          able to use a paid version of Apigee BaaS.
                                          guillaume: at 16:35:20
                                          It is definitely not within my budget unfortunately...do you plan to propose a package for indie
                                          (with BaaS only) that I could propose to my customer in addition with the mobile development ?
                                          guillaume: at 16:37:19
                                          My typical use case would be to develop a mobile application using apigee for a customer and to
                                          sell the product. The customer would have to pay for Apigee services fee (+variable cost
                                          depending of API usage)
                                          guillaume: at 16:37:55
                                          Is this kind of package offering already in your roadmap ?
                                          Dylan: at 16:40:19
                                          16/2/2016 about:blank
                                          about:blank 2/2
                                          Would you like to go to one of our Expert Sessions to learn more about our platform and see if we
                                          could be a fit for your customers?
                                          guillaume: at 16:42:27
                                          If I have to invest time on Apigee I would need to ensure the business model is relevant for my
                                          customers...
                                          Dylan: at 16:44:34
                                          Well if you need Apigee BaaS and you don't have a six figure budget then this platform is most
                                          likely not going to suit your needs. If Apigee BaaS is a nice to have and you are interested in our
                                          SMB or Start Up API Management solutions then I suggest attending a session.
                                          guillaume: at 16:44:52
                                          Depending of the project, I sell the development of mobile application several thousand of euros
                                          (one shot). These application usually needs datastore, authentification and push notification. I
                                          think most of my customers could afford to pay a couple of hundred dollars of reccurent fee for
                                          the backend services
                                          Dylan: at 16:45:56
                                          Okay, we do have authentification and push notifications.
                                          Dylan: at 16:46:26
                                          http://apigee.com/about/products/api-management
                                          guillaume: at 16:49:57
                                          will that mean that my in my typical use case, let's say a company order a small application using
                                          datastore, push notification, and authentification...It would cost let's say 5k$ for my development
                                          but the customer would have to get a edge account (200k$ yearly) to continue using the app ?
                                          Dylan: at 16:50:29
                                          The Edge package that they need depends on their API call volume
                                          Dylan: at 16:50:47
                                          http://apigee.com/about/pricing/apigee-edge-pricing-features
                                          guillaume: at 16:51:53
                                          but they would need a Edge account (enterprise account) which you told me is around 200k$
                                          yearly
                                          Dylan: at 16:52:22
                                          No, they only need an enterprise level account if they want BaaS
                                          Dylan: at 16:52:42
                                          BaaS is not available on the SMB or Start Up level subscriptions
                                          Dylan: at 16:53:04
                                          Without BaaS they could definitely choose one of the cheaper versions
                                          guillaume: at 16:55:42
                                          My understanding is that you are currently not proposing a BaaS only package (much cheaper
                                          than edge) for mobile application...do you think this could be proposed in a near future ?
                                          Dylan: at 16:56:29
                                          I am not sure if we will offer that but yes we do not have a standalone BaaS offering at the
                                          moment
                                          guillaume: at 16:56:59
                                          ok thanks.
                                          Dylan: at 16:57:31
                                          Have a nice day
                                          
                                          G 1 Reply Last reply 16 Feb 2016, 17:07
                                          0

                                          18/55

                                          13 Feb 2016, 20:08

                                          • Login

                                          • Login or register to search.
                                          18 out of 55
                                          • First post
                                            18/55
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved