I am interested in developing web apps using the following technologies on the cloud:
1) C++
2) A GUI tool that can be called from C++ (such as wxWidgets)
I have checked out GCP (Google Cloud Platform) and AWS for these 2 technologies.
In general, I have found that these 2 PaaS sites support the following technologies for developing web apps:Java, .NET, PHP, node.js, Python, Ruby, Go.
Therefore I'd like to ask if either of these PaaS sites supports C++ development including GUI apps built using C++?
I haven't used AWS myself but I can provide some insight on GCP.
In short, C++ is not supported on the native runtime environments provided on App Engine (which is the PaaS solution of GCP). You can see this answer for more details on this.
However, there are some workarounds available you could try to see if those fit your needs. Firstly you could make use of the App Engine Flex custom runtime environments where you will be able to run in an environment defined by a Dockerfile which will allow you to use your own runtime environment. You can refer to this quickstart guide which goes over the steps required to use custom runtimes. Make sure that your C++ app that will reside inside the docker container works as a service that is up and running continuously serving incoming traffic through HTTP otherwise you might end up stumbling with the same problem described in this Github issue.
Alternatively, I found this article that goes over the steps to implement an architectural pattern for invoking legacy code on App Engine.
Related
I am evaluating Symfony 5.0.1 with Google Cloud Application Flexible Engine.
I couldn't use Memcache service provided in App Engine because I don't know which "memcached_host" should be used.
Memcache in Application Engine
I tried using "session_memcached_host:localhost" in services.yaml but it doesn't work
Same Project of Symfony is tested locally and it works well with local Memcache server (in my local setup).
Here is an example of a PHP app using memcache on Google App Engine Standard.
Here specifically you can see how you should configure memcache to work on App Engine
I have tried the example above myself and it's working as expected.
NOTE: You have mentioned App Engine Flex but provided examples and docs on
Standard.
Memcache is currently generally available for App Engine Standard.
Please keep in mind that there are huge differences between App Engine Flex and Standard.
I am not App Engine expert but looking at the example below it appears you can directly call it from your code. Everything is preconfigured and you can just call it directly from your code. See the link below for further information:
https://medium.com/google-cloud/appengine-memcache-service-google-cloud-platform-8214ee9eada1
I've experience in building native android applications. But I'm completely new to hybrid application development and Would like to use Framework7.
I'm starting to use it. I don't know how to build the project and get an install-able file (or for distribution in playstore).
Any help is appreciated.
Cordova is a good way to start.
When I used to develop Hybrid apps, Cordova was the way to generate APKs.
I really enjoyed it, since it has a lot of Plugins, like FireBase Cloud Messaging Plugin to receive notifications within your hybrid App. It's more than a simple WebView App.
Apache Cordova is an open-source mobile development framework. It allows you to use standard web technologies - HTML5, CSS3, and JavaScript for cross-platform development. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's capabilities such as sensors, data, network status, etc.
Use Apache Cordova if you are:
a mobile developer and want to extend an application across more than
one platform, without having to re-implement it with each platform's
language and tool set.
a web developer and want to deploy a web app that's packaged for
distribution in various app store portals.
a mobile developer interested in mixing native application components
with a WebView (special browser window) that can access device-level
APIs, or if you want to develop a plugin interface between native and
WebView components.
Here are all the steps needed to start with Cordova https://cordova.apache.org/docs/en/latest/guide/cli/index.html
Also, I used to follow these steps to generate a signed APK so it's possible to launch it on Google Play.
How do I put my cordova application on the android play store?
I am trying to create a web application using python on the google cloud platform. I have followed Google's quick-start guide and completed it.
App currently just prints out text
However, I am struggling to figure out a way to create a gui. I am aware of the python modules tk and tkinter and I have tried to use those with no success. I also saw the warning in the Google Cloud Console about how installed modules only exist for the current instance of the app - but even when installing the module directly before deploying the app - it still throws an import error.
I did some research and followed this guide: https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27
Assuming I didn't miss any steps - would this guide solve my problem? Or is there a better way to create a GUI?
Any suggestions are encouraged. Thanks
App Engine is web oriented service. Read about it in the overview and the appropriate gui there would be a web based one.
If you want to have a remote server that will server graphical applications look closer at Google Cloud Compute Engine where you can have a VM instance, where you can install and run any application.
for one of my applications I'd like to provide a minimal web interface. This core application is written in C++ and uses Qt4 as a framework. Since I'm also using some libraries I wrote to calculate some things and do some complex data management, I'd like to use this existing code as a backend to the web interface.
Idea 1: Using an embedded web server
The first thing I tried (and which worked to some degree) was using an embedded web server (mongoose). As you can imagine, it is just a very thin library and you have to implement a lot of things yourself (like session management, cookies, etc.).
Idea 2: Using a normal web server and adding a fcgi/cgi/scgi backend to my application
The next thing that came to my head was using a mature but compact web server (for instance, lighttpd) and simple provide a fcgi/scgi/cgi backend to it. I could write the web application using a good framework, like Pylons, PHP, or RoR, (...) and simply have an URL prefix, like /a/... which allows me to directly talk to the backend.
I tried to implement the libfcgi into my application, but it looks messier than needed (for instance you'd have to implement your own TCP/IP sockets to pass on data between your app and the web server and tunnel it through the FCGI library, meh)
Idea 3: Creating a command line version of my application which does the most basic things and use a normal web server and framework to do the rest
This is the third idea that came to my head. It is basically about creating a web application using a traditional way (PHP, RoR, etc.) and using a command line version of my application to process data and return it when needed.
I've got some experience with creating web applications, but I never had to do something like this, so I'd like to hear some ideas or suggestions. I'd like to use JavaScript on the browsers (AJAX, that is) and pass some JSON constructs between web browser and server to make the user experience a bit smoother.
So what are your suggestions, ideas on this? I don't want to re-invent the wheel, honestly.
I would never expose a custom written application to the net as front-end, for that servers like apache or lighthttp are build. They give you some serious security out of the box.
As for interaction of your app with that webserver, it depends a bit on the load and what kind of experience you have with writing software in PHP, python or other languages supported by your web server (via interpreter of course).
A slight load, and a command line tool accessed from PHP might do perfectly well.
A more heavy load and you might wish to implement a simple (SOAP?) server with Qt and access that from a python (or php) script.
That way you don't need to do layout in you app, and you also don't need to implement security all that much.
I'm currently researching a similar situation (custom web app backend using Qt), and the least bad option is FastCGI. Found something you might be interested in. Not production ready without some serious testing, but this might be a good starting point for Qt - FastCGI interop: FastCGIQt
I've used the FastCGI Protocol Driver library for a similar project (also a Qt application), the download link is at the end of that page [Libfastcgi]. Integration with the application turned out actually comparatively easy. Lighttpd + mod_fastcgi was used as web server. Can't say anything about FastCGIQt, though.
You Wt works well to provide a web interface to Qt based applications. Both have a similar programming style, and there's an example that demonstrates the integration with Qt.
Here is example of embedded QML-server: https://github.com/ncp1402/ql-server
I am new in Blackberry. Can anyone help me out for following queries?
Which SDK is used in Blackberry?
In what language are Blackberry applications developed?
Can we call webservices through Blackberry applications?
Blackberry applications are written in Java. They support Java ME as well as some additional blackberry specific APIs. Check out http://na.blackberry.com/eng/developers/javaappdev/overview.jsp
As for calling a web service, yes you can do that as well. Check out the Rapid Application development tutorial at: http://na.blackberry.com/eng/developers/rapidappdev/
As heavyd said you can use the Rapid Application Development for accessing web services.
I've used the Visual Studio plugin before but this doesn't allow you as much access to the API as using the standard JDE plugin for Eclipse or the Blackberrys Java Development Environment (at least when I used it). It all depends on what you want to do, whether it's whip up a quick app or create a fully customised sweet looking application that'll take a little longer.
If you don't decide to go down the RAD route you can use a 3rd party library like KSOAP2, or, the way I do it, is use the Sun Wireless Toolkit (WTK) to create Stubs for you're web service methods which you can then call in your application. I've used this method for a .NET web service and it's pretty straightforward.