LC vs Flutter

Want to talk about something that isn't covered by another category?

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9802
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: LC vs Flutter

Post by FourthWorld » Thu Sep 23, 2021 7:16 am

There's a request for ternary operators in the LC bug DB. Some have written functions for it in LC Script.

If you like it it's handy. If not you can write tons of JS without ever using one.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

Simon Knight
Posts: 845
Joined: Wed Nov 04, 2009 11:41 am
Location: Gunthorpe, North Lincs, UK

Re: LC vs Flutter

Post by Simon Knight » Thu Sep 23, 2021 7:23 am

Had to be done :

Code: Select all

on mouseEnter
   set the backgroundColor of me to "blue"
   set the foregroundColor of me to "red"
   set the textdirection of me to "ltr"  -- the default
   put random(2) into tChooser
   if tChooser is 1 then
      put "Hello World" into me
   else
      put "Goodbye Cruel World" into me
   end if
end mouseEnter
To be fair I have read that Flutter/Dart uses its own UI widgets which means it is faster which is an advantage in certain circumstances.
best wishes
Skids

stam
Posts: 2634
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Thu Sep 23, 2021 8:42 pm

Not an entirely fair assessment of flutter ;)

Ternary operator would be good to have in LC as well - it's fairly common.

You can write the same code in about half the length in LC - but that code in Fluter is the entire app - no binary resources, no creating a stack, adding labels etc. Plus you can set it up so any time you save the code it automatically updates the app in the simulator or your phone within a second or so, so rather than creating a graphical interface, you run the simulator and change the code, save and see the immediate result.

It's not so much that flutter seems weird - it's more that x-talk is vastly different to any other language out there ;)

Simon Knight
Posts: 845
Joined: Wed Nov 04, 2009 11:41 am
Location: Gunthorpe, North Lincs, UK

Re: LC vs Flutter

Post by Simon Knight » Thu Sep 23, 2021 8:58 pm

Not an entirely fair assessment of flutter ;)
Not even close I'm sure, trust me I don't have a clue ;-)

I have tried to download flutter but the download fails at the moment. I'm curious by what your mean by the code being a complete application: does it just take over the whole screen or flutter window? Also what triggers the code to run ?

S
best wishes
Skids

bwmilby
Posts: 438
Joined: Wed Jun 07, 2017 5:37 am
Location: Henrico, VA
Contact:

Re: LC vs Flutter

Post by bwmilby » Thu Sep 23, 2021 11:04 pm

stam wrote:
Thu Sep 23, 2021 8:42 pm
You can write the same code in about half the length in LC - but that code in Fluter is the entire app - no binary resources, no creating a stack, adding labels etc.
Not entirely accurate though. When you create a new project there are a few different files that are generated. Any graphics and such would be additional files too. I did manage to get through the first intro app and will say the hot reload is pretty cool. I still think that our live environment is a bit easier though.
Brian Milby

Script Tracker https://github.com/bwmilby/scriptTracker

stam
Posts: 2634
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Fri Sep 24, 2021 12:15 am

bwmilby wrote:
Thu Sep 23, 2021 11:04 pm
When you create a new project there are a few different files that are generated. Any graphics and such would be additional files too.
sure, but in the simple example above that's the entirety of what you produce - the rest is all produced automatically. No images included in the above app but would do in a normal app and you'd normally also produce multiple files (a file per widget/class) instead of bunching everything into one long script.
That long script has always bothered me btw!
bwmilby wrote:
Thu Sep 23, 2021 11:04 pm
I still think that our live environment is a bit easier though.
Absolutely - and not just a by a bit. LC has a much shallower learning curve; visual IDEs are more approachable (and i do wish a there was an official visual IDE for flutter), but more importantly LC provides many conveniences taken for granted. Try iterating a list of maps (an numerical array of associative arrays) and you'll appreciate the simplicity of livecode arrays and the each[] iterator ;)

