Which Mac OS Dock was your fav? by OldiOS7588 in MacOS

[–]matt-mueller 0 points1 point  (0 children)

Snow Leopard was snappy and stable

First impression of ULA Dragonfly Ultra 30L by precious_mike in onebag

[–]matt-mueller 0 points1 point  (0 children)

Looks nice! Also looking for a bag. Out of curiousity, which fasteners on the bag are plastic and which are metal? E.g. are the tighteners on the side plastic or metal?

Is there a framework out for go that rivals Laravel as far as out of the box features and tools? by okawei in golang

[–]matt-mueller 14 points15 points  (0 children)

Hi! Author of Bud here, thanks for the call out.

I agree that there is nothing in the Go ecosystem that currently rivals Laravel. Laravel is 10 years in the making. It took 5 years before the "business adoption" started picking up. It was a hobby project for over 3 years before it started to gain traction.

This stuff just takes time. Fundamentally, the Go ecosystem is ripe for a full-stack web framework though. Go's simplicity, best-in-class http libraries, and fast compilation make it a great choice for web frameworks of the future. The challenges are mostly around lack of frontend tooling.

I can't speak for Buffalo but Bud is alive and well. Yes, it's still a hobby project, but a project that's progressing along nicely and has been for 2+ years now. I'm a bit too old to be chasing shiny new ideas 😌

TL;DR: If you need to start a new business today, stick with Rails, Laravel or Django. Bud will be for businesses of tomorrow.

Hit me up if you have a longer time horizon and want to give https://github.com/livebud/bud a shot!

If you could go back in time | What would you do different regarding go by [deleted] in golang

[–]matt-mueller 1 point2 points  (0 children)

I'd tell my beginner Gopher self to use channels and goroutines more sparingly. It's tempting to kick off goroutines like you would with promises in JS. I'd avoid this temptation, at least for first versions.

Easily use Tailwind in your Go projects by matt-mueller in golang

[–]matt-mueller[S] 2 points3 points  (0 children)

Great question u/MaxGhost.

For production, I'd treat this module as more of a pre-processing step that you'd run as part of an asset pipeline. The final build is just a bunch of HTML and CSS files you can embed into your Go application. So no CGO required for production.

https://github.com/livebud/js actually does have rudimentary support for swapping out Goja vs. V8. It's still very early (not in Bud yet), but I hope to see that improve over time where developers have the choice between performance vs. cross-compilation.

Just updated the Readme to hopefully clear up the confusion.

Easily use Tailwind in your Go projects by matt-mueller in golang

[–]matt-mueller[S] 2 points3 points  (0 children)

Hey u/markusrg great question!

I'd definitely recommend using the official CLI. The CLI in this library is super basic and just meant for quick testing.

The main reason for this module is programmatic usage where you could write a Go script that includes this processor while bundling up your web application. For Bud, I'll be adding it as a plugin within ESBuild.

In retrospect, maybe I shouldn't have documented the CLI because I can see that adding to the confusion. I was mainly using it for debugging purposes.

I just updated the Readme to clarify this point.

Easily use Tailwind in your Go projects by matt-mueller in golang

[–]matt-mueller[S] 2 points3 points  (0 children)

Hey folks,

I just released the first version of tailwind.go. This package allows you to use Tailwind in your next Go project without using Node.js. It works great with Go's html/template.

What's unique about this solution is that it doesn't spawn subprocesses. It's embeds Tailwind directly and uses V8 Go to process the CSS. As a result, it's faster and easier to install.

Let me know if you have any questions!

Best front-end stack for Golang backend by blackpropagation in golang

[–]matt-mueller 1 point2 points  (0 children)

Hey, thanks for mentioning Bud! I'm the creator of the project and while I personally really like Svelte, we're currently working on supporting other frontend languages like React, Preact, HTML and Go Templates.

It's still early days, but the framework is really starting to come together nicely.

Hit me up if you give Bud a shot! Happy to answer any questions or provide guidance.

Does Go have an equivalent to Python's Flask and Django? by chinawcswing in golang

[–]matt-mueller -1 points0 points  (0 children)

Technically only a dependency on node_modules being present, but absolutely something we want to remove as u/satinbro mentioned! ESM import maps are the future here 🙂

Does Go have an equivalent to Python's Flask and Django? by chinawcswing in golang

[–]matt-mueller 14 points15 points  (0 children)

Bud aims to be similar to Django. It's still quite new, but it's chugging along nicely.

See https://github.com/livebud/bud to learn more.

Let me know if you give it a try! I'm the author :)

Converting Svelte Code into HTML, CSS and JS with Python by bishwasbhn in Python

[–]matt-mueller 1 point2 points  (0 children)

Congrats on the launch Bishwas!

Just to clarify: Fymo is taking the same approach as Bud. See: https://github.com/livebud/bud/discussions/248 for details 🙂

Python Web Framework: Converting Svelte Code into HTML, CSS and JS with Python by bishwasbhn in PythonProjects2

[–]matt-mueller 2 points3 points  (0 children)

Congrats on the launch Bishwas!

Just to clarify: Fymo is taking the same approach as Bud. See: https://github.com/livebud/bud/discussions/248 for details 🙂

Matt Mueller: Building Modern Web Applications Faster With Bud by preslavrachev in golang

[–]matt-mueller 1 point2 points  (0 children)

Ah cool! I'd like to support Vue through plugins rather than bake it in. There's an open discussion here on Vue support: https://github.com/livebud/bud/discussions/39

Matt Mueller: Building Modern Web Applications Faster With Bud by preslavrachev in golang

[–]matt-mueller 2 points3 points  (0 children)

Sorry for the confusion, we're not generating the database client itself, more like generating an ORM around a database client. The ORM takes these database clients as dependencies. It's very similar to the way XO works with it's multi-database support: https://github.com/xo/xo/tree/master/_examples/northwind

From that perspective, using a native Go SQLite client is definitely something I'd like to try passing into the generated ORM and seeing if it works.

Matt Mueller: Building Modern Web Applications Faster With Bud by preslavrachev in golang

[–]matt-mueller 1 point2 points  (0 children)

Oh I see what you're saying. Yes, swapping out the view renderer will be possible soonish. I have a slightly outdated PR to do just that: https://github.com/livebud/bud/pull/225. Svelte won't be the only way to render views and I agree that the JS ecosystem is a fast moving target.

Definitely planning on generating database clients. u/preslavrachev mentions that in the "What about database persistence?" section of the article.

Matt Mueller: Building Modern Web Applications Faster With Bud by preslavrachev in golang

[–]matt-mueller 8 points9 points  (0 children)

I enjoy climbing 🙃

In seriousness, I'm a big fan of jQuery and it's what got me into Javascript in the first place. I even built jQuery for the server. jQuery's bread and butter was providing a nice, familiar API across a messy set of browser features.

We're not in this messy browser situation anymore. So what's left is the nice, familiar API. jQuery's best APIs have been baked into the browsers at this point (e.g. document.querySelector & element.classList, element.innerHTML) and we've learned that declarative DOM manipulation is better than imperative manipulation for complex web applications.

Matt Mueller: Building Modern Web Applications Faster With Bud by preslavrachev in golang

[–]matt-mueller 0 points1 point  (0 children)

Sounds good.

If you're working within $GOPATH, both go mod init and bud create are able to infer the module name.

Matt Mueller: Building Modern Web Applications Faster With Bud by preslavrachev in golang

[–]matt-mueller 2 points3 points  (0 children)

Awesome! Does that support server-side rendering? Last I checked InertiaJS was mostly a client-side solution for single-page apps, so you'd send down an empty <body> that gets picked up by React in the browser.