I am interested in knowing who would make a decision to pay for something like this when there are a gamut of open source options available. Like what is the compelling reason to use something like this.
if you don't want to manage your own infrastructure, you can use our hosted product, but otherwise it's totally fine to self-host the open source binary.
(convex cofounder here)
- Comparisons against other types of stacks, like laravel livewire or phoenix liveview
- Performance metrics/stats/benchmarks whatever. You need to be faster and more robust than the other things out there, or provide some other benefit
- First Class self-hosted on premise install version without dependency on any cloud provider. Kubernetes helm charts or docker compose stacks or whatever
- I do actually like that you have a time-windowed source available license. That is something that alleviates the concern if you go under
- Jepsen or similar analysis, need to make sure whatever consistency guarantees you are advertising hold up
Right now you have many frontend-focused engineers who justifyably argue that something like React Server Components is a backend concern because it runs on the server. I think they're wrong but they have a point.
You also have many backend-focused engineers who justifyably argue that something like Rails is a frontend concern because it's designed to run webpages. You probably wouldn't want to use Rails to build an ETL pipeline or an airline scheduling system, for example. I think they're kinda right but also a little bit wrong.
And ultimately the whole debate is so deep in the It Depends territory that I honestly think 90% of the people arguing come from such vastly different backgrounds and situations that they're just talking past each other. They're never going to agree because the problems they're solving are too different to ever have the same solution.
edit: I say this as someone with professional experience in almost all the usual suspects (Django, Rails, Flask, various JavaScript frankenstacks, even PHP).
Background. My career has spanned these in different ways:
Front-end: I started in iOS in 2010 (back then it wasn't called iOS yet - just iPhone), where I was a more pure frontend dev. The server was using python and Haskell and that team was the "cool kids" in my view. The backend/frontend contract was using ProtBuf over a socket (not WebSocket, which hadn't been standardized yet), so we really didn't work closely together, and no one was "full-stack".
Backend: Wanting to be a "cool kid" I joined Dropbox and eventually was the technical lead for Dropbox Previews, generating video, pdfs, images for user content using hundreds of machines, using a combo of Go and Python. I didn't work very closely with the myriad of teams using the previews for various products (their interface was the HTTP endpoints we exposed). One fun statistic: if you removed the cache and processed the full file for every user’s request, it would amount to processing over one exabyte of data per day.
"Full-stack" tbh my experience crossing the gap is only somewhat recent (last 5 years or so) where I did freelance / contracting for various startups and established companies. I brushed up on React, learned TypeScript, but still mostly focused on backends - which usually ended up overly robust for the level of operational expertise of the companies I was handing the projects off to: like handing off a full kubernetes setup for running some GPU machines and orchestrating some fan-in / fan-out pipelines for ML image processing, when I'm sure there were mostly-fine ML workflow companies I could have used.
Anyways this was much longer than anticipated but hope it adds some color
As a former JavaScript developer most of the people doing that work cannot program. That is why frameworks are so essential. What percentage of these people could realistically do any fraction of their jobs without third party abstractions line React or jQuery? It’s striking.
Look, what’s the primary mission here:
1. Put text on screen
2. Handle user events
Why is that so hard? Because nobody knows what they are doing, the blind leading the blind. The compile target on the front end is the DOM and that absolutely scares the shit out of people. Secondly, communicating outside the browser requires network traffic handling which also scared the shit out of people. Finally any kind of event handling requires an understanding of the event loop and listeners and that also scares the shit out of people.
Finally, most people cannot write in JavaScript. Instead they write Java (or whatever) and modify the syntax just enough to avoid critical run time failures. The blessings of a lexical first functional environment are often absent because the language is a mystery. Fucking horrible mess.
None of this is challenging. It’s stupid easy to learn, but there is almost nobody willing to teach it. The insecurity in that line of work is so universal I refuse to go back to that line of work for less than $500,000 salary.
It's not that you can't build a website without a framework, its that at the end of the day, no one cares what tools you use (in front end), it's how fast you get the job done, does it look like the mock up, and does it function.
No one cares if the site is written in vanilla JS vs. a framework except a certain segment of HN web purists.
Worse than that people who do that work also bitch about how shitty the results are too, but then continue writing garbage because that’s the best they can do.
Most narcissist high on the hill comment I’ve ever read on HN.
GTFO.
At any rate your comment is exactly why I will not go back to that work for less than $500,000. Too much crying.