As a resolution of this story: https://news.ycombinator.com/item?id=47911524
HN user
appveyor
Is there any way to contact project owners besides X "formerly Twitter"?
As we mentioned Flet here - it's been able to build web apps running completely in the web browser (Flutter + Pyodide). Here are a few examples: https://flet.dev/gallery - most of those apps there are client-side except "Controls gallery" and "Chat" which are server-side.
Don't want to sound negative, but copy-pasting results from ChatGPT session to a code editor is not an "integration".
Thanks for your notes!
It looks like Flet is for client-side code.
For web you can package Flet app to client-side (with pyodide, all Python logic runs in the browser, see an example here: https://gallery.flet.dev/todo/) and run as a server-side app (or server-driven) with Python logic running on the server (example: https://flet-controls-gallery.fly.dev/layout - notice faster loading compared to client-side one).
If I'm writing Python that runs on the mobile device, it must talk to a server to read & write data. Doesn't this still require an API backend, database, cache, etc?
That's correct. Any backend service which provides Python API can be used when running Flet app on a mobile: FastAPI, Firebase, Supabase, Pocketbase, etc, but you use Python to call that which is awesome especially for beginner and non-web developers.
SEO - maybe, but IFAIK accessibility in Flutter web app shouldn't be an issue (I just saw this comment from someone on Flutter team: https://news.ycombinator.com/item?id=24922849). They've been recently doing a great job in terms of performance (compiling app to WebAssembly) and size. I agree that Flutter web is not good for building websites, but for web apps, especially those "internal" apps used by a small group of users, it's a pretty decent solution.
Flet (https://flet.dev) might be easier for backend devs as it doesn't assume any web experience at all. You use controls (aka widgets) with events (not request/response) and can build not only web, but desktop and mobile apps - all with a single codebase. Disclaimer: I'm Flet developer.
With PyQt you can't make web apps; with Flet you can.
Flet (https://flet.dev) is a new GUI library for Python to write apps like that. It uses Flutter to render UI with a modern-looking Material design. Your app can be run as a desktop app and published as a web app (standalone with Pyodide or server-driven with built-in web server).
Hey, this is exactly how https://flet.dev works! :) There's a UI server written in Go, you write your program in Python which manipulates a virtual DOM with commands via WebSockets, and there's a Flutter client that renders UI from that DOM: https://flet.dev/blog#current-flet-architecture
I'd love to add other languages, but currently so busy with a top-notch Python support!
Congrats on the launch! Great project and nice execution!
Very similar to what we do on Flet: https://flet.dev The major difference is that Flet uses Flutter to build UI and can target desktop, web and mobile. Also, we use WebSockets for communicating with the server which gives lower latency (the delay between a click on a button here https://pynecone.io/docs/getting-started/introduction and UI update could be annoying).
Building native mobile apps is on our roadmap.
In the beginning, for mobile it's going to be a websocket to a Python server - kind of server-driven UI (SDUI) approach. Then we'll look into packaging everything into a standalone mobile app: https://flet.dev/blog/flet-mobile-strategy
For desktop using WebSockets within localhost doesn't really add a noticable overhead.
Flet! :) Creator of Flet is here. Could you fix the title please? I've been told that there is a discussion about Flet on HN, tried searching by "Flet", found only an old thread and thought "oh, well, OK then - must be a mistake".
Anyway, if you have any questions let me know.
PyInstaller should work. Will look into that and write a guide.
Here you are: https://flet.dev - Electron alternative with Flutter-powered UI. We decided to focus on Python first to polish the idea, but Go and C# support are coming!
Absolutely, an app's entry-point "main" function is called for every new user session with unique instance of a "page": https://github.com/flet-dev/examples/blob/main/python/apps/h...
Right? I know Google has a habbit of dropping great projects, but, somehow, I believe in the future of Flutter on web :) Using Canvas + Skia + WebAssembly for rendering UI in the browser could look like a "wrong" approach today, but, hey, Google created the most popular browser, so who knows. They talk about their vision in this video: https://youtu.be/kCnYRhkfWHY. Flutter is great for web apps, not for web sites where SEO is important. And Google is actively working on better accessibility support - Accessebility Object Model (starting at 10:00 in that video) which is eventually could to be a new standard.
Another LiveView-like UI framework for Python: https://github.com/flet-dev/flet - created specifically for highly interactive real-time experiences. You build your UI from controls made of Flutter widgets and partial UI updates are passed to a browser via WebSockets.
Flet app written in Python works with DOM built from Python classes. This DOM is then converted to a JSON and sent to Flet client which is written in Dart. Flet client converts received JSON to Flutter widgets.
Oh, no, I've missed my HN moment! :) Anyway, hope it's not too late to say hi and answer some questions.
Hi, I'm Feodor - the author of Pglet. The project is still in "alpha" and there is still a lot of experimenting around default modes and API will probably have some breaking changes going forward.
Thank you for the constructive feedback you guys gave here!
Re: licensing - Only Pglet Server is under AGPL at the moment, multi-language client libraries which are embedded in your app are MIT. Selection of AGPL is not final and was mostly influenced by recent fear/trend of big co incorporating your service into their cloud offerings.
Re: remote mode by default - your app code is not being uploaded to console.pglet.io, but it's UI is "streamed" there only. However, I agree this looks scary for the initial experience - will roll it back to "local" mode by default with explicit "publish" option.
Better docs, more examples and other languages support (Go, Rust, Deno) are coming later this year. Stay tuned!
Hello HN!
This is a step-by-step tutorial on how to create a ToDo web app in Python using Pglet framework and share it on the internet:
https://pglet.io/docs/tutorials/python
The app is a single-file console program of just 100 lines of Python code, yet it is a multi-session, modern single-page application with rich, responsive UI.
I've been developing Pglet framework for 6 months now and I feel it's finally ready for building real apps.
Let me know what you think!
Oh, ASP.NET Web Forms were awesome! I remember it was so easy to onboard new developers: built-in state management between requests, WYSIWYG editor, high-level controls abstracting from HTML. Maybe because I miss ASP.NET so much :) I started working on https://github.com/pglet/pglet to have something like "ASP.NET on steroids" - server-side controls with React UI. However, it's not a HTML passing over WebSockets, but controls state which takes much less traffic with smaller latencies.
AppVeyor has experienced DNS hiccup.