But flutter does have many strong points - it's just a steeper hill to climb...

stam
Posts: 2634
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Fri Sep 24, 2021 12:37 am

Simon Knight wrote:
Thu Sep 23, 2021 8:58 pm
I'm curious by what your mean by the code being a complete application: does it just take over the whole screen or flutter window? Also what triggers the code to run ?
By complete application i mean from the creation point of view. Type that in, hit build and you're done. The full binary app is created. All graphical elements are created for you etc.
More complex apps will have more files. On mobile the app takes up your screen, not so on desktop.
In the simple example you post, the app runs on launch (no interactivity) - the main() function is entry point, and in this you run the runApp command by passing it your app (which is a widget)
The weird thing in flutter is that everything is a 'widget'. The app is a widget, as is the container (a layout element) and the text of the container. You basically build up 'widget trees'.

Very different mindset and not intuitive to LC users at all, but that's not to say it's not good - after all there are orders of magnitudes more flutter users than there are LC users. But there will be a steeper learning curve. Might be worth investing £10-15 in a udemy course to take the sting out of it.

If you're a long time LC user i think most other languages will pose similar challenges - LC is just too different (and the inverse is true as well, took me a long time to actually 'get' LC)

richmond62
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 9287
Joined: Fri Feb 19, 2010 10:17 am
Location: Bulgaria

Re: LC vs Flutter

Post by richmond62 » Fri Sep 24, 2021 8:29 am

took me a long time to actually 'get' LC
This was because you were not a 'virgin'.

In my Summer classes each year 'virgins' "get" LIveCode straight away and unquestioningly.

I believe this is because the use of the container metaphor is blatant in LiveCode.

https://philosophyandpsychology.wordpre ... -metaphor/

Those who have been 'violated' by jolly little things such as Java, Python and C# have a
much, much tougher time.

Oddly enough, with teenagers I tend to let them have some 'foreplay' with BBC BASIC, either
on my 2 BBC Micros or on a BBC emulator on a Linux box, and this does NOT seem to prevent
them "getting" LiveCode at all.

Please excuse the slightly "off" simile, but it does seem appropriate conceptually.

stam
Posts: 2634
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Fri Sep 24, 2021 11:56 am

richmond62 wrote:
Fri Sep 24, 2021 8:29 am
In my Summer classes each year 'virgins' "get" LIveCode straight away and unquestioningly.
Erm... that was exactly my point. Thanks for confirming ;)

To be explicit, being fluent with other languages made it easier to learn more of similar languages as although there are differences the overall structure is fairly common across these. Not so with liveCode - which was very different and it took a long time to learn a different way.

The point i was trying to make is that the inverse is also true; just because you're an expert in LC does not mean you can pick up Flutter or any other such language without a significant learning curve. So if you want to learn flutter you're going to have to invest time and effort.

richmond62
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 9287
Joined: Fri Feb 19, 2010 10:17 am
Location: Bulgaria

Re: LC vs Flutter

Post by richmond62 » Fri Sep 24, 2021 12:39 pm

The point i was trying to make is that the inverse is also true
Indeed.

Various ex-summer course kids of mine, having got reasonably far with LiveCode told me 2 things
when they started High School C# classes:

1. The theoretical stuff (conditional loops, switch statements, and so on) were VERY EASY to understand.

2. The syntax of the new language was sometimes a blocker because it did not resemble that in LiveCode.

Oddly enough, in 1993, cracking open a Macintosh computer and finding HyperCard, coming from
FORTRAN, BASIC and PASCAL, I found HyperCard refreshingly easy.

richardmac
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 211
Joined: Sun Oct 24, 2010 12:13 am

Re: LC vs Flutter

Post by richardmac » Wed Sep 29, 2021 9:25 pm

I trust Google about as far as I can throw my car.

stam
Posts: 2634
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Wed Sep 29, 2021 9:35 pm

