Part 3 Action "the GUI library"

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: Part 3 Action "the GUI library"

Post by marcov »

Munair wrote: I don't think it will go that fast.
Yup it is like mid 2000s when .NET was all the rage, and Microsoft would "migrate" to .NET only windows, and the days of native were counted. The .NET only OS (Singularity) was more of a research project, and afaik didn't even went to market for specialist purposes, let alone to the general public.

Fads come and go. Yes, the world is more scripting centric than it was 10 years ago, (.NET hasn't gone away either) but the market will saturate after a while, and some people will migrate to the next darling tech, or revert to something older for practical purposes.

Keep in mind that much of the noise is only from people experimenting, NOT shipping with it.
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: Part 3 Action "the GUI library"

Post by marcov »

Munair wrote: there may come a time when devices/desktops trying to access internet independently, i.e. with local software other than a required minimalistic OS, will no longer be allowed.
[..]
I believe this was the philosophy with .NET from the beginning. At this point we might reconsider the development of advanced programming tools. Anyone?
Yes and no, .NET was more single sign-on (Hailstorm) IOW Microsoft as the custodian of all your credentials. There was some software-as-a-service blabla, but that was not always remote, usually a combination of locale and remote server (now we would say cloud) computing.

SAAS works best for high value products. For heavy users (like Adobe suite, but e.g. also Delphi) is instead of big upgrade fee every so many years, is a "fixed" yearly price, easy on the accountants.

For occasional but high value products (e.g. systems that exploit some dataset, geo info like zip codes, debtors etc) the carot is low maintenance, and the product mostly only having value if it is fully up to date.

In my previous job we used a database of car models that way. (all car models in the world, including country specific versions and default and extra options)

Of course Google would like you to work entirely that way (because they then can shove more commercials down your throat, and collect more data to increase the maximal price for them), but I think that that already has peaked. I expect the levels of control of Facebook and google to wane in the coming year. Resistance is always slow in building, but in the end inevitable.
oyster
Posts: 274
Joined: Oct 11, 2005 10:46

Re: Part 3 Action "the GUI library"

Post by oyster »

yes I know this is an old post

1. I always dislike the way to write GUI in pure windows API way since we have to write 2 vars of hWnd in the callback function, for example

```basic
Sub Form1_Picture1_WM_LButtonUp(hWndForm As hWnd, hWndControl As hWnd, MouseFlags As Long, xPos As Long, yPos As Long)
```

2. I prefer the way that we do not state the parent control during adding a new control, for example, what we meet in `IUP`
```
var label = IupLabel("Hello world from IUP.")
var dlg = IupDialog(IupVbox(label, NULL))
```
as a result, we can re-arrange the GUI easily if we have to move some controls to new places before we finish our project

3. if there is no visual designer, it is horrible to place the controls via pixel position. So if we can arrange the controls via `grid` or `box` method, it will be great. We can find it in `IUP` or `wxWidgets`
```basic
var dlg = IupDialog(IupVbox(label, NULL)) ' I mean IupVBox here
```
And I found in jupyter notebook( https://jupyter.org ), we can use VBox/HBox to place drawing elements and interactive sliders

4. the `visual format language` in https://khchen.github.io/wNim/autolayout.html is so cool. I don't whether we can do following in `IUP` easily
- set button1.width = button2.width*0.5
- set margin for control
- set button in the middle of an H/VBox
...

5. cross-platform
I only use windows, but it is a bonus if a GUI library can run on a different platform

Conclusion, to my knowledge:
1. items 1, 2, 3 and 5 lead to only one answer: `IUP`, and `IM`, `CD` and so on. But it seems that the included iup/im/cd inc files are some old.
2. I only know https://khchen.github.io/wNim supplies `visual format language` for PC application development, and it only supports Windows.
Post Reply