Page 1 of 1

FLUTTER intends to make screens and their apps simple

Posted: Sun Apr 16, 2023 3:43 pm
by Clarity

Couple days ago, I raise a post on GTK awareness.

After reviewing the comments from @wiak , @dimkr, @geo_c, @mistfire and others on that thread, got me to thinking about FLUTTER and whether this has positive benefit in current and future migrations for PUP distros and the amount of work developers have to put in when certain movements, like GTK2 --> GTK3 --> GTK4 --> etc.

I am not sure how many are aware of this advancement that has been increasingly active for several years: FLUTTER. Mainstream distro are incorporating the subsystem-applications.

I am trying to frame this in understanding whether it will improve the ability of screened apps to

  • scale from system to system

  • adapt for touch as well as non-touch screen apps

  • provide a universal approach for developers where their apps could be used across linux distro differences

From a naive perspective, similar concerns 'may' surface as FLUTTER, like other display subsystems, will impose the same considerations as we see in GTK upgrade needs. But maybe, too, with less impacts.

???


Re: FLUTTER intends to make screens and their apps simple

Posted: Sun Apr 16, 2023 3:52 pm
by dimkr

Why is this under Announcements? What are you announcing here? Are you a bot?


Re: FLUTTER intends to make screens and their apps simple

Posted: Sun Apr 16, 2023 5:07 pm
by fredx181

Sure that @Clarity is not a bot, but I agree that his post is very off-topic IMO, don't think this "FLUTTER' thing would be suitable in any way to use on Puppy (but correct me if I'm wrong).


Re: FLUTTER intends to make screens and their apps simple

Posted: Tue Apr 18, 2023 1:44 pm
by wiak

Well I took a look. And followed through the first half of this first Flutter app tutorial to see what it was all about: https://codelabs.developers.google.com/ ... ab-first#0

Seems to me it could be run on Puppy. Maybe via a big addon sfs. Basically it seems it is just a big programming environment so really this thread should be under Programming (albeit assuming anyone provided Flutter installation for Puppy).

I understood the video provided in the above tutorial as far as I could be bothered following it. Basically very object oriented with widgets within widgets and so on. And when you first start creating a new app you have to say what target you want the app to work for, be that Linux, Windows, Desktop, Mac or Web (internet browser) or whatever else it is designed to work for... I guess the Flutter code changes the internal code (not seen by the user/coder) accordingly for whatever target you are building for. But the app code itself can later be easily 'ported' to a different target whilst keeping that same top level code. So, just another app builder. What I don't know is how bulky the resultant apps are and how slow (i.e. how powerful a machine will be sufficient to run them). I bet you the apps will be big!, but I haven't thus far checked any actual example program. I presume they end up compiled - I didn't get that far.

I'm no programmer in that sense per se - object oriented, very abstracted code, that has big framework hiding behind the user coded bits and pieces (widgets and so on and imported Flutter/Dart libs). Being no programmer it bored me to death - but that doesn't mean it will not be useful, maybe even important for young new developers who can be bothered writing apps with such frameworks... How simple it ends up being - your guess is as good as mine, but I suppose pretty simple in the sense that the technical underneath grunt work is all done and provided as part of the framework so the learning process is more to do with learning the Flutter create app technique involving widgets within widgets within widgets. Once app working on any platform (say Linux desktop) easy matter to then re-compile (or whatever) to work on different target (say Android phone). A button can be added and it can be given a simple label widget or instead a whole program can be the widget inside the button widget. I'm yawning now, but maybe someone interested in becoming Flutter expert. But sure, I expect Flutter 'could' be installed on Puppy and apps written with it there - though don't know how heavy and fast or slow such apps will be.

Does it abstract away the problem/issue of whether you are using GTK2,3,4 or whatever? I rather doubt it really - I expect it will be using latest and greatest - though probably there will be a Linux version of Flutter for underlying GTK3 or GTK4, but you'd have to install the correct one anyway, but the written Flutter app will work on either once 're-compiled' or however it is all put together in the end. Main point of it seems to me is not accounting for older technologies (like GTK2 or 3 versus GTK4 and so on), but rather a mechanism to write an app, say using Windows platform as the target, that can later be easily made to work on Linux or Mac or Android, but only if you have the appropriate specified version of GTK or whatever installed - so doesn't address any of the issues Puppy devs face in terms of GTK changes as far as I understand it.


Re: FLUTTER intends to make screens and their apps simple

Posted: Thu Apr 20, 2023 12:34 am
by Clarity

You are on the right path and it seems the reason why some are giving it consideration outside of Puppyland but within the Linux & OS world.

From a non-programmer perspective, it may offer for Linux +others what .NET offer MS users: ability to easily create common screen GUIs that will run on any monitor's screen with no retooling.

Multiple benefits to anyone creating GUIs for users. To name a couple from my point of view:

  • Development only needs to concentrate on what/how the info to the user should be presented and not have to worry about GUI tool nuances: aka GTK/QT/.NET or some other wild mechanism to create screen GUI.

  • Development does not have to need to consider where their app will run

Merely an IDE that intends to reduce development effort and the testing that development traditionally do. It keeps the app in front of development throughout the app build process to completion.

Not sure if this will take-off, but, Debian and others are looking at a benefit.

Thus it may allow PUPPYLAND forum apps to run in many/every OS and hardware environments.


Re: FLUTTER intends to make screens and their apps simple

Posted: Thu Apr 20, 2023 3:01 am
by wiak

Flutter is basically a UI SDK written in Dart Programming Language (by Google). You can actually write GUI apps in Dart alone, so I guess Flutter just adds an easier to use abstracted framework of some sort around underlying Dart.

I've read that you should learn Dart first, but easy to basically learn prior to using Flutter if you wish.

I don't know. But anyway, I found a good like, which unrealistically (I feel) claims to teach Dart in 17 minutes... it includes starting to use Flutter, so reading this may inform you better what Dart and Flutter are all about, their advantages and their limitations. Dart is apparently somewhat similar to code in as Javascript, and similar also to Java - so if you know a bit C you will feel relatively comfortable with the look and feel of Dart except it is object oriented. Apparently the design of Dart purposively makes it easy to compile Dart app into Javascript for web use, but that's just something I read along the way: https://levelup.gitconnected.com/learn- ... e9e45#f5ed