richardmac wrote:
Wed Sep 29, 2021 9:25 pm
I trust Google about as far as I can throw my car.
No one 'trusts' google. But what's that got to do with this conversation?
Flutter/Dart is freely available and opensource. It has massive backing and support from both the community and google. You can use Visual Studio Code or Android Studio as your IDE.
You don't need to use any Google service to create apps with this. So 'trust' is neither implied or required.

Unless you mean trust that the platform won't remain free? (*cough*)

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9802
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: LC vs Flutter

Post by FourthWorld » Wed Sep 29, 2021 9:48 pm

I once trusted Apple to deliver the HyperCard 3.0 they demoed at WWDC.

Today I trust no FAANG.

But for most of the tools I use, trust isn't a relevant consideration. A tool either does what I need at the moment or it doesn't.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

stam
Posts: 2634
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Wed Sep 29, 2021 10:44 pm

It's a bit of stretch to say that because of a broken promise in 1996 you don't trust the whole company forever more...

Remembering that 1996/7 was the year Steve Jobs re-joined Apple and had to streamline their focus because they were truly a sinking ship and he managed to turn that around by focusing on the core business. Other victims of that time were openDoc and the Newton MessagePad the latter of which if i'm honest i lamented more than HC (even though my first programming experience was with HyperCard on system 6 - loved it!).

It's fascinating to read the history of HC but really in my mind, HC was losing the game as the world wide web came in 1994 onwards and there was no real insight at the time what this would mean for computing and for HC in particular. Bill Atkinson was quoted as saying
if I had only realized the power of network-oriented stacks, instead of focusing on local stacks on a single machine, HyperCard could have become the first Web browser.
(source: https://www.wired.com/2002/08/hypercard ... have-been/).
But this only serves to emphasise the lack of insight of what HC could have been... web browser? really? Think bigger! There was no real vision that would ensure the long term survival of HC.

Instead, HC was just viewed as a 'multimedia app' internally (with many notable exceptions externally sadly) which of course cannot compete with web technology really, HC's days were numbered.

It's easy to blame 'Apple' but really HC's demise was due to many circumstances and it's not hard to see how Apple chose to not fight a losing battle.

What it really needed was something like what LiveCode has become... but it's taken some talented individuals and 20+ years to get there...

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9802
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: LC vs Flutter

Post by FourthWorld » Wed Sep 29, 2021 11:36 pm

stam wrote:
Wed Sep 29, 2021 10:44 pm
It's a bit of stretch to say that because of a broken promise in 1996 you don't trust the whole company forever more...
On the contrary, neither trust nor even blame are at all relevant to my relationships with vendors.

I consider that HyperCard moment, along with the moment it became clear SuperCard would never ship their Windows version, merely liberating.

After those experiences I live more simply, and run my business more effectively, with less blame on others and taking full responsibility for my own tooling choices:

If a product exists, it exists. If it doesn't yet exist, it doesn't exist.

I don't need to spend an ounce of mental energy on ideas that might or might not exist as actual tools at some possible future time.

Only things delivered to my hands where I can evaluate their fitness for the task I'm working on at the moment matter to me.

Ideas are just ideas; fun, but not tooling I can put to work. Intentions are often good, but intentions are not tooling.

So I use what exists, and ignore what doesn't.

Since then my business has grown, as have my relationships with my company's vendors.

As you said, what does trust have to do with this conversation about tooling options?

--

My concerns about FAANG are a separate matter, though admittedly I didn't clarify that earlier. Like many other netizens, and most legislators, I'm increasingly uncomfortable with having most of what happens on the world's Internet controlled by just five CEOs.

In all fairness, the "N" there may be a bit dated, since Netflix has shown itself it be a reasonably responsible steward of the data it collects and how it uses it in negotiating global media distribution. Twitter, however, remains a karmic cesspool of state actor psyops botfarms tolerated to keep perceived audience sizes appearing large for advertisers. So maybe "FAATG" would better reflect the current state of play.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

Post Reply

Return to “Off-Topic”