|Open Source for Mobile Devices and Web Development
||[Feb. 16th, 2017|04:43 pm]
There are some great Open Source applications out there for desktops and laptop machines, but it's much harder to find Open Source for mobile devices. Most mobile devices require their users to go through a proprietary app store just to get software onto their devices. This is a setup back for the Open Source movement since more and more people are turning to mobile devices as their primary computing source.
If you have suggestions and/or recommendations for FLOSS alternatives in the mobile space, please share them with me and other Free, Libre and Open Source advocates on the Schoolforge mailing list ( https://schoolforge.net/ ).
I'll share some Open Source options I've found to date for developing mobile and cloud based applications.
Cross-platform Mobile App Development
Here are a couple of very interesting projects that let developers create cross-platform mobile applications:
C/C++ Mobile Development
If you want to port your own C/C++ programs or interesting Open Source C/C++ applications to mobile devices such as Android, these projects may be useful.
Information on using libSDL 2.x with Android.
Port of Nano-X/MicroWindows to Android. Nano-X/MicroWindows supports a subset of simple X11 and Windows applications. Many FLTK applications port easily when run with Nano-X.
Article on building and running Allegro based applications on Android.
C/C++ CGI Development
As a C/C++ programmer, I was surprised by how few CGI applications were built with these languages. Originally, I read that the reasoning behind this was that one would have to spawn a new process every time one wanted to run a C/C++ CGI program. Interpreted languages could be built into the web server and avoid spawning new processes. However, with the introduction of libraries such as FastCGI, the inefficiencies of running compiled programs as CGI applications is no longer an issue. From everything I've read, C/C++ CGI programs are much faster than other CGI programs if they avoid the process spawning issue. If you want a highly efficient CGI program, it's a good time to revisit using C/C++ with the proper libraries.
Here's some more information on FastCGI.
If anyone's interested, I have builds of FastCGI and Apache with fcgid support for Windows/MinGW (including patches to get them working on later versions of Windows).
Wt is one of the few projects I've seen that tries to provide useful CGI functionality and routines for C/C++ programmers.
C/C++ on the Web
One option is TeaJS which uses FastCGI and works with a variety of web servers including Apache and Nginx.
There are also some interesting TinyJS implementations and forks at various code archives such as github. You'll find more details under my Scripting Languages post ( http://lmemsm.livejournal.com/12416.html ).