Wix is an abomination
I've always hated these website cookie cutter platforms, mostly for personal reasons because I'm an optimizer, a philosopher, an understander. I want control over my stuff. Well in 2021/08 I took on a freelance gig that required me to work with Wix. I knew I'd hate it, but I figured I'd bludgeon through it. And I did. But hoooly shit, it's even way worse than I expected.
There is *nothing* right about Wix. It's a fractal of bad design, like PHP. I think the best way to summarize it is this: **Every feature in Wix is a bespoke, stunted version of something you would have access to if you just used a VPS.**
PHP: A fractal of bad design
- Your frontend code doesn't have access to the DOM (no `window` or `document` or workarounds). Instead you get acess to this `$w` object which looks like jQuery, but isn't. You can call it as a function, and it acts like `document.querySelector`, except the selectors you pass are special Wix selectors that don't actually exist in the DOM. The references it returns aren't `HTMLElement`, but Wix elements, which have drastically less capabilities.
- There's a way to embed *actual* frontend code, but it's in iframes (meaning it doesn't work if the user's browser has those disabled) and, this is even worse: you can't access Wix APIs (like your database) from inside it!
It's like, there's Wix-land and real-land. From Wix-land you can't access the DOM, and from real-land you can't access anything else! You have to pass data between the two with a web worker-like API.
- Oh, and this is an absolute clown world travesty: all Wix elements seem to be positioned using absolute positioning. In the visual page editor, elements just drag on top of each other. It's not even easy to make a space for a new element.
- The test console doesn't show stack traces like real Node. For some errors you don't even get a line number, and it seems to suppress `console.log` sometimes. It's also plagued by several UI bugs that make it difficult to inspect output.
- If a backend job takes more than 14 seconds, Wix stops the process. So I can't start a long running job and wait for it to finish. (Accessing Wix databases is extremely slow, so that 14 seconds fills up quickly.)
- Wix has an autosave and history feature, but for proper version control (branches, diff, etc) I have to copy code back and forth between Wix and my computer.
- Their code editor enforces IDE anti-features like autocompletion popups covering everything and rebinding the arrow and enter keys to "accept my bullshit irrelevant suggestion" so it's impossible to type. I've experienced the pain of these features before (browsers' JS consoles have some of them) but Wix takes them up to 11.
- That "database" I mentioned? It's not a real database! It doesn't support SQL or anything like it. There's no way to programmatically alter its schema.
- There are buttons to import and export CSV, but they're both useless. The export can only be sorted by update timestamp (there *is* a sort option in the collection viewer, but it doesn't affect the downloaded file). The import sometimes maps columns incorrectly and doesn't give you enough control to correct it.
- There's no way to access Wix's excuse for a database from outside Wix's web-based dev environment, so all testing has to be done inside there.
- Manually editing the database is ridiculously slow because when you open a collection, it takes like 6 seconds to load. So does every change you make. If you delete all items in a collection, it deletes them at a rate of about 20 per second.
What about price? This is an interesting topic because when discouraging people from using these website cookie cutter platforms I usually admit that they would eliminate the price of a VPS. That's not true here:
The cheapest plan is $16 per month. I pay just over $6 for all expenses for this website, both VPS and domain name. And that $16 only includes your domain for the first year so you could say it's more like $17. Whereas a $5 per month VPS can give you over 20 GB of storage, this gives you 2. It's also missing a bunch of features that you would have or be able to easily get for free with a VPS.
If you need a website, why not use Didact instead? You'll save money and get way more power. Didact also offers free user support, and unlike Wix support, I can be reached by email ;)