On 2017-05-31 09:01, Dan Brown via use-livecode wrote:
I'll also add that for all the wonderful possibilities that LCB brings
there is a very real danger that countless hours will be spent using it to
re-invent the wheel.

That is true of every language ever implemented ;)

However, one of the goals of LCB is to allow it to be used as the 'glue' language allowing LiveCode Script to access 'things written in other languages' with (eventually) as much syntactic fidelity as you get with builtin-in engine functionality. Hopefully, reducing the need to re-invent the wheel to the minimum required to make other-world libraries look more LiveCode like.

i.e. One of its main goals is to rid ourselves of the need to 're-invent the wheel'.

Take for instance the displaying of svg's. This is a solved problem in the browser and has been for a long time but in native livecode it's still in the infant stages of implementation (to put it mildly). The best solutions
for user interface "widgets" are arguably being created in the form of
javascript libraries. To me it makes total sense to integrate with that
ecosystem and free up LCB / livecode developer hours for solving other
problems

True - but then if I want SVG icons in my app, and I don't need the browser widget at all then I might balk at the 70-100Mb bloat I have to add to Windows / Linux apps to get it. Furthermore, I might balk at the start up time of my app on mobile devices, whilst I use the browser widget to load all my SVGs and render them into PNGs at various sizes (unless you instantiate a browser widget for every SVG icon you want to use and want to put up with the restrictions that places on you, and the overhead in terms of use).

Certainly we need to be careful about 're-inventing the wheel' but that just means making good choices. In this case, the case for 'native' SVG support in LiveCode is overwhelming - the more lightweight it is, the faster it is, the more utility it has. (Also, the main problem here is 'SVG as a replacement for PNG icons' which is a much smaller problem to solve than an editable SVG canvas - which is what you get if you go the via-browser route).

In terms of JavaScript 'widgets' in general, then we already have a reasonable strategy for using them now - you use a browser widget and load it in there. For example, FileMaker has a BrowserView element and there is a plugin 'React' which allows you to defined JavaScript controls and have them rendered in the browser. Admittedly using such things is a little trickier than we'd like at present - due to the lack of synchronous 'do as javascript'.

Anyway, I agree that using existing libraries and code as much as possible is probably the best way to expand LiveCode's capabilities - hence LCB :)

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to