Business Application Framework
Mark Waddingham
mark at livecode.com
Thu Aug 13 06:45:18 EDT 2015
> I’m not convinced it’s a killer. I just think it needs some special
> tools. It really wouldn’t be that hard to build a third party code
> review web app that integrated with GitHub via service hooks. Such a
> beast would know the export stack file format and present the objects
> in the same way the project browser does with visual representations
> etc.
To be fair it is a killer if you do not have such a front-end and want
to have multiple people working in a rigorous way on a single LiveCode
project ;)
As I said, that option was discussed and I (personally) didn't think it
too bad an idea in principal - but it wasn't considered a viable option
at the time (it added another required layer to the system in order to
ensure it met the requirements we had of it) and it did suggest that
perhaps reconsidering the approach was the best way forward to producing
a fully cohesive solution. It essentially reduces the git/github choice
to being a storage backend which isn't really something for humans to
look at. Our feeling at the time was that we really wanted a solution
which was entirely 'natural' in GitHub.
Of course hindsight is 20/20 and perhaps the front-ending should be
revisited to see how integrated and natural it could be made. GitHub is
obviously an important and powerful force in the world of modern
software development (whether Open or Closed), but we have to ensure
that LiveCode's use of it does not seem 'perverse' - otherwise it just
gives another reason for people not to consider LiveCode. (Given that
LiveCode already 'goes against the grain' in a number of ways, we don't
really want to make the job any harder!).
From the point of view of the work Peter did put into VCS, none of it
has been wasted. The 'stackdir' format we came up with is perhaps not
the important point (I'm sure Monte, Peter and I could spend many hours
finessing such a format to ensure it is bomb-proof, mitigates merge
conflicts as much as possible and is actually tractable on modern FSs -
Windows being a bit of a bear) - at the end of the day it just an
on-disk representation of an in-memory data structure.
From an engine perspective it is probably the underlying 'stackarr'
encode/decode which is the critical piece which has much wider
applicability and the bit which would be high on the list to finish
first. It does for stacks and objects the same thing the 'styledText'
array format does for fields - it allows you to naturally manipulate the
structure of stacks using arrays in script in a very direct way. Much
more easily then having to introspect directly on live objects and the
lcVCS or stackdir import/export could be implemented in script based
upon it. The 'stackarr' concept has benefits elsewhere too - for example
the project browser has to extract the information describing an object
to do its job, as does the property inspector; and I know there are lots
of tools out there which also replicate exactly the same process in one
way or another (lcVCS just being one example).
Mark.
--
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
More information about the use-livecode
mailing list