Wondering about LC and HTML5
Richard Gaskin
ambassador at fourthworld.com
Tue Jun 21 11:14:39 EDT 2011
Chipp Walters wrote:
> So, if we focus on where the puck WILL be-- is it fair to say it's headed in
> the direction of HTML5 web apps? I dunno, but it is interesting to
> consider....
One of the aspects of the current RunRev product line that may be easy
to forget is that they're all essentially the same engine, if-def'd for
each platform. One code base, many platforms, so enhancements made for
one platform often wind up benefiting others, sometimes all of them.
In contrast, HTML (4, 5, or any other version) is based around a very
different object model and to use it for anything but the most trivial
pages depends heavily on CSS and JavaScript as well.
Providing robust support for for a DOM-based system like HTML/CSS/JS
would be a radical departure from everything the company has done to
date. Unlike other new product initiatives, HTML/CSS/JS support would
require the development of a whole new engine to do as well as the
things the current RunRev lineup offers using the engine they have.
It's very easy to work with the DOM from JavaScript, and very difficult
to do with LiveCode.
That said, one of the most useful things about CSS, JS, and HTML is that
they're all just plain text, and LiveCode is unusually adept and
manipulating text.
I've ported some LiveCode apps to the web, and with new versions of my
WebMerge product I'm expanding on those systems quite a bit.
But I don't attempt to translate code. Too much work. There are so
many great resources for learning JavaScript, and the language itself is
reasonably sensible and kinda fun to use, that translation carries a
very low ROI (usually negative).
In the 21st century, not learning JavaScript is IMNSHO the biggest
mistake any software consultant can make. Given the ubiquity of the
web, the fact that JavaScript is the only native language browsers
provide, and the many millions being poured into enhancing its
performance and capabilities by Apple, Microsoft, Google, and others,
there's no reason not to become competent with it.
Besides, as numerous studies show, learning new things keeps the mind
nimble and helps prevent some of the cognitive effects of aging. :)
So my own approach is very much like Andre's, using LiveCode for its GUI
strengths but avoiding the tilting-at-windmills of language/object model
translation.
I've been advocating this model here for many years:
<http://lists.runrev.com/pipermail/use-livecode/2006-June/083956.html>
There's a lot that can be done with LiveCode to build toolkits to assist
with production of web apps, but the client-side business logic and
interactivity in those apps is best served by writing native JavaScript.
It's not hard to learn, and it can be a lot of fun. The tools and
resources for learning it are completely free and widely available.
Sure, it's a bit of a mind-bender when you first get started, esp.
coming from an xTalk background. But what isn't? Riding a bicycle was
very difficult for me to get past my training wheels when I was five,
but it's given me a lifetime of liberation and enjoyment. Everything in
life worth doing has a learning curve, and flexing the learning muscle
is healthy exercise.
Dive in - the water's fine. :)
If anyone here wants a "JavaScript as a second language for xTalkers"
tutorial I've been keeping notes on my own learning curve and would be
willing to take a stab at providing an article at LiveCode Journal.
But really, you don't need it. There's a LOT of good JS stuff out
there. This is one of the best, with excellent reference materials
complimented by interactive exercises for nearly every topic:
<http://www.w3schools.com/>
To help put the parts into perspective the Head First series from
O'Reilly is a good start, and their JavaScript book is as good as their
Statistics and others in the series:
<http://tinyurl.com/44h9u6r>
--
Richard Gaskin
Fourth World
LiveCode training and consulting: http://www.fourthworld.com
Webzine for LiveCode developers: http://www.LiveCodeJournal.com
LiveCode Journal blog: http://LiveCodejournal.com/blog.irv
More information about the use-livecode
mailing list