I know I already have too many open / unfinished projects (and a bunch more un-started yet)...
BUT, I was "doing the rounds" again after work today on HTML/CSS alternatives to doing web-deployable apps, and ended up looking at the QML situation again...
(Unfortunately, while I'll try to finish current project using HaxeUI, I'm running into too many weird update bugs + other hard-to-overcome limitations that I'm currently inclined to go back to looking for another solution for the next test project / whatever will be used to implement Parus)
TLDR: Am again getting itchy hands to jump back into building my "Kea" language compiler in Python (possibly either hacking OR deriving significant inspiration from "PureQml"'s Python-based "QML-subset -> HTMl5 / Javascript" compiler), but focussing first on the QML-like UI-definition syntax (before adapting the wider language later, and for non-web backends for those other parts)...
Anyway, my probings into the QML situation revealed the following:
* 1) Concluded that "QmlWeb" looks dead in the water again
* 2) Stumbled across PureQML / qmlcore - From what I can tell, it looks like some Russian dudes (*) built a Netflix knockoff using that.
(*) (Or at least that's what I concluded from the screenshots they showed, which all only contained Russian-like text)
Interesting Part: It's a Python compiler that converts a qml-like language to HTML5 + JS !!! 👀
I think you can guess where this is going... 🤓
Yes, I *DID* just spend much of the evening (between relaxing doing other stuff) pondering either adapting that "qmlcore" base compiler (OR building my own from scratch again) to use as another attempt to build-out a UI-focussed version of my "Kea" programming language...
For a bit of context, when I last actively did most of my work on Kea, I had been starting to hack out a custom compiler / parser in Python (i.e. code-named "bof" or "birds-of-a-feather" at the time), with the aim of embedding in it some extra parsing smarts to enforce the code-style I like... but, in doing so, it never got remotely close to going anywhere usable... hence why seeing this relatively small + self-contained Python-based "compiler" for converting a QML-like language into a web-deployable UI-making tool got my attention! ;)
Also, it helps a lot that, most recently, when I was last playing around with trying to figure out how I wanted the UI definitions in Kea to look like when I resumed work tinkering with this back in January, I ended up gravitating towards using a QML-style design for the overall structural framework for describing UI's. The main differences however were more concentrated around resolving the cases where that QML/declarative approach sometimes feels annoyingly clunky to use:
Namely: There are times when what you really want is to be able to break out in the middle of a set of declarative definitions, to suddenly have some code that's more "imperative" in style (e.g. for those cases where you only want to construct certain elements if certain conditions hold... instead of having to do those table-flipping gymnastics of
- Bad Option 1: Defining all the elements for all cases, then defining "visibility switches" on each to turn them off when all the unwanted conditions hold
- Bad Option 2: Having to offload those sub-layouts into separate component files, then use "Dynamic Loader" hacks to bring them back in (but then suffer from various weirdness issues trying to pass the parent context/environment down to them)
Anyway... this was a nice little toy exercise to tinker with this evening.
I'll get back to trying to finish off the most pressing / close-to-completion projects I have on my plate first, so I can properly mark them "done" and get them off my plate as "completed / functionally-usable" tools, before jumping into this and/or the other "Picasa replacement" project I'm also champing at the bit to get stuck into...
No comments:
Post a Comment