4 ms·
Counterpoint: you have made a fun and interesting thing in Python that works great in your command line/Jupyter notebook. You want to share it with your non-dev
by anigbrowl 2y ago
Counterpoint: you have made a fun and interesting thing in Python that works great in your command line/Jupyter notebook. You want to share it with your non-developer friends/anyone who might be interested, so you need some kind of interactive GUI, and the easiest one is a web page of some kind. But you don't want to learn a whole new stack because web development is really not Your Thing.
So you use something like Dash, Streamlit, or this, which allows you to do everything in Python and put up something that looks reasonably professional but does not require a great deal of time or effort. Or get serious and do it in Flask or Django.
From your other comment: But you don't need that. You can create amazing user experiences with a plain HTML, CSS and a JS file.
What do you consider the best example material for that? The reason us Python programmers (many of whom are amateurs) are so leery of Javascript et al is because most commercial websites are so hideously complicated, and most of us are just not interested in front end stuff or we would have started out with Javascript in the first place.
I've said it before, what most Python programmers want for UI is something like Visual Basic used to do - just a simple canvas with a palette of standard UI components that can be thrown together like Lego and doesn't look like a complete mess.
- alabhyajindal 2y agoThat's a great question. And I completely agree. It's become extremely common to obfuscate client code or throw together 5 NPM packages into a frontend framework to justify "rapid development". Here are a few websites that have great UX and readable source code. For each, you can view source and understand how the page is structured, styled and made interactive: - https://tour.gleam.run https://tour.gleam.run, interactive code tutorial - https://sivers.com https://sivers.com, ecommerce - https://www.geoffreylitt.com https://www.geoffreylitt.com, personal website I enjoy doing this and have recreated a few projects that I liked by reading their source: - https://sudoku-aj.netlify.app https://sudoku-aj.netlify.app inspired by https://sudoku.com https://sudoku.com - https://imgbar.pages.dev https://imgbar.pages.dev inspired by https://imgflip.com https://imgflip.com - https://logo-lang.pages.dev https://logo-lang.pages.dev inspired by https://www.transum.org/software/Logo https://www.transum.org/software/Logo Web technologies are amazing. It's one thing to say that it's hard because you're not familiar with it and another that they are objectively bad. I disagree with the second statement. If people want a drag and drop solution for building UIs that's great. I'm sure no-code solutions exist for that. Again, my disagreement is on the point that somehow building UIs with Python is better.
- anigbrowl 2y agoThanks - those are very interesting. I fully agree that building UIs with Python is not better in objective terms; I just think it's more convenient if all you want is a minimal interface.