Live data from Hacker News

Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

news.ycombinator.com

261–270 of 329 posts

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#261
post #251

Earlier quoted context omitted.

Serious question, why not Typescript? Are you not aware of it or do you have other reasons?

You may not realise this, but TS is just JS + Types.

You may not realize this, but that makes all the difference in the world.

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#262
post #165

Earlier quoted context omitted.

This is a futile pursuit simply because you are creating a layer of abstraction over JS using another dynamic language so there's no real gain other than syntactic sugar.

Would you say the same thing about web assembly and emscripten? At least one of the above is based on those. Using scientific and numeric packages from the python ecosystem is more than syntactic sugar, IMO. It seems like the JS world mostly ignores that stuff. I have yet to try a real project with any of those python web tools. I know just enough HTML, vanilla JS and DOM API to cobble together ugly sites when I need…

These tools are a waste of time. They take longer to learn then basic js and then in 3 years support is dropped you might have well learned a bit more js.

It's a bit big but just run nextjs, it solves almost everything for you. Even deployment is one click away. Would take 5 mins to get started. And a few hours to understand for a seasoned dev.

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#263

Earlier quoted context omitted.

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.

Why is the frontend state stored on the backend?

The state is updated through Python functions that are run on the server, so the state needs to be on the server

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#264

I 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.

[deleted]

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#265
post #67

Earlier quoted context omitted.

> ...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…

Try Svelte

What makes Svelte easier than other approaches?

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#266
post #259

The 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.

There are a few others - https://pynecone.io/docs/library/forms/slider for example

Using the top slider on that page, try dragging the slider back and forth quickly. Random numbers will pop up at 500ms(?) intervals. When you let go of the slider it will keep updating with random numbers for a long time (I watched it go for 30 seconds).

> For performance reasons, you may want to trigger state change only when the user releases the slider.

Not a great workaround, now I can't see the number I'm selecting. With the 500ms render time, it's going to feel really slow to pick a value. The perf needs to be fixed for this to be usable.

edit: Oh: https://news.ycombinator.com/item?id=35148526

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#267

Earlier quoted context omitted.

Would you say the same thing about web assembly and emscripten? At least one of the above is based on those. Using scientific and numeric packages from the python ecosystem is more than syntactic sugar, IMO. It seems like the JS world mostly ignores that stuff. I have yet to try a real project with any of those python web tools. I know just enough HTML, vanilla JS and DOM API to cobble together ugly sites when I need…

These tools are a waste of time. They take longer to learn then basic js and then in 3 years support is dropped you might have well learned a bit more js. It's a bit big but just run nextjs, it solves almost everything for you. Even deployment is one click away. Would take 5 mins to get started. And a few hours to understand for a seasoned dev.

Haha yeah its amazing how the lengths people will go to not learn something simple but new!

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#268
post #69

Earlier quoted context omitted.

Have you tried Django? https://www.djangoproject.com/

In my experience using Django for my webapps hasn't meant I can avoid HTML and javascript. Writing templates is writing HTML, and any relatively fancy UI including charting etc. requires using javascript

I built a recent Django site that only used JS for analytics and to implement the close button on a modal. You can do charting using server side rendered images pretty easily, especially as SVGs (although I concede, dynamic charts client side are a better UI). CSS is harder to escape if you want things to look fancy.

Given the update latency pynecone has, I can't imagine a charting library would work well.

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#269
At first glance this looks very cool.

For me to be able to write a cool test app I'd need a working date picker and some kind of radio button feature (so that I could ask you to select a date and then display a list of offers on screen to select.)

I checked the docs and it seems there's a radio button, but no date picker yet.

Plus maybe the option to push a pdf result.

(My usecase: I'm a backend dev for a booking api and it would be fun to quickly build a frontend to test the API on my phone)

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#270

I 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.

Edge computing isn't a universal fix. At the moment I'm on a corp network that routes traffic through a proxy a couple states away (security reasons), I rarely see 500ms latency. The counter and slider example don't feel right at that latency.

Also, I turned off WiFi and then clicked the counter a couple times. Obviously the clicks didn't render. When I turned it on, then the counter updated one at a time at what felt like 300ms intervals. I often use the web from the train as I commute and data service can be spotty. I expect I'd see input latency in the minutes if I tried.

I think this is only viable if you're certain all your users have ping If you have to use this model, try batching user events (10 clicks => increment by 10) and cancelling old events (slider events at 5, 10, 20; only send slider=20 event).

Post reply on HN