Does a Qt application work in Google Native Client? - c++

I'm not familiar with Qt or with Google Native Client. Is it possible for a TRIVIAL Qt console application to be ported to Google Native Client? I understand that some work would be involved. But the question is, how much if it's even possible?

A Qt developer has managed to get some Qt examples running under Native Client:
http://blog.qt.io/blog/2009/12/17/take-it-with-a-grain-of-salt/

Qt now has an official Native Client SDK:
http://qt-project.org/wiki/Qt_for_Google_Native_Client

Qt for Google Native Client Preview also updated here: http://qt-project.org/wiki/Qt_for_Google_Native_Client

Since you can't use system calls, you'd need to essentially port Qt to a new OS (ie, Native Client). This'll be a lot of work - good luck!

For those who are interested in using Qt with NaCl, I have made a Docker image containing Qt compiled with NaCl :
Link to Docker Image
You will just need to follow the instructions to get your application compiled.
There is also a video showing the process of compiling Qt with NaCl. At the end of this video, there is an example:
Link to video of Qt compiled with NaCl
Hope this help

Related

Qt with webRTC how to implement

I need to transfer live desktop screen data(like remote desktop) to a client application a browser, and user can view remote desktop in browser, I am thinking of implementing it with webRTC and Qt. the webRTC data channel I can use to transfer the desktop data. Only problem is how to interface it with QT. When I look in internet I have few methods.
Implement with native c++ webRTC and communicate with the browser. I searched lot to get a working c++ webRTC application but couldn't successfully run.
Implement with Qt webengine and java script. I read documentation about Qt webkit bridge, I hope I can pass data between Qt C++ part and Javascript part without much delay.
And I am not sure is there any good method exist. Please suggest me the right method.

Two way communication between Chrome extention and win32 c++ application

I need advice about the best way to make an application (written in c++/mfc) communicate with an extension in chrome (I am also studying edge chromium)
As far as I understand, the native application that the extension can communicate with by using native host messaging is launched by chrome. As my win32 application is launched by the user and not by chrome, I need the native application to be a third component, launched by chrome.
What is the best way to let my win32 application communicate with my native app ? Making it a COM server is a good idea ?
I have searched on the other posts but they often talk about the native app talking to another app, not the other way.
Thank you

Using box.net, dropbox, (OR ANY cloud storage) with a C++ application

How do you use cloud storage such as Dropbox in your C++ Apllication ? I've checked out their API and they only have Java, Python, and Ruby options. If you cant use dropbox with a c++ app, is therte any cloud storage provider that has an API for C++.
The drop box APIs seem to be wrappers for a http interface.
So if you want to hit them up from C++ you can use a http supporting library like libcurl to access stuff using the REST api
Droper is an open source C++/Qt Dropbox client that I have recently wrote. It can be compiled for Windows and Linux, but the GUI is optimized for Symbian mobile phones. Check it out.
I've found several differnet APIs on their website, righ under the place you propably found the ruby / pathon stuff..
http://sharpbox.codeplex.com/
http://github.com/dkarzon/DropNet
Not sure if this is, wha you were looking for..

Host a c++ desktop application on a webpage

I am having a desktop application which having a UI interface made in Qt linked with a library which is doing all the calculation stuff. Values from UI is taken and pass to the API's in the DLL to get the output which is shown on Screen.
Now i want to do the same thing by transferring my application UI to a web page so that people can access the tool from anywhere without any installation process.
I want to retain my c++ DLL code so i don't have to do a lot of work. I am thinking of just converting this DLL to a C++ server by any communication Process(Sockets). I want to host this application on my company's website. (We have to make the website also so we are open to any set of tools).
I want to know what will be the best set of tools to do this stuff. Also there will be lot of data exchange between the webpage and server so the wholething should be optimized also. I goggled a bit and find stuff like silverlight and ASP.NET, But i am still not very clear which option will be more suitable.
I am a c++ programmer with no web application development experience. I am open to learn any new technology.
Thanks
Why not use Qt on the web directly? There are several projects like this one: http://qtwui.sourceforge.net/
There is a netscape plugin that will host a QT application and an ActiveX control wrapper on the QT website. You could use one of those to wrap your application. Note that this approach would require the user (or their administrator) to download and install the plugin.
An alternative approach might be to run your application through a remote desktop such as XVNC, NX or an RDP based layer. IIRC browser based remote desktop clients are available for most such protocols.
A few options:
pick a messaging/queue implementation (like http://www.zeromq.org/) and provide a service
implement a Windows Web Service if you want to be more enterprise friendly: http://msdn.microsoft.com/en-us/magazine/ee335693.aspx
I would not expose the implementation on the internet. Enough to have a simple buffer overflow and the machine can be taken over quickly. Adding a layer between the app and the web provides an easy way to validate input, access, stats ...
You should be able to use your DLL from an wt or cppcms application. Then you do not have to learn something new and can just use C++.
The way I'm currently doing this is with Boost.Python + django

Web interface for c++ applications

Our company has a set of 3d modeling softwares written in c++ with qt based gui. We are planning to offer these applications to customers to try them from a web browser. I mean to say, we need to create web interfaces for native c++ codes. Please suggest me which technology, languages should be used. If possible please give some links to some white papers or case studies for this kind of projects. I am totally clue less :)
Ideally you would keep your c++ code on the server and use a mixture of HTML and Javascript on the browser. However since 3d modeling is so client centric you may have to run some c++ code directly in the browser.
There are a few options to look at:
Emscripten
Adobe Alchemy
Google Native Client
A Java Applet using NestedVM
Netscape plugin API
ActiveX
You could also run a few instances of your application on your server inside an XVnc session and let people use it through a VNC viewer applet. The simplest solution however is still to offer a downloadable demo of your application.
Have a look at Wt
Take a look at Native Client.
Soon you might be use WebGL to do 3D in the browser. But how long it will take for browsers to include it I do not know. But it might be good to look at it to not rule out using it in the future.
If creating everything again is too expensive, always you can create a distributed application:
One program running the main application in C++ and generating (for example) XML files.
A web application reading the XML files generated by the C++ application and translating them into the web application language (for example Adobe Flex).
Good luck!