پرش به محتوای اصلی
پرش به محتوای مقاله

آیا فلت ۱.۰ می‌تواند جایگزین زبان‌های تخصصی در توسعهٔ اپلیکیشن شود؟

·۳۰ شهریور ۱۴۰۵۴ دقیقه مطالعه۲ بازدید
نسخه ۱.۰ فلت منتشر شد: ساخت اپلیکیشن وب، دسکتاپ و موبایل با تنها پایتون
نسخه ۱.۰ فلت منتشر شد: ساخت اپلیکیشن وب، دسکتاپ و موبایل با تنها پایتون
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

انتقال Flet از یک فریم‌ورک آزمایشی به یک SDK تجاری با بهبود ۶.۷ برابری در سرعت تطبیق UI و معرفی پل ارتباطی مستقیم بین پایتون و دارت.

اگر امروز می‌خواهید یک اپلیکیشن حرفه‌ای برای iOS و اندروید بسازید، مجبورید یا با زبان‌های پیچیده دست‌وپنجه نرم کنید یا هزینه‌ی تیم‌های مختلف را بپردازید. اما حالا می‌توانید تمام این مسیر را تنها با پایتون طی کنید و خروجی را روی ۸ پلتفرم مختلف اجرا کنید.

Flet 1.0 که هفته‌ی گذشته منتشر شد، از یک چارچوب آزمایشی به یک SDK آماده برای محیط‌های تجاری تبدیل شده است. در حالی که پایتون مدت‌هاست که قدرتی بی‌رقیب در منطق بک‌اند (Backend) داشته است، عرضه اپلیکیشن‌های سطح تولید برای iOS، اندروید، ویندوز، macOS، لینوکس و وب معمولاً مستلزم تسلط بر زبان‌های Dart یا JavaScript بود. نسخه ۱.۰ فلت این وضعیت را تغییر می‌دهد و به توسعه‌دهندگان اجازه می‌دهد تنها با استفاده از پایتون، تمام این هشت پلتفرم را هدف قرار دهند.

این ابزار در واقع مانند یک مترجم عمل می‌کند که کدهای پایتون شما را به ویجت‌های Material و Cupertino تبدیل می‌کند که توسط موتور Flutter رندر می‌شوند. این رویکرد نیاز توسعه‌دهندگان به نگهداری پایگاه‌های کد (Codebases) مجزا برای سیستم‌عامل‌های مختلف را کاملاً از بین می‌برد.

همان‌طور که در تحلیل قبلی ما درباره‌ی ابزارهای تبدیل توصیفات AI به اپلیکیشن‌های بومی (مانند StemJSON) اشاره کردیم، حذف موانع زبانی در توسعه نرم‌افزار یک روند رو به رشد است. فلت با حذف نیاز به یادگیری Dart یا JavaScript، اجازه می‌دهد توسعه‌دهنده روی منطق برنامه تمرکز کند، نه روی پیچیدگی‌های هر سیستم‌عامل.

زمینه و استقرار

انتشار این نسخه تقریباً چهار سال پس از شروع پروژه صورت می‌گیرد. نسخه Flet 1.0.0 اکنون تحت لایسنس Apache 2.0 در PyPI در دسترس است. برای استفاده از این SDK، توسعه‌دهندگان به پایتون ۳.۱۰ یا نسخه‌های جدیدتر نیاز دارند.

طبق گزارش marktechpost.com، نسخه ۱.۰ فلت یک خط لوله ساخت (Build Pipeline) قدرتمند معرفی کرده است که از ۸ هدف خاص پشتیبانی می‌کند: apk، aab، ipa، ios-simulator، windows، macos، linux و web. این چارچوب اکنون نسخه‌های پایتون ۳.۱۲، ۳.۱۳ یا ۳.۱۴ را همراه با اپلیکیشن نهایی بسته‌بندی می‌کند تا سازگاری زمان اجرا (Runtime Consistency) در تمامی دستگاه‌ها تضمین شود. برای نسخه‌های وب نیز از انتشار متناظر Pyodide استفاده می‌شود.

