I'm not exaggerating but this might just be the highest impact library I've seen. As a backend developer who has lots of great project ideas but bail at the thought of having to use JavaScript and HTML, this library is a godsend! My only question is why it took so long for someone to implement it? And where are the equivalent libraries for Go, Rust and Java?
Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
251–260 of 329 posts
Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
#252Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
#253great work! can't help but wonder how this is different from Dash app from Plotly
Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
#254I'd love to see something like this. I'm an old computer science guy and would love to write software again. I can write plenty of functionality in Python but I don't really want to learn all the JS stuff. I just don't like it. If I could abstract away the details it would be a big help. I'm not going to build anything that requires scale or commercial performance so I can afford to compromise versus the "purity" of…
> ...I'm an old computer science guy and would love to write software again. I can write plenty of functionality in Python but I don't really want to learn all the JS stuff... Back in early 2000s, i used to be more of a front-end dev...but over the years of being more of a manager (or PM or product manager) i stepped away from daily development...So, you know, I lost my touch. But a few years ago when i tried to dip…
Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
#255I'm not exaggerating but this might just be the highest impact library I've seen. As a backend developer who has lots of great project ideas but bail at the thought of having to use JavaScript and HTML, this library is a godsend! My only question is why it took so long for someone to implement it? And where are the equivalent libraries for Go, Rust and Java?
Serious question, why not Typescript? Are you not aware of it or do you have other reasons?
Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
#256Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
#257Earlier quoted context omitted.
State management hasn't really been solved. Hence the whole debate about signals vs no signals last week. :)
I didn't catch that and can't find it, got a link?
Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
#258why should I prefer Pynecone over NiceGUI?
- NiceGUI was initially build for accessing and controlling hardware as shown in our webcam demo); I'm not sure how it would be done with Pynecone
- NiceGUI encourages the use of standard Python (callbacks, if-statements,..), Pynecone on the other hand uses explicit State classes and provides constructs like pc.cond and pc.foreach.
- NiceGUI uses Vue/Quasar for the frontend while Pynecone is build on NextJS
- NiceGUI generates HTML/JS/CSS via templates on the fly while Pynceone has an explicit compile step; so NiceGUI can be run with normal "Python" instead of using a command like "pc"
- while both frameworks use FastAPI for the backend, in NiceGUI you can actually use your own App and simply extend it with NiceGUI to provide additional UI; Pynecone hides FastAPI which makes it harder to provide other API endpoints (for example to serve images from memory instead of files).
Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
#259The delay in increment/decrement example is not acceptable for a web UI that is expected to update instantly. I believe it should be less than 150ms to become noticeable for the user.
Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python
#260I went to the button component page [1] and to the section of the counter and two increment and decrement buttons. Clicking on either takes something like 0.5 seconds for the counter to update it's value. Using Android and Samsung internet. Edit: I took a video screenshot https://voicer.com/v/HSpS9 [1] https://pynecone.io/docs/library/forms/button
We use Websockets for state interactions, so the latency may depend on your internet connection + distance to server. We will improve this in the future by leveraging more edge computing and WebAssembly to execute closer to / on the client.