-
-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Switch to Rack + Roda and away from Webrick #269
Comments
I'm 100% behind the idea of swapping out Webrick for Puma or similar. Though I don't quite understand why we'd want Bridgetown to be an all-in-one framework. I'm just wary of losing a degree of focus and simplicity by stretching ourselves too thin and attempting to solve too vast an array of problems with Bridgetown. The way I see it, keeping Bridgetown as a build-and-deploy solution keeps the focus of the project strong. Combining Bridgetown with a first-class integration with Rails (which has one sole purpose of being a rock solid web framework) would in my opinion fulfil any use case that running Bridgetown live thorough web service would. Just my $0.02. What do you think the advantages of taking Bridgetown into the realm of an all-in-one framework would be? |
I'm probably getting ahead of myself here…the primary use case I'm thinking of is being able to do a live rerender of a particular URL, maybe pass some request params along. Not trying to compete directly with Sinatra/Rails/etc. But thanks for the reminder we shouldn't try to dilute the value prop of the technology. |
Yeah haha it's so easy to let the brain charge ahead! I agree a great first step would be to swap in Puma and then we can take it from there! |
FYI — did a ton of local benchmarking between Puma and Falcon for both Roda and a Rails nano project, and Puma with 8 threads + 16 workers beats all. Roda + Puma with a simple
Benchmarked via Roda on Ruby 3 |
This is part of the v1.0 alpha now! |
As part of the push towards
Rails APIRuby backend integration, it's become clear to me we need to remove our dependency on Webrick and retool around Rack (and Puma as the actual server). And not just Rack alone but a routing layer which can sit just above it—a good solution being Roda.This would provide a number of benefits:
My initial preference to start would simply be to swap Webrick out for Rack/Puma and otherwise keep all features and CLI options as much the same as possible. Then we can assess where to go from there.
Feedback most welcome!
The text was updated successfully, but these errors were encountered: