LC vs Flutter
Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller
-
- VIP Livecode Opensource Backer
- Posts: 9867
- Joined: Sat Apr 08, 2006 7:05 am
- Location: Los Angeles
- Contact:
Re: LC vs Flutter
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.
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
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn
-
- Posts: 854
- Joined: Wed Nov 04, 2009 11:41 am
- Location: Gunthorpe, North Lincs, UK
Re: LC vs Flutter
Had to be done :
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.
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
best wishes
Skids
Skids
Re: LC vs Flutter
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
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
-
- Posts: 854
- Joined: Wed Nov 04, 2009 11:41 am
- Location: Gunthorpe, North Lincs, UK
Re: LC vs Flutter
Not even close I'm sure, trust me I don't have a clueNot an entirely fair assessment of flutter
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
Skids
Re: LC vs Flutter
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
Script Tracker https://github.com/bwmilby/scriptTracker
Re: LC vs Flutter
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!
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...
Re: LC vs Flutter
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.Simon Knight wrote: ↑Thu Sep 23, 2021 8:58 pmI'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 ?
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)
-
- Livecode Opensource Backer
- Posts: 9478
- Joined: Fri Feb 19, 2010 10:17 am
- Location: Bulgaria
Re: LC vs Flutter
This was because you were not a 'virgin'.took me a long time to actually 'get' LC
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.
Re: LC vs Flutter
Erm... that was exactly my point. Thanks for confirmingrichmond62 wrote: ↑Fri Sep 24, 2021 8:29 amIn my Summer classes each year 'virgins' "get" LIveCode straight away and unquestioningly.
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.
-
- Livecode Opensource Backer
- Posts: 9478
- Joined: Fri Feb 19, 2010 10:17 am
- Location: Bulgaria
Re: LC vs Flutter
Indeed.The point i was trying to make is that the inverse is also true
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.
-
- Livecode Opensource Backer
- Posts: 211
- Joined: Sun Oct 24, 2010 12:13 am
Re: LC vs Flutter
I trust Google about as far as I can throw my car.
Re: LC vs Flutter
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*)
-
- VIP Livecode Opensource Backer
- Posts: 9867
- Joined: Sat Apr 08, 2006 7:05 am
- Location: Los Angeles
- Contact:
Re: LC vs Flutter
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.
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
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn
Re: LC vs Flutter
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
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...
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
(source: https://www.wired.com/2002/08/hypercard ... have-been/).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.
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...
-
- VIP Livecode Opensource Backer
- Posts: 9867
- Joined: Sat Apr 08, 2006 7:05 am
- Location: Los Angeles
- Contact:
Re: LC vs Flutter
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
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn