Just thinking outloud . . .
After building the majority of our client projects on Wix ---- we have explored other platforms and languages whenever we hit roadblocks. I have had several conversations with developers from external platforms. Their ages range from 16 to 65. And their level of experience ranges from a few months of coding to 30+ years of coding.
I have come to realize they all have one thing in common: if there is no way to access / manipulate DOM +CSS on Wix, then they are not interested in coding using Velo.
What do y'all think of this? Do you think this is the key to remove all roadblocks from boths sides of the Velo world? In other words, do you think this will help gain and retain more non Wix developers onto the Wix platform?
Or are we missing anything more besides DOM + CSS that will make Velo irresistible to outside developers?
I have to say that the DOM/CSS thing has only stood in my way a few times - when I wanted to change the background/color/size/whatever (usually something minor) of a pre-built Wix component that doesn't have the Style Mixin. For those times, I considered rolling my own, but 2 things stood in my way there:
Why on earth do you have to have a custom domain in order to build your own HTML element? The site I'm working on is under development. Our domain is pointing to the old, live site. I won't have a custom domain until the new site is finished and we can redirect the domain. But then I can't finish the new site without some custom HTML element...Chicken, meet egg. Oh...wait...Egg, meet chicken...oh...wait...
Getting a11y and mobile layout right when rolling my own components are a weighty enough time investment that I decided in all cases not to bother, and instead settle for a less perfect UX in order to just use whatever Wix has built in. The element might not be perfect, but I'll settle for less perfect in order to take advantage of allowing Wix to do a lot of the heavy lifting.
However. There are a few places where I've been continually frustrated by Wix's lack of DOM access and the ability to build a truly custom component (not merely saving my design, but an actual component bundle).
Wix's built-in menu is incredibly limited and non-functional in MANY basic ways. And they're standard suggestion to use the Mega Menu comes with its own massive set of problems. Wix...please, oh please...add a bit more functionality to the built in menu!
Header layout and size control. A pretty basic use case is that I want a header of one size on the home page, and a different size on every other page. This can be very quirky to try to get right on Wix.
The inability to easily make something stretch from top to bottom (full length in the viewport, like a drawer...and don't get me started on "but you can do that with a lightbox")
Something like Pinned elements, but giving me a lot more control of where they're pinned.
The DOM stuff isn't what would or wouldn't cause me to use Wix in the future. What would most likely do it is the very broken database model. There are a few things that make me tear my hair out.
The incomplete/broken support for relationships, specifically M:N relationships. Multirefs are very necessary, and yet completely broken. You would not believe the hacks I've done to get around multiref problems.
Database permissions are so coarse as to be unusable. (you can either be a full site admin, or the data owner, or everyone). You would not believe the gross hacks I've had to do in order to get around the problem that I don't want my client to have full admin access, yet she needs to be able to update inventory in the database. This seems like such a basic thing that I can't believe there is no support for DB roles other than these three.
The lack of built in validation when you're using the Content Manager. You just have to roll your own - ie, use a hook to run the same validation code that you do in the browser. This seems like something pretty fundamental that should just be available without me having to roll my own.
Now...with all that said...I have actually never used any of Wix's competitors, so I honestly have no idea how Wix stacks up with other OOB type site builders. I've only ever hand rolled entire Web/Mobile apps from top to bottom using a tech stack where every layer is fully under my control and the UI is built using something like Angular where I have total control over the DOM. For all of my frustrations with Wix, there are many, many more benefits that I really appreciate and that allow me to create functional sites (maybe not perfect, but certainly good enough) and hand them off to a client who is NOT tech savvy and have them be able to do the most basic parts of their own store management without me having to get involved whenever they need something. These benefits vastly outweigh my frustrations.