to read

Mobile Platform Development

Cross-platform Path handling and driver letter

Tool Idea

Research on Code Sync and Version Control

Research on Writing Tools

2017.02 - a bit catch up and organize

free cross platform combo bundled IDE (optional to use) language GUI framework/library runtime library
c++, Qt (win,mac,lin,mobile) QtCreator c++ Qt5 (GPL & LGPLv3 )
c#, GTK#, GTK+ (win,mac,lin) MonoDevelop C# GTK+ (LGPLv2.1) by GTK# (LGPL) Mono(MIT) or .Net(MIT)
C#, Xamarin Platform (win, mac, mobile) Xamarin Studio C# Xamarin.Forms (community license) Mono(MIT)
ActionScript, Javascript (win, mac, mobile) Adobe Air SDK (free commercial) ActionScript
Adobe Flash Adobe Air (Freeware)
ActionScript (win,mac,linux, web, mobile) 3rd party: FlashDevelop (MIT) ActionScript Adobe Flash Adobe Flash Player (Freeware)
Java (win,mac,linux,web) JDK (freeware) Java Java Virtual Machine (freeware)
javascript, html5 and css (win,mac,lin,mobile) no javascript HTML5, CSS3 Cordova (Apache 2.0)
python, PySide/PyQt, Qt (win,mac,lin) no python Qt4,5 (GPL & LGPLv3 ) PySide1-2 with Qt (LGPL) or PyQt4,5 with Qt (GPLv3)
php, javascript, html5, css (web) no php HTML5, CSS3 server side: web server with PHP and Zend Framework (new BSD)
python, javascript, html5, css (web) no python HTML5, CSS3 server side: python2-3 and Django (BSD) or flask (BSD) or web2py(LGPLv3)
ruby, javascript, html5, css (web) no ruby HTML5, CSS3 server side: ruby and Ruby on Rails (MIT)

2017.01 - no 3rd party GUI or framework

2016.09 - C# is the thing

  • since recently I started using visual studio 2015 (community edition), it seems the project supported (C# and .NET stuff, javascript cordova web app, xmarin mobile app, python web and desktop app, database stuff, unity game engine); seems there is nothing you can't do with visual studio
    • also, with C#, you can do cross-platform desktop app, mobile app, database app, game app, even web app with ASP.NET, while python, java, javascript can do about same amount thing but the ready-availabel-exisiting-support in each area vary quite much
  • also, the MonoDevelop IDE (aka Xamarin Studio on win,mac is cross-platform IDE version of visual studio's C#+.NET (which use Mono, aka .NET open source version) to create cross-platform C# based .NET desktop app.
  • seems the most license free and small portable app creation choice is C# + Mono (.NET) combo, (with GTK as GUI library, optional with GUI library like wxWidget) (100kb for a simple app)
    • compare to Python + Qt (binding with PySide or PyQt4/5) + cx_Freeze (22MB for a simple app)
  • however, the Python+Qt+PySide+cx_Freeze method doesn't require user to install anything, even no need python library, because each app comes with a copy of required library
    • while c#+Mono+GTK method does require end-user to install .NET or Mono ( on their computer, however, for most windows user, .NET is pre-installed, only those Mac and Linux user need to install Mono once for all, like Java
  • Java+SWING method is like giving you choice of both, there are quite some Java cross-platform app provide you the App-only option or App+JRE(java runtime environment) option. of course, if you like to write app in Java
  • of course, javascript+HTML5+CSS is like new options, if you write fast in javascript

2016.08 - my shortlist choice of a GUI toolkit

to watch:

The most importance decision factor is support: “How much examples and Q&A you can find in google search.”

  • It is always good to know someone before you had the same problem and how they solve it. since making tool is a process of creating problems and solving them.

The second most importance decision factor is documentation: “You always have a reference to stick to when in doubt, like a law or something fixed”

  • when I code Mel or Python in Maya software, the autodesk document is my main key to stick to, they have simple clear function details and example code, unlike python offical doc, I can hardly find the exact answer I needed in their single long page with mixed section and codes, stackoverflow is better than python doc most time.


  • as I use PyQt method to write tools, I find
    1. most task I do, is data process, file process, database update.
    2. most task is not heavily require advanced UI, most maybe drag and drop support
    3. cross-platform is ok, but it is a huge distribute application file with 30MB for a simple task
    4. since, most my app is focus on getting simple task faster, a fat app for a simple task is to my taste
  • as I read more, if I need network communication method, it will require library, then I require compiles for platforms
  • currently, the most hit way of communication is Social Media, web-based apps, since task is mostly simple, and simple data is pushing around with database and http protocol.
  • then I realize, maybe I should try Web-based Desktop app development, a better and supported javascript, hopefully as good and fast as python

To read

  • c++ is fast, but it need compile and run a big round for each revision, python is as fast in revision and updates
  • note on my previous experience on javascript html single page text process tool, I think js depends on how good it deal with list data

201606 Mobile cross-platform

  • keyword: Xamarin, telerik, sencha, phonegap, appcelerator titanium, MvvmCross, html5