Flet 1.0 udgivet

Hvad Flet er teknisk set
Flet sidder oven på Flutter-motoren. Arkitekturen beskrives som Python-API i app-laget, hvor UI’et deklareres i Python, mens rendering sker i Flutter. Broen mellem Python og Dart omtales som en process‑intern “dart‑bridge” frem for sockets. Det giver lavere overhead, især når man sender hændelser og binære data frem og tilbage. Hvis dokumentationen bekræfter netop det—ingen sockets i pakkede builds—er gevinsten reel for latency og strømforbrug.
Platforme og byggeflow
CLI’en nævnes som ret komplet. Kommandoen flet build skulle acceptere målene apk, aab, ipa, ios-simulator, windows, macos, linux og web. Det dækker de store mål. I praksis kræver mobil-builds de sædvanlige værktøjer: Flutter SDK, Android SDK, Xcode og kode-signering for iOS. Det er ikke magi, det er standard native-krav. Hvis Flet automatiserer nok af rørføringen, slipper Python-holdet for at lære tre nye økosystemer på én gang.
Et lille sidespor. Man glemmer hurtigt app-størrelse. Når Python-runtime pakkes med native builds, vokser artefakterne. Det er nævnt, at Flet bundler Python 3.12, 3.13 eller 3.14. Fordelen er forudsigelighed og færre “works on my machine”-fejl. Ulempen er opdateringsstrategi: sikkerhedsopdateringer i Python betyder nye app-releases, ikke bare en virtuelenv-opdatering på serveren. Det kræver disciplin.
Web bygger på Pyodide
Web builds siges at bruge Pyodide, altså CPython kompileret til WebAssembly. Det gør det muligt at køre meget Python i browseren uden serverrundture. Versionskoblingen er central: hvis Flet matcher Pyodide-versioner til de bundtede Python-versioner, kan det gøre dependency-styring mere robust, men det låser også tempoet for opgraderinger. Dokumentation for præcis Pyodide-version per Python-version er værd at slå op, før man committer et stort projekt til 1.0.
Praktisk tip: mål load-tiden. Pyodide har forbedret koldstart markant de seneste år, men JS/wasm-download plus initialisering kan stadig mærkes på langsomme forbindelser. Et simpelt landing-view uden tunge imports først kan give en bedre førsteoplevelse.

Pakker, native afhængigheder og mobile support
MarkTechPost skriver, at Flets pakkeindeks rummer mere end 100 pakker, herunder NumPy, pandas, Matplotlib, Pillow, SciPy, scikit-learn, cryptography og pydantic-core. Og at en “mobile-forge”-pipeline bygger wheels til iOS og Android. Det er en stor del af værdien: Python-økosystemet, men mobilt. Der er dog altid et men. Tilgængeligheden afhænger af mål og bibliotek; nogle CPython-udvidelser har komplekse native afhængigheder eller kræver SIMD/BLAS-varianter, som ikke bare falder på plads på iOS.

Planlægges ML-features i en mobilapp: lav en konkret matrix før sprint 1. Hvilke versioner af NumPy og SciPy er testet på iOS-simulator og på fysisk ARM64-hardware? Findes der prebuilt wheels for netop den kombination? Hvor store er de? Og fungerer de sammen med den Pyodide-version, der bruges på web, hvis koden skal genbruges der? Tre korte checklister slår ét stort håb, hver gang.
Test, CI og kvalitetskontrol
Testmatrixen nævnes som bred: enhedstests for frameworket på Python 3.10 til 3.14, Flutter-side tests, integrationstests med skærmbillede-sammenligning og pakket app-tests på tværs af platforme—inklusive Linux ARM64 og mobile simulatorer. Hvis CI-konfigurationen afspejler det, er det ambitiøst. Og nødvendigt. Pakkede apps bærer deres egen runtime, så regressions er dyre, når de først er shipped.
I praksis vil en CI/CD-pipeline skulle have cache for Flutter SDK, mobilværktøjer og Python wheels. Screenshot-tests er følsomme: små rendering-forskelle mellem simulatorversioner kan give falske negativer. Pin versioner af simulatorer og systemfonte, og gem referencebilleder pr. platform. Kedeligt opsætningsarbejde—men det redder weekender.
Performance og broen til Flutter
Flet 1.0 omtaler forbedret “control diffing”, hvor ændrede properties spores mere præcist, og unødige sammenligninger droppes. Et benchmark kaldet 0.83 nævnes med op til 6,7 gange hurtigere diffing. Det lyder flot, men som altid: metodologi betyder alt. Hvilke kontroller, hvilke målinger, hvilken hardware? Uden de detaljer er tallet en indikator, ikke en garanti. Pointen består: hvis diffingen er skarpere, vil UI’et føles mere responsivt i almindelige formular- og listevisninger.

