Replies: 1 comment 1 reply
-
I've considered a copy of SQLPage in another language as a learning exercise but never as a proper fork. I think @lovasoa's vision for SQLPage and his focus are on the correct path, though I do agree that the database limitations are a concern. I'm largely positive about Rust for the correctness and safety, though I'm only a beginner in the language. Python would be a great candidate for the ecosystem. The performance concerns for 99% of users wouldn't matter, I'd consider it a success if someone built something useful enough in a hypothetical Python SQLPage to have legitimate performance concerns. I'd be more worried about packaging, even with the uv tool there's an extra step beyond unzipping a folder for people to get a running application. I was musing on something like SQLPage as an embeddable component for something like Django or FastAPI to allow building lowcode components in an existing app. We're a Microsoft shop so I considered C#. LINQPage anyone? Dotnet remains a Microsoft-centric ecosystem though, even though the crossplatform support is great the cross-platform ecosystem isn't catching up. We (at work) recently cracked the door open for Node apps in Javascript so that crossed my mind for a learning deep dive. Dynamic language (what about Typescript?) issues and ecosystem churn are negatives. Golang seems like another good candidate for a compiled single-file executable performant language and lots of packages. Overall though I think any language choice is going to attract a few developers and turn away more, we just all have our opinions and preferences for a language. Developers also like their known tools and abstractions so we have people building big piles of code over lightweight abstractions like Flask or Express instead of considering something like SQLPage that is further up the abstraction ladder. I think bigger factors for overall SQLPage success are:
The database support issue is a hurdle to wider adoption as people put useful data in a wider range of RDMS and related tools. I know ODBC support is planned for @lovasoa's fork of the sqlx library which will open up a wider range of databases. I'm also curious about using ROAPI or running a Postgresql instance and using FDW to connect to a wider range data sources. I think quite a bit more flexibility to explore here before a fork makes sense simply for database compatibility. There may be value in building out the SQLPage concepts in other code ecosystems that would benefit from adding a relatively lightweight high level declarative code and templating system. |
Beta Was this translation helpful? Give feedback.
-
Hello SQLPage community and contributors,
I've been a keen observer and admirer of SQLPage for its innovative approach to building web applications directly with SQL. The speed and efficiency achieved with Rust are truly impressive.
However, I've also been considering some potential limitations that might be hindering wider adoption and community contribution. These are primarily:
To address these potential limitations and foster greater community involvement and wider database compatibility, I've been contemplating the possibility of rewriting SQLPage in another programming language with a more extensive ecosystem and a gentler learning curve.
My primary concerns with such a significant undertaking revolve around potential performance loss compared to Rust. With that in mind, I've been exploring languages that offer a balance of a more accessible development experience and reasonable performance, ideally with some similarities to Rust's programming style (e.g., semi-functional paradigms, good pattern matching).
Some of the languages I've been considering include:
Considering the need for a good templating engine ecosystem similar to Handlebars (or easily implementable helpers), and efficient I/O and concurrency for the web server, I've also looked into the availability of Handlebars implementations or flexible alternatives in these languages. While Handlebars adoption isn't as widespread outside of JavaScript, languages like Python (Jinja2) and JVM languages (Thymeleaf, FreeMarker) offer powerful and flexible templating engines.
I would love to hear your thoughts and opinions on this idea. Specifically:
This is intended as an open discussion to gather different viewpoints and assess the potential benefits and drawbacks of such a significant undertaking. Your input is highly valued!
Thank you for your time and contributions to SQLPage.
Beta Was this translation helpful? Give feedback.
All reactions