Live data from Hacker News

Goravel: A Go framework inspired by Laravel

goravel.dev

161–170 of 170 posts

Re: Goravel: A Go framework inspired by Laravel

#161

Earlier quoted context omitted.

Sure, both tools are great options to have in your toolbox. My bigger issue was with the claim that you can't build an application bigger than arbitrary size X without an ORM, which is empirically untrue. I will say that there are queries that take 2-3 minutes to write in SQL where you have to bang your head into the wall to make the problem fit into an ORM-shaped box. (and vice versa) A bigger problem are developers…

No, sorry, the vice versa is not true. You can write any possible SQL query in SQL, but you can't write all of them in an ORM (without falling back to native SQL queries) SQL is strictly more powerful. Sometimes it's also way more verbose. So I agree that you should be able to leverage both tools, but they are not even remotely as powerful. I every project we used ORM for, at some point we had to jump through hoops a…

And what's wrong with any of that?

Re: Goravel: A Go framework inspired by Laravel

#162
post #110

Earlier quoted context omitted.

It’s not. One thing is sending batches of transactional mail to thousands of recipients in a production web application running on a bunch of replicated containers on ephemeral machines, the other is proof that SMTP theoretically works in your programming language.

It does not take more than 10 lines of code to launch a goroutine (or two, or more, due to how easy worker pools are in Go) that receives email requests and sends them in batches.

And some more to add retries. And then another few to handle attachments. And just some more to generate previews. And multipart messages. And testing. And just like that, you spent a whole lot of time to reinvent something frameworks like Laravel include out of the box, right now. And did I mention it is documented and any other developer familiar with the framework can immediately use, without having to waste time reading library code?

Re: Goravel: A Go framework inspired by Laravel

#163
post #43

Earlier quoted context omitted.

I assume you have never used Django or Rails or Laravel then. With these, you get a web application with routing, middleware, schema validation, database connections, an ORM, authentication, sessions, job queues, email sending, distributed caching, dependency injection, logging,secret handling, view template rendering, websockets, metrics, and much more—right after the installation, set up with conventions allowing o…

>job queues In Go, these are called "channels".

Channels are equivalent to job queues the same way walkie-talkies are equivalent to emails.

Re: Goravel: A Go framework inspired by Laravel

#164
post #162

Earlier quoted context omitted.

It does not take more than 10 lines of code to launch a goroutine (or two, or more, due to how easy worker pools are in Go) that receives email requests and sends them in batches.

And some more to add retries. And then another few to handle attachments. And just some more to generate previews. And multipart messages. And testing. And just like that, you spent a whole lot of time to reinvent something frameworks like Laravel include out of the box, right now. And did I mention it is documented and any other developer familiar with the framework can immediately use, without having to waste time…

"A little copying is better than a little dependency."

Re: Goravel: A Go framework inspired by Laravel

#165

Earlier quoted context omitted.

Same reason IDEs — when you really know them — allow for quicker development compared to using primitive text editors with a bunch of third-party plugins duck-taped together. When you understand the framework, everything is written to the same standard, behaves in similar ways, and is where you expect it to be. Adding things like background job processing requires changing one line of config. Also, one major thing I'…

A simple Google search returns https://github.com/oapi-codegen/oapi-codegen I get wanting to be productive and gravitating towards patterns you’re familiar with but in the end it’s all bloat. http can do routing and patterns and cookies and sessions. database/sql can do your DAL work. uuid (various implementations) work for user/tenant uid+oid obfuscation. JWT libs for auth. You can literally json.unmarshal your conf…

That link is not what they want. That takes openapi spec and writes go code.

They want something that reads the go code they have written and creates an openapi spec used to generate clients in other languages.

Re: Goravel: A Go framework inspired by Laravel

#166
post #159

Earlier quoted context omitted.

Same reason IDEs — when you really know them — allow for quicker development compared to using primitive text editors with a bunch of third-party plugins duck-taped together. When you understand the framework, everything is written to the same standard, behaves in similar ways, and is where you expect it to be. Adding things like background job processing requires changing one line of config. Also, one major thing I'…

> automatically generated OpenAPI specifications + API documentation I'd much rather have engineers write OpenAPI specification files by hand and then generate their server code from that file. Way easier to maintain and actually forces devs to have good documentation for their APIs.

Is there an actual example of this in the wild?

I have seen things that generate server stubs but have not encountered something that enforces things like error code/response types etc.

Re: Goravel: A Go framework inspired by Laravel

#167

Earlier quoted context omitted.

A simple Google search returns https://github.com/oapi-codegen/oapi-codegen I get wanting to be productive and gravitating towards patterns you’re familiar with but in the end it’s all bloat. http can do routing and patterns and cookies and sessions. database/sql can do your DAL work. uuid (various implementations) work for user/tenant uid+oid obfuscation. JWT libs for auth. You can literally json.unmarshal your conf…

That link is not what they want. That takes openapi spec and writes go code. They want something that reads the go code they have written and creates an openapi spec used to generate clients in other languages.

in that case: https://github.com/swaggo/swag

Re: Goravel: A Go framework inspired by Laravel

#168

At my last job I wrote web services using Spring (Java enterprise stuff). That was how I and a lot of my colleagues first learned how to write enterprise code: via lots of annotations. Then I discovered Go and learned a different way to make systems. At first it was strange - where was the IoC framework? How do I build up my db entities? And then I got into the philosophy of Go: how its better to make things that are…

You're missing the entire point of frameworks like Spring and Laravel. They are there to remove the power of choice and thereby actually create clarity and maintain speed over a long period of time. What happens with the "I'll build everything from scratch" apps is they are oftentimes not easy to understand, different patterns end up being used, 3rd party packages get slapped on ad-hoc and over time it just becomes a…

The whole "I can move faster" with a framework is also just an illusion that appears at the beginning of building an app. It will quickly disappear as more devs who do all have a different idea about how the framework should be used put their hands on it and as more complex code features are requested that the framework does not support.

Re: Goravel: A Go framework inspired by Laravel

#169
post #159

Earlier quoted context omitted.

> automatically generated OpenAPI specifications + API documentation I'd much rather have engineers write OpenAPI specification files by hand and then generate their server code from that file. Way easier to maintain and actually forces devs to have good documentation for their APIs.

Is there an actual example of this in the wild? I have seen things that generate server stubs but have not encountered something that enforces things like error code/response types etc.

Indeed it doesn't enforce the response code and type. However, it's still a big step in the right direction to enforce request and response schema.

Re: Goravel: A Go framework inspired by Laravel

#170

Earlier quoted context omitted.

Who, the one guy pledging Trongate, or the people in the Symfony camp? I assure you React gets plenty of hate from the JavaScript community - enough to spawn over a dozen competitors. At some point, community love/hate is irrelevant.

People in the Symfony camp want less magic. There is also a lot of activity around Tempest.

Is it really magic? I did some Java dev and that is full on "magic" especially Quarkus.
Post reply on HN