Qt World Summit: Register Today!

Passing values between apps and webserver

  • Hi,
    I'm really new in Qt and web server programming.
    How do I really to pass value from my app to cloud service and from cloud service back to client app?
    Do I have to upload my app to the cloud or create a new script say java script in the server to receive and pass values? XMLHTTPRequest? JSON? Is there any example? I've been searching the net high and low but all I found is bit and pieces. I just couldn't get a whole big picture out of it. I can't get the connections between the examples I found:(
    I'm currently using google cloud and created a sql database in it. If I'm required to create an app in the google cloud, what app engine or service do I use?
    I'm using sqlite in my app.

  • Hi Phils,

    You are mixing up some things here. Your app is split in two parts:

    • server part (not written in qt, might be provided by a third party or written by you in a server language such as PHP)
    • client app (qt)

    Thus, you won't necessarily need to upload your app to the cloud. However, you might need a webserver if you intend to host your app on your own.

    There are different ways to implement a web service and choosing the correct one depends on your needs. If you only want to store some simple key - value pairs on a server, a mobile backend as a service, such as the WebStorage offered by V-Play could be a solution for you.

    If you need very complex tasks, you might want to implement an API on your own. You might want to have a look at this tutorial.

    No matter what kind of API your application will use, you will most likely talk to it using JSON or XML using XMLHttpRequest.. You can find a small code snippet that shows you how to read and parse JSON from a server using XMLHttpRequest here.

    You can use this snippet to play around with the fake-APIs provided here.

    A very complete example where an API is used is the Qt World Summit 2017 app. Instead of the asset-url used here, also a http:// url could be used.

    Let me know what you would like to do and I can try to give you more guidance.


Log in to reply