Comment by bityard

Comment by bityard 3 days ago

15 replies

It's a bit sad that most of the comments here are negative. Most of them seem to be some variation of, "Nobody needs a tool like this, all you have to do is simply dedicate yourself to multiple years of writing corporate CRUD apps in both vanilla soul-crushing Javascript and web frameworks. You know, like I did."

So, I am the target audience of this. I have a LOT of experience writing tools and automation and that is where most of my Python knowledge comes from. I am not an expert Python programmer, but I am competent.

But sometimes, I have an idea for writing a web application that would greatly improve my day-to-day life in some way. I know exactly what I want it to do, I know exactly what I want it to look like. I have already designed the API in my head, and could probably write the bulk of the Flask code in under an hour. Maybe a couple of hours if you want tests. But what I DON'T have is the time to learn is the vagaries of HTML+CSS layout and internalize the Great Lessons of the last 20 years of JS development history.

I have consciously stayed away from (non-trivial) web development because the tooling and patterns change almost daily. But the old stuff is not replaced, it is simply bolted on top of. And you have to know the WHOLE stack in order to troubleshoot most any part of it. Waking up one morning and saying, "I know a fair amount about computers, I want to write a web application," is just about as fanciful as saying, "I know a fair amount about airplanes, I want to design a jet engine."

Rio devs, thank you for releasing this as open source. I look forward to checking it out. Even if it doesn't pan out for me, I appreciate that you took a crack at it.

lburton 3 days ago

I agree frameworks like this are great to see. I wonder how it compares with https://nicegui.io which is something I've used to build several small web applications in pure python (and wrap one up with their included pyinstaller based packer into an executable).. Either way, also glad to see competition in the space.

joezydeco 3 days ago

Coming off yesterday's Qt discussion (summary: it's fucked up and there are no usable alternatives in embedded), I was dreading the possibility of having to learn Node/React to make anything usable on future projects.

This may have come along at exactly the right time. I'm kind of interested.

darepublic 3 days ago

Ok that's great. I guess I'm just skeptical you won't have to either A. Settle for premade layouts B. Learn some CSS like specification of custom styles. And that is where you get sucked into the rabbit hole

  • thegiogi 3 days ago

    On the css side, I can tell you that rio (that is by no means the first library of its kind) actually does not require any knowledge of css to be used. It does not use the same concepts. While the simplification costs you some levels of customization, it is not something that would truly matter in a lot if not most of its use cases.

    The simplified layout system comes with its own inspection tool built into the dev version of your app so you get productive in an hour or so. They really got that part right in my opinion. As soon as they make custom components done I’m gonna discuss adopting it for our internal tooling.

    I am not affiliated with them btw.

  • thunky 3 days ago

    > Settle for premade layouts

    Just think of how many man years we could have saved if we did this.

    • DrillShopper 3 days ago

      And think of how many man centuries we could have saved if we were okay with a page refresh

    • amelius 3 days ago

      We will save man-years, because an LLM will do that.

  • Sn3llius 3 days ago

    Nope! No premade layouts, and not a single line CSS. Give it a shot :)

korantu 3 days ago

It is very useful to me, even though I know some webdev. For projects where you need to expose majorly python functionality on the web, and don't want to add whole other dimension and toolkits to your python code, this is brilliant.

wiseowise 3 days ago

> because the tooling and patterns change almost daily.

That is just plain wrong. And that comes from someone who stayed from web dev for the same reason. Nowadays it’s vite/esbuild and you’re good to go.

And you don’t need any web framework to come up with basic ui.

touch index.html; touch styles.css; python3 -m http.server

And you’re good to go.

> "I know a fair amount about computers, I want to write a web application," is just about as fanciful as saying, "I know a fair amount about airplanes, I want to design a jet engine."

This analogy makes no sense.

  • jononor 3 days ago

    Last time I (kinda halfway / didn't) learned frontend it was react-create-app. Before that webpack. And before that grunt.

    You do not need a framework if you really know CSS and HTML5 well, but that is exactly "knowing the whole stack" - which was the parents point.

    • RHSeeger 3 days ago

      > Before that webpack. And before that grunt.

      I do back end web development, but need to be able to build and run the whole thing locally. I've been through webpack, and grunt, and.. um.. something before that. And throughout it all, I have a make file that has targets for 'clean', 'build', 'NOTEST=true' (to prevent tests from running), etc... specifically because I find it super frustrating when we need to move from one build system to another, and trying to remember which one _this_ project is on, and how that one does each thing, etc.

      So every time we add (switch to, but really add) a new build system, I update the Makefile to be able to build with that system, and then just use make to build everything and completely ignore what's doing the actual build :)

    • wiseowise 3 days ago

      > Last time I (kinda halfway / didn't) learned frontend it was react-create-app. Before that webpack. And before that grunt.

      You’re describing more than 10 years of evolution here. That’s hardly daily.

      These days it’s npx vite build, what’s there to learn?

  • bityard 3 days ago

    Well, both of those things were hyperbole, not really to be taken quite so literally.

Sn3llius 3 days ago

Thank you so much for the kind words! It's always great to read messages like this.

I can't wait to hear your feedback