Why this framework is so frustrating to work with? Always unexpected things keep happening?

Literally developer experience is the worst.

There is some truth to this, but “The worst”??? Really? The worst of what?

The world is moving, anything which is alive moves and changes all the time because the whole universe moves and changes all the time and must do so to be alive.

So that’s true for humans, too, and thus for this community of human beings biotechnically called “ecosystem”.

I understand your complaint, because movement can be fast and slow and it’s not always easy to:

  1. learn all you need of a complex system, and
  2. keep updated about changes, especially if
  3. documentation might not advance with the same speed as the code.

I wonder if @michelle has good, working and comprehensive metrics for this kind of frustration and its effects on growth of the whole endeavor. That might be important while driving the whole.

First of all, it takes an immense amount of effort to get the bench utility set up on your local system. You have to manage various versions, and after a long battle, when you finally have the utility and start creating projects, you begin to experience bizarre bugs. For instance, there’s a typical broken pipe error with no indication of what went wrong. When you finally check the logs, you see unexpected things happening, such as schedulers running for inactive sites, creating exceptions. Due to these exceptions, even your currently active sites throw broken pipe errors. This kind of behavior persists even after dropping the problematic sites.

As easy as it seems on the surface, it’s extremely frustrating to work with. For newbies, this is something they shouldn’t start with; it will make them hate development from the get-go.

I know I’m using harsh words, but trust me, I’ve worked with other technologies and have never been as frustrated as I am with this one. On top of that, if you ask questions on the forum, there’s almost no response from anyone. You end up navigating through this ocean of problems with no help.

I agree that there is a fair bit of abstraction here in terms of the background services that are integrated with the framework to make life easier (no-code low-code batteries included).
But in all fairness, this is by far the easiest framework for web development in general with the easiest learning curve.

Version management should not be an issue if you have a docker image. But again, installing the proper versions for the dependencies is fairly easy if you followed any installation guides in GitHub. (Or even the frappe official documentation.)

I believe the issue you faced was due to the bench being cut (the terminal being closed abruptly without giving ctrl+c to stop the bench.)
Thus the services kept running on the connected ports throwing exceptions here and there.
Usually fixed with a restart or on killing the port.

You’ve made it this far, so don’t give up on the experience of an amazing web framework. You will be hooked.

1 Like