When I first saw Druid I was like oh cool, a way to do GUIs in Defold since Defold's GUI stuff looks unappealing. Turns out, It's not a UI Component library as it claims but an extension of what's already there. It just makes bundles off some of the unappealing stuff into a process so you can focus on higher level stuff.
When you click on a box, you might think oh that box should get the event, but no you have to "gui.pick_node" blah blah to check every box. Mmm, you've already lost a ton of upstart game developers there already to something easier like Godot. Godot gives you a button component and you get many things that you would in many other UI frameworks already. I say this is terrible UX on Defold. Druid should just be integrated in from the get go. Hardly any overhead and if anything could be disabled.
I'm still learning, but yeah much harder than Godot for sure. Lower level things are great only when needed. Druid definitely should've guided the Defold team on how to better approach UX for this part.
I get that Defold's maintained by a small team, but some things need to be bundled up if they want to grow it up so that it becomes something that is a noticeable choice for Game Engines. It's very niche and maybe that's what they want.
Anyway, instantiating a button in Druid means adding something like a button controller on a gui node, so that the gui node behaves like a button. Same goes for many of the other "instantiations". There is no creation of a button node or anything occurring as one would understand as instantiation. Getting past that initial understanding helps quite a bit with workflow.
It seems like you would create a button gui file and make that look like a button then use druid.button to hook up that button and then druid text to hook up the text. As I understand about template nodes is that a button gui script wouldn't be attached, so you'd have to handle things differently than you would elsewhere. Definitely a disconnect here between what's expected vs this system. Definitely expected to write more code to handle oddities.
After experiencing Godot and Defold so far, I think if you want something batteries added, cross platform and stable for mobile devices then Unity is your best bet. I am now bullish Unity stock because of what I've experienced so far with both engines. This is coming from someone who doesn't even have Unity stock and (have no plans to) use Unity!
I hope to figure out the best workflows for Defold, make some reusable stuff and probably come out with some tutorials. A course would be better. The current Defold Youtube courses are not sufficient as third party libraries are not used in them and are instrumental to better a UX with Defold.