[Linux-aus] GUI programming
Skeoch, Ron
rbs at muli.com.au
Mon May 22 11:22:23 AEST 2023
Hi
we have developed a extensive linux GUi platform
HTTPS://MULI.BIZ/ABOUT-MULI/LINUX-GDK-DEVELOPMENT-PLATFORM-MBBAG/
The magic is Gnome Broadwayd a browser output in html5
Regards
---
Ronald Skeoch, MD. _Muli Management P/L_
_+61 02 94873241_ _https://www.muli.biz [1]_
On 22-05-2023 09:29, Colin Fee via linux-aus wrote:
> I can concur with Adam's advice. In my previous role I managed a small
> team of Devs that produced software in support of medical research. To
> ensure the widest usability across devices and OSs, they wrote hybrid
> apps i.e. progressive web apps, in one flavour of Javascript or another
> (React, Angular etc). When run on a mobile device you couldn't tell if
> it was a web app.
>
> On Mon, 22 May 2023 at 00:29, Adam Nielsen via linux-aus
> <linux-aus at lists.linux.org.au> wrote:
>
>>> What's the easiest way of doing GUI programming on Linux? When I
>>> Google this
>>> I get lots of results about Python programming, Python isn't a
>>> language I like
>>> or want to learn but I wouldn't rule out using it for simple things
>>> if it is
>>> much easier than other options. I would prefer C/C++.
>>
>> For C/C++ you have to pick a toolkit like Qt, GTK, wxWidgets, etc.
>> All
>> of them have their positives and negatives, and all of them require
>> this toolkit to be installed on the system you want to run the program
>> on. If you want to run your final program on a phone, make sure you
>> can install the toolkit on it before deciding on which one to use.
>>
>>> What I would ideally like is a system like IBM's VisualAge for C++ on
>>> Linux.
>>> When using VisualAge C++ on OS/2 I could write a program that had all
>>> the
>>> basic controls and basic operations on them (EG enter text into an
>>> entry field
>>> and click a button to have it added to a listbox) without writing any
>>> code.
>>
>> Most of these toolkits now have designers available that let you drag
>> and drop to develop the UI. Some are better than others, I suspect
>> because doing GUIs in traditional languages like C++ is very tedious
>> so
>> most developers would rather be doing something else.
>>
>>> For writing a GUI front-end to a server I could design all the
>>> screens
>>> graphically and then just write C code to copy data between entry
>>> fields and
>>> API calls. But I have the impression that no such thing exists for
>>> Linux.
>>
>> If you are talking about API calls then HTML and Javascript starts to
>> be
>> a viable option, especially based on your next point.
>>
>>> What I want to do is move many of the things I do on my laptop to a
>>> phone and
>>> that requires less use of the command-line. So shell scripts need to
>>> be
>>> replaced with GUI operations and ssh to run commands on a server
>>> needs to be
>>> replaced by API use or parsing ssh output for GUI display.
>>
>> If you're going to run on a phone then it probably has a web browser,
>> so making a web page in Javascript is likely going to give you the
>> least painful result.
>>
>> A web app means you can run on pretty much any mobile device, tablet,
>> computer, etc. If you use C++ and a toolkit, it will be difficult to
>> run on iOS or Android devices as these have different toolkits to a
>> normal Linux PC - you have to actually write an iOS or Android app,
>> using whatever lanuages and toolkits the vendor supports.
>>
>> However if you go the web route, you can write a "progressive web app"
>> which is basically static HTML and some Javascript, which thanks to a
>> few extra config files, gets run on your phone as if it's an app you
>> installed through the app store. This means you get an icon on the
>> phone's home screen to launch the app, it runs full screen like a
>> native app, and with some additional code it can even run offline.
>>
>> Then you just need to handle the backend (actioning API requests
>> coming
>> from the GUI elements on the web page) which you could do in C++ if
>> you
>> wanted, but most people stick with Javascript so the language is the
>> same in both halves of the system. On a normal Linux machine you'd
>> use
>> NodeJS to run the server code. You may be able to run this on a
>> phone,
>> or it may be more practical to run it on another machine on your
>> network.
>>
>> I spent many years writing GUI code with C++ (on Windows and Linux)
>> and
>> experimented with Python a bit, but once I realised how much quicker
>> GUIs are to develop as web sites, I never went back.
>>
>> There is a lot to learn if you've never done it before, especially to
>> make a really polished dynamic app using React or similar, but one
>> good
>> thing about this is that it doesn't take too much to get basic code up
>> and running and you can expand from there. There are also many orders
>> of magnitude more people working on web sites than C++ GUIs, so
>> there's
>> a lot more information out there and people who can help if you get
>> stuck.
>>
>> Cheers,
>> Adam.
>> _______________________________________________
>> linux-aus mailing list
>> linux-aus at lists.linux.org.au
>> http://lists.linux.org.au/mailman/listinfo/linux-aus
>>
>> To unsubscribe from this list, send a blank email to
>> linux-aus-unsubscribe at lists.linux.org.au
>
> --
> Colin Fee
> tfeccles at gmail.com
> _______________________________________________
> linux-aus mailing list
> linux-aus at lists.linux.org.au
> http://lists.linux.org.au/mailman/listinfo/linux-aus
>
> To unsubscribe from this list, send a blank email to
> linux-aus-unsubscribe at lists.linux.org.au
Links:
------
[1] http://www.muli.com.au
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.org.au/pipermail/linux-aus/attachments/20230522/db1fc7c6/attachment-0001.html>
More information about the linux-aus
mailing list