Kompatibilitet og værktøjer rundt om
Der peges på en deprecationspolitik, hvor API’er først markeres og først fjernes efter tre mindre releases. Det er et sundhedstegn for et 1.0-projekt. Omtalen nævner også en MCP-server, som kan forsyne AI-kodeassistenter med versionsspecifik viden om Flet-API’et og hjælpe med at slå eksempler og CLI-flags op. Ikke kritisk for produktion, men det hjælper teams i gang hurtigere og mindsker fejl ved opgraderinger.
Der er også huller at lukke: præcis Pyodide-version per web-build og hvilken strategi Flet anbefaler for pakkehåndtering i web-miljøet; dokumentation for mobile-forge-pipelinen og en liste over biblioteker, der eksplicit ikke virker på iOS/Android; og, vigtigst, uafhængige rapporter fra teams, der har kørt Flet i produktion i måneder, ikke uger.
Praktiske implikationer for udvikling og drift
Hvis Python er din hjemmebane, sænker Flet tydeligt startbarrieren for at bygge apps med en ordentlig UI. Prototype-hastighed går op, antallet af sprog i koden går ned, og integrationen til Python-biblioteker er tæt. Det kan rykke i dataapplikationer, interne værktøjer og AI-assistenter, hvor forretningslogikken allerede lever i Python.
Men: deployment og drift bliver mere “applikations-native”. Du skal planlægge release-cadence, runtime-opdateringer og sikkerhedsfixes for den bundtede Python. CI skal køre på tværs af platforme med Flutter og mobil-SDK’er tilgængelige. Og du bør tidligt lave en dependency-plan for mobil—ikke bare requirements.txt, men en platform-matrix med versionspinning og fallback-planer, hvis et hjørnebibliotek ikke spiller på iOS ARM64.

Hvad man bør teste først
Start lille. En skærm med en liste, et par formularfelter, lidt navigation. Mål koldstart, hukommelsesforbrug og input-latency på en ældre Android-enhed og en iPhone fra “to generationer siden”. Løb flet test med en simpel screenshot-sammenligning, men vær bevidst om font- og DPI-forskelle. Og test web-builden på et mobilnet med 3G-profileret throttling—nogle brugere lever stadig derude.
Når grundrytmen er god, tilføj de tunge biblioteker ét for ét. NumPy først. Så SciPy. Så scikit-learn. Verificer at hjulene faktisk er mobil-bygget, at import-tid er acceptabel, og at bundtet app-størrelse ikke gør OTA-opdateringer urealistiske. Lidt beskidt arbejde her sparer uger senere.
Hvad konkurrenterne vil påpege
Flutter- og React Native-lejrene vil sige, at man alligevel skal lære en UI-platform—så hvorfor ikke lære den “rigtige” med de bedste værktøjer og community-størrelse. De har en pointe: dokumentation, tredjeparts-komponenter og performance-tuning er ofte bedre beskrevet i de mere modne økosystemer. Modargumentet for Flet er fokuseret: hvis din organisations viden og kode er i Python, reducerer du friktion og kan flytte hurtigere de første seks måneder.
En anden kritik: app-størrelse og opdateringsbyrde med bundtet Python. Rigtigt. Det er prisen for forudsigelighed og “det kører ens hos alle”. Løsningen er at måle, tune og acceptere trade-offs. Ikke alt bør være en mobilapp. Nogle ting har det bedst som web.
Modenhed ved 1.0
Version 1.0 er et signal om API-stabilitet og en vis testdækning. Det er ikke et bevis. Dokumentationens bredde, eksempelsamlinger og tydelige migrationsguides fra 0.x-versioner er bedre indikatorer for modenhed. Omtalen siger, at opgraderingen fra 0.28 er en reel migration—fint, men så skal guiden være knivskarp. Tjek den.
Community-feedback er næste datapunkt. GitHub-issues, diskussioner på Hacker News eller indlæg fra Flutter/Python-udviklere på X og Dev.to giver ofte de første rå kanter: build-fejl på bestemte macOS-versioner, certifikatproblemer på iOS eller hjørnecases i web-builden. Læs dem før I beslutter et stort spor.
Konklusion
Flet 1.0 ligner et ægte bud på at lade Python-hold levere apps på tværs af platforme uden at forlade sproget. Arkitekturen med Flutter-rendering, en process‑intern bridge og en voksende pakkehistorik gør det til mere end en laboratoriedemo. Der er stadig åbne spørgsmål om mobilafhængigheder, Pyodide-versionering og langtidsholdbar drift. Fair nok. Man opdager først forskellen, når man sidder med det i hænderne.
Næste skridt er banalt, men effektivt: læs Flets 1.0-udgivelsesnoter, bekræft licens og installationsvejledning på PyPI, skim CI-workflows for testmatrixen, og byg en lille app gennem flet build til mindst to native-mål plus web. Notér tid, størrelse og CPU-spikes. Beslut ud fra data, ikke løfter.
Kildehenvisninger og materiale
Følgende kilder er brugt som udgangspunkt og bør konsulteres direkte for endelig verifikation, inklusiv versionsnumre, licens og kommandoflag:
- MarkTechPost: Flet 1.0 Released: Build Production Web, Desktop and Mobile Apps in Python Only
- Flets GitHub-repository og releases for 1.0.0, inkl. README og docs om arkitektur og dart-bridge
- Flet på PyPI for licens, versionskrav og installationsinstruktion
- CLI-dokumentation for flet build og målplatforme
- CI-workflows i .github/workflows for testmatrixen og mobil-simulator-tests
- Community-diskussioner og issues om mobil-wheels, Pyodide-versioner og performance