Top
Best
New

Posted by absqueued 12 hours ago

Flet 1.0 – Build cross-platform apps in Python(flet.dev)
117 points | 52 comments
quietbritishjim 2 hours ago|
Wow there's a surprising amount of negativity here.

I've used this for a fairly complex app at work and it's great. (It's certainly not vibe coded as one commenter suggested.) It's a Python layer on top of Flutter, and it was the only UI framework I could find for Python that was fast and worked on all major desktop and mobile OSs. I think maybe Kivy could too but it seemed like it would be an uphill struggle for a good desktop app.

It's a bit of a gateway drug for pure Flutter. If you need some complex, quickly updating control then you can write a Flutter control (in Dart) and wrap it in a Flet (for Python) control for better performance than doing it all in Python. I've ended up doing that for the main display in our app, and there's always the option to move more and more business logic into that.

One downside to Flet is that I wish they didn't try "fix" some design decisions in Flutter. For example, they have a Flet "Container" widget that wraps a bunch of different Flutter layout widgets. The Flet version does seem easier to understand to me, but there's just so much more documentation (and StackOverflow answers etc.) for Flutter than for Flet that it would be easier overall if they just mirrored the Flutter controls precisely.

norman784 1 hour ago||
I would think about if it was at least Go or Rust, but yet another interpreted language built on top of other abstractions? No thanks, I had my fair share of Xamarin, React Native, Electron, Tauri and TBH building native is the best (more work, sure, but at least when you have bugs or issues, it's easier to find solutions), with abstractions you need to deal with bugs on each layer.

Also in the era of AI, sharing native code is easier than ever, just compile down to WASM for the web and for the other binary.

bnchrch 9 hours ago||
Python needs to be in less places not more.

I believe Python has done more harm than good to the industry.

Its by nature very inefficient, it leads you in the direction to some very poor abstractions (inheritance, monkey patching, mixins etc) and as a result code that is very prone to subtle bugs and issues.

It deserves all the love it gets as an approachable language, but it deserves a lot more flack for everything else.

skeledrew 7 hours ago||
Big disagree. I've been following this project since it's early days, and have made a few projects based on it. I haven't been bitten by any "inefficiencies" in such a way that'd make me give up the language. And at this very moment I'm working on what's essentially a Python REPL that can build and return Flet controls (as well as the traditional string result), making writing and running adhoc native "applets" fully on mobile a possibility (haven't seen anything else that does this).
noufalibrahim 3 hours ago||
I'm in the middle. I've been using Python since the early 2.x series.

The good parts are that the inbuilt data structures and their apis are efficient and clean enough to write code that's mostly readable. Most of the heavy lifting is done in hand tuned C and performance intensive external modules are also written in C. There are several good projects that are written using it and while it's not theoretically perfect, it's useful enough. Like Stroustrup said - there are 2 kinds of the languages, ones that everyone complains about and ones that no one uses.

The bad parts are that it's very easy to use. Almost in a Visual Basic "producing crap just takes a squeeze" kind of way. It opened up programming to a lot of people (the genesis of Python was in the CP4E project - where this was the aim). This resulted in a lot of bad patterns, inefficient code, badly written but popular libraries. Also, the indentation idiom and other restrictions resulted in a lot of convoluted APIs.There's also a lot of baggage from the pre multi-core CPU era (threading etc.).

I still think of it as a great glue language. If there are libraries that are fast and can run well, a good FFI or wrapper which Python can leverage will amplify the reach and usability of the library.

On the overall, a language that's older than the venerable Java which people are still using (and hence complaining about) speaks to its longevity. So, atleast by that definition, it is successful.

pjmlp 2 hours ago||
At least BASIC was originally designed as compiled language, only the 8 bit home computers made interpreter versions more widely known due to their hardware limitations.

Starting with version 5, Visual Basic "crap" was using the same compiler backend as Visual C++.

unsungNovelty 4 hours ago|||
But when it comes to GUI toolkits, which of them are efficient? React Native, Tauri, Electron. I don't see a efficient one other than Native toolkits. Even they have their own problems.

PS: Loved your website's (https://ben.church/) messaging for different audiences. Especially the "My Wife" one. Gave me a good laugh. :)

IshKebab 2 hours ago|||
I agree. They got some things right - the indentation based syntax is quite approachable even if it breaks down quite quickly (e.g. `lambda`), and infinite precision integers are fantastic.

But it's soooooo slow, tooling was abysmal until uv came on the scene (which some people still don't use), it has a ton of old janky APIs, and features like implicit bool coercion.

I wish there was a popular scripting language that was good. Modern robust semantics, infinite precision integers, static typing, good tooling, easy to embed. As far as I can tell it doesn't exist. Roto is the closest I've seen but it's moderately domain specific and doesn't have arbitrary precision integers.

PostOnce 7 hours ago||
Choosing to build an application around a framework whose top contributors are Claude and Copilot may have catastrophic consequences for your project, especially if it's a business.
nop17 2 hours ago||
I built an iOS app with python library as core component and SwiftUI as UI layer. It is not fun to cross compile the dependencies for iOS, I need implement the iOS interfaces, cannot just simplify use macos for native api. There is a good beeware project port a lot python libraries to iOS. Without that to port from scratch would be a lot of work for a middle size apple.
pietz 9 hours ago||
Using a to-do list app as the first example to advertise a new app framework is absolutely wild in Q3 2026.
hackyhacky 9 hours ago|||
Is it more fashionable to build an AI harness?
taude 9 hours ago|||
We should go back to petstore examples.
brazukadev 9 hours ago|||
A blog in 15 minutes would be great.
hackyhacky 8 hours ago||
That's fine, but a blog doesn't seem technically more demanding or interesting than a to-do list
taude 7 hours ago||
wasn't the original ruby on rails demonstrating how to create a blog? I think it was a call back to that 2004 era....
quietbritishjim 1 hour ago|||
I genuinely have no idea what this comment is about. Why is a to do list a bad example? It's common precisely because it's ideal: it shows a few different basic widgets, and it shows how to update state in a way that keeps them in sync.

Is it because it's clichéd? That doesn't matter so long as it gets the point across.

Is it because you object to having desktop applications that do a simple task like this? I remember when simple single-purpose desktop apps were common e.g. Card File in Windows 3.1. Also this is meant to be an example for both desktop and mobile. Are only SPA web pages allowed to do things like this now? What a depressing world if so.

Or is your comment satire? I honestly can't tell.

Edit: What would you allow as a first example of a new UI toolkit. (Not that Flet is new, it's had plenty of 0.x releases.)

pietz 40 minutes ago||
I don't think there is demand for this framework in the first place.

- Cross platform frameworks are starting to become an anti pattern these days

- Hello world examples are losing relevance when I'm not the one writing code

- A To Do list is just the absolute least impressive thing you can showcase

From a marketing perspective, I want to showcase something that other frameworks cannot do and "this only took 10 lines of Python code" is a very weak sales pitch in 2026.

stackghost 5 hours ago|||
Why?
pietz 1 hour ago||
Because it's literally the least impressive thing you can build and in a world where I don't write the code anyway, a "hello world" example has lost its place (at least for human viewers).
keyle 8 hours ago|||
They didn't even show a prompt box with starry icon button!
LoganDark 4 hours ago|||
It's one of the standard benchmarks for web frameworks.

No clue why it's being done here.

brazukadev 9 hours ago||
Specially one looking so bad.
40four 6 hours ago||
I built a few Kivy apps years ago at an old job. It was a little clunky, but it got the job done. Haven’t heard of this framework yet, I wonder how compares in developer experience? Anyone have any experience with it?

The problem is I don’t want to use Python for everything that bad. If I’m going to reach for a cross platform toolkit these days, I’m personally going to reach for Tauri. Could be useful if you’re really married to Python I suppose.

ChrisChou 3 hours ago||
My personal stance on this type of UI framework is that I won't waste my time on it unless I see it being used in mature, large-scale applications. Complex software often involves dealing with obscure edge cases; you certainly wouldn't want to spend a huge amount of time building an app, only to discover that the framework itself has serious flaws that make it impossible to proceed.
easytiger 2 hours ago|
What is the point of this comment?

To paraphrase you: "no one should release new open source software libraries because it is not enterprise ready on day one with thousands of deployments and every feature imaginable".

If you don't want to use it, don't use it

wiseowise 56 minutes ago||
What is the point of this comment?

To paraphrase you: “if you have objective reasons preventing you from adopting the code then keep them to yourself because I concluded they’re bad vibes”.

ricardobeat 8 hours ago||
Is there a downloadable sample somewhere? Would like to see how large a native build is.
skeledrew 6 hours ago|
Native build size depends on what you want in the app, like the app I'm currently working on is almost 300MB, but I've added a few custom extensions to it (charts, iroh, and more). Earliest APK I can find is 140MB. In this day and age I honestly wouldn't worry much about app size though given how much storage devices have.
eviks 6 hours ago||
Given the prices of storage and ram you should still worry about wasting user resources
bobajeff 11 hours ago|
Interesting, looks like this is a framework built on Flutter.
absqueued 11 hours ago|
Yeah, I have been doing a small poc for mobile, then did a web export (why not) and the entire web app is one giant <canvas> element.

I have never written web app with Flutter so this caught me by surprise.

More comments...