جزئیات فنی و عملکرد

نسخه ۱.۰ به شدت بر روی بهره‌وری و تجربه توسعه‌دهنده متمرکز شده است:

  • تطبیق رابط کاربری (UI Reconciliation): یک سیستم جدید برای ردیابی ویژگی‌های تغییریافته پیاده‌سازی شده است. بر اساس بنچ‌مارک‌های 0.83، سرعت تشخیص تفاوت‌ها (Control Diffing) تا ۶.۷ برابر بهبود یافته است. این سیستم شبیه به یک ویراستار است که فقط کلمات تغییریافته یک متن را اصلاح می‌کند تا سرعت کار بالا برود.
  • پل دارت (Dart-Bridge): اپلیکیشن‌های بومی اکنون از یک کانال ارتباطی مستقیم بین محیط‌های اجرای پایتون و دارت در یک پردازش واحد استفاده می‌کنند. این کار باعث حذف سربار سوکت‌ها (Sockets) شده است. همچنین کانال‌های اختصاصی برای انتقال داده‌های باینری ایجاد شده است.
  • اکوسیستم بسته‌ها: شاخص بسته‌های فلت اکنون از بیش از ۱۰۰ کتابخانه پشتیبانی می‌کند، از جمله NumPy، pandas، Matplotlib، Pillow، SciPy، scikit-learn، cryptography و pydantic-core. همچنین یک خط لوله به نام mobile-forge، ساخت wheelها را برای iOS و اندروید خودکار می‌کند. این تنوع در کتابخانه‌ها، پایتون را در برابر جایگزین‌هایی قرار می‌دهد که در محیط‌های .NET برای بهینه‌سازی زیرساخت‌ها به کار می‌روند.
  • رابط کاربری توصیفی (Declarative UI): اگرچه سبک امری (Imperative) همچنان پشتیبانی می‌شود، اما فلت اکنون رویکردی توصیفی را ترویج می‌کند که در آن رابط کاربری تابعی از وضعیت (State) برنامه است؛ یعنی هر تغییری در داده‌ها، فوراً و خودکار در ظاهر برنامه منعکس می‌شود. Flet Studio و اپلیکیشن موبایل فلت هر دو با این سبک توصیفی ساخته شده‌اند.
  • بسته‌بندی اندروید: سیستم بسته‌بندی بازطراحی شده است و اکنون بسته‌های پایتون را مستقیماً از داخل APK بارگذاری می‌کند، بدون اینکه نیازی به استخراج (Extraction) آن‌ها باشد.

تست و پایداری

برای تضمین پایداری، تیم توسعه یک ماتریس تست سخت‌گیرانه را اجرا کرده است. این شامل تست‌های واحد (Unit Tests) چارچوب در نسخه‌های پایتون ۳.۱۰ تا ۳.۱۴ و تست‌های مربوط به بخش Flutter است. تست‌های یکپارچه‌سازی (Integration Tests) برای کنترل‌ها و مثال‌ها، اسکرین‌شات‌ها را با هم مقایسه می‌کنند تا باگ‌های عملکردی و پس‌رفت‌های بصری (Visual Regressions) شناسایی شوند.

تست‌های بسته‌های باینری پایتون، کتابخانه‌های بومی را روی اندروید و شبیه‌ساز iOS آزمایش می‌کنند. خط لوله موبایل به‌طور خاص برای پایتون ۳.۱۲، ۳.۱۳ و ۳.۱۴ ساخت را انجام می‌دهد. علاوه بر این، دستور flet test می‌تواند اپلیکیشن‌های بسته‌بندی شده را روی هر ۵ پلتفرم بومی، از جمله Linux ARM64 اجرا کند. توسعه‌دهندگان می‌توانند تست‌های یکپارچه‌سازی خود را با استفاده از pytest و از طریق flet test روی نسخه‌های بسته‌بندی شده بنویسند.

برای کسانی که از هوش مصنوعی در گردش کار خود استفاده می‌کنند، فلت یک سرور MCP (پروتکل زمینه مدل) راه‌اندازی کرده است. این ابزار به دستیارهای کدنویسی AI اجازه می‌دهد تا اطلاعات دقیق API مربوط به نسخه‌ها، آیکون‌ها و گزینه‌های CLI را دریافت کنند. همچنین Flet Studio محیطی مبتنی بر مرورگر با یک عامل AI داخلی برای نمونه‌سازی سریع فراهم کرده است و پروژه‌ها برای توسعه محلی قابل دانلود هستند. این رویکرد در راستای کاهش هزینه‌های توسعه است، مشابه آنچه در ادغام مدل‌های پیشرفته GPT در محیط‌های کدنویسی مشاهده کردیم تا سرعت تبدیل ایده به محصول افزایش یابد.

این تغییر، تحلیل هزینه-فایده را برای تیم‌های پایتون‌محور دگرگون می‌کند. پیش از این، توسعه‌دهندگان باید بین قدرت پایتون در بک‌اند و ظاهر حرفه‌ای در فرانت‌اند (که با زبانی متفاوت نوشته می‌شد) یکی را انتخاب می‌کردند، اما حالا یک پشته تک‌زبانه (Single-language stack) دیگر یک سازش نیست، بلکه یک مزیت رقابتی در سرعت عرضه محصول به بازار است.

توسعه‌دهندگانی که از نسخه ۰.۲۸ ارتقا می‌دهند باید بدانند که این یک مهاجرت بزرگ است، زیرا مدیریت رویدادها (Handlers) اکنون روی یک حلقه (Event Loop) واحد اجرا می‌شود. سیاست سازگاری جدید به این صورت است که APIها پیش از حذف، ابتدا منسوخ (Deprecate) می‌شوند که این فرآیند معمولاً در طول سه نسخه جزئی (Minor Releases) رخ می‌دهد. برای شروع می‌توانید از دستور pip install 'flet[all]' استفاده کنید و کامپوننت‌های توصیفی جدید را در مستندات رسمی بررسی نمایید.

گام بعدی شما

  • اگر پروژه‌ای دارید که نیاز به حضور در وب و موبایل دارد، با نصب Flet و تبدیل منطق پایتون خود به رابط کاربری Flutter شروع کنید.
  • محیط Flet Studio را برای تست سریع ایده‌هایتان با کمک عامل AI داخلی امتحان کنید.
  • مستندات مربوط به کامپوننت‌های توصیفی (Declarative) را بخوانید تا ساختار کدتان را بهینه کنید.

اما داستان سخت‌افزاری اجرای این مدل‌ها روی دستگاه‌های لبه حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی رایانش لبه مراجعه کنید.

چرا این موضوع مهم است؟

این ابزار با تکیه بر اعتبار موتور Flutter، هزینه و زمان توسعه اپلیکیشن‌های چندپلتفرمی را برای جامعه پایتون به شدت کاهش می‌دهد. این یعنی تیم‌های کوچک می‌توانند بدون استخدام متخصصین Swift یا Kotlin، محصولاتی در سطح استانداردهای تجاری عرضه کنند.

تأثیر برای ایران

برای برنامه‌نویسان ایرانی که در محیط‌های استارتاپی با بودجه محدود فعالیت می‌کنند، این ابزار امکان تولید سریع MVP برای موبایل و وب را بدون نیاز به تیم‌های مجزا فراهم می‌کند.

·نگاه ما
تحریریه دات‌هوش

تمرکز Flet بر روی یک پشته تک‌زبانه، در واقع پاسخی به خستگی توسعه‌دهندگان از مدیریت چندین زبان در یک پروژه است. این رویکرد نشان می‌دهد که آینده توسعه اپلیکیشن به سمت «انتزاع کامل از پلتفرم» می‌رود، جایی که زبان برنامه‌نویسی دیگر محدود به یک محیط خاص نیست و تنها ابزاری برای تعریف منطق است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.