آموزش ساخت اپلیکیشن چندسکویی با پایتون و فلت (Flet)

معرفی فریمورک متن‌باز Flet برای ساخت اپلیکیشن‌های وب، دسکتاپ و موبایل تنها با زبان پایتون و بدون نیاز به دانش فرانت‌اند.

🎧 خلاصه صوتی مقاله (پادکست ۲ دقیقه‌ای):

فرصت مطالعه ندارید؟ چکیده این مطلب را همین‌جا گوش دهید:

ساخت اپلیکیشن برای پلتفرم‌های مختلف معمولاً نیازمند یادگیری چندین زبان و ابزار پیچیده فرانت‌اند است. اگر برنامه‌نویس پایتون هستید و می‌خواهید بدون درگیر شدن با جاوااسکریپت، HTML یا CSS برنامه‌هایی زیبا برای وب، دسکتاپ و موبایل بسازید، فریمورک متن‌باز Flet پاسخگوی نیاز شماست. این ابزار به شما اجازه می‌دهد تنها با نوشتن کدهای پایتون، رابط‌های کاربری تعاملی و مدرن خلق کنید و آن‌ها را روی شش پلتفرم مختلف منتشر کنید.

نمایی از محیط Build cross-platform apps in Python | Flet
نمایی از محیط Build cross-platform apps in Python | Flet
نام ابزارفلت (Flet)
نوع مجوز (لایسنس)متن‌باز (Open Source)
زبان برنامه‌نویسی اصلیپایتون (Python)
پلتفرم‌های پشتیبانی‌شدهiOS، اندروید، ویندوز، مک‌او‌اس، لینوکس، وب
وضعیت دسترسی ایرانبدون محدودیت خاصی (قابل نصب از مخازن پایتون)

Flet چیست و چه مشکلی را حل می‌کند؟

توسعه رابط کاربری گرافیکی (GUI) در پایتون سال‌هاست با ابزارهای قدیمی مانند Tkinter یا PyQt انجام می‌شود که ظاهر آن‌ها گاهی کهنه به نظر می‌رسد یا فرآیند انتشارشان روی موبایل و وب بسیار پیچیده است. فلت با بهره‌گیری از قدرت موتور زیرساختی خود، بیش از ۱۵۰ کنترل و سرویس آماده شامل منوها، فرم‌ها، ناوبری‌ها و دیالوگ‌ها را در اختیارتان می‌گذارد. شما نیازی به دانش قبلی فرانت‌اند ندارید و تمام ارکان برنامه با منطق پایتون مدیریت می‌شوند.

یکی از مزیت‌های بزرگ این ابزار امکان استفاده از کتابخانه‌های محبوب پایتون مانند NumPy، pandas، Pillow و cryptography در کنار رابط کاربری است. بسته‌های از پیش‌کامپایل‌شده برای اندروید و iOS شما را از درگیر شدن با وابستگی‌های بومی (Native Dependencies) بی‌نیاز می‌کنند.

نصب و راه‌اندازی Flet

برای شروع کار با فلت به صورت محلی (Local)، نیازی به ابزارهای پیچیده ندارید. کافی است ابزار مدیریت بسته پایتون یعنی pip یا uv را روی سیستم خود داشته باشید. دستور زیر محیط شما را برای اجرای برنامه‌ها آماده می‌کند:

pip install flet

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

اولین اپلیکیشن: ساخت شمارنده تعاملی

برای درک نحوه کارکرد Flet، یک مثال ساده از ساخت یک برنامه شمارنده (Counter) را بررسی می‌کنیم. این کد یک متن ساده و یک دکمه شناور ایجاد می‌کند که با هر بار کلیک، مقدار عدد را افزایش می‌دهد.

import flet as ft

def main(page: ft.Page):
    counter = ft.Text("0", size=50, data=0)
    
    def increment(e):
        counter.data += 1
        counter.value = str(counter.data)
        counter.update()
    
    page.floating_action_button = ft.FloatingActionButton(
        icon=ft.Icons.ADD, on_click=increment
    )
    
    page.add(
        ft.Container(
            content=counter,
            alignment=ft.Alignment.CENTER,
            expand=True,
        )
    )

ft.run(main)

توضیح بخش‌به‌بخش کد:

  • import flet as ft: کتابخانه اصلی فلت را با نام اختصاری ft وارد برنامه می‌کند.
  • def main(page: ft.Page): تابع اصلی برنامه است که صفحه اصلی اپلیکیشن را مدیریت می‌کند.
  • counter = ft.Text(...): یک المان متنی با اندازه ۵۰ پیکسل برای نمایش عدد شمارنده می‌سازد.
  • increment(e): تابعی است که هنگام کلیک روی دکمه اجرا شده، مقدار متغیر را یکی افزایش داده و مقدار متن را به‌روزرسانی می‌کند.
  • page.floating_action_button: یک دکمه شناور با آیکون مثبت (+) در گوشه صفحه قرار می‌دهد.
  • ft.run(main): برنامه را اجرا می‌کند.

برای اجرای این کد، کافی است آن را در فایلی به نام counter.py ذخیره کرده و دستور زیر را در ترمینال اجرا کنید:

flet run counter.py

قابلیت‌های پیشرفته و انتشار

پس از اینکه اپلیکیشن خود را توسعه دادید و آن را تست کردید، فلت ابزارهای قدرتمندی برای مراحل بعدی در اختیارتان می‌گذارد:

  • بسته‌بندی برای فروشگاه‌ها: با استفاده از دستور flet build می‌توانید خروجی‌های استاندارد برای دسکتاپ، موبایل (آماده برای انتشار در App Store و Google Play) و وب تهیه کنید.
  • اجرا در مرورگر: کدهای پایتون شما به کمک Pyodide و WebAssembly قابلیت اجرا مستقیماً درون مرورگر را دارند.
  • تست و ارزیابی: امکان نوشتن تست‌های پایتون با pytest برای بررسی رفتار دکمه‌ها و فرم‌ها در اپلیکیشن بسته‌بندی‌شده فراهم است.

پرسش‌های متداول

آیا برای کار با فلت به دانش HTML یا CSS نیاز دارم؟

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

چگونه می‌توانم بدون نصب ابزار خاصی کدهای Flet را تست کنم؟

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

آیا این فریمورک برای پروژه‌های تجاری رایگان است؟

بله، Flet یک ابزار متن‌باز است و می‌توانید از آن برای ساخت و انتشار برنامه‌های شخصی و تجاری خود استفاده کنید.

جمع‌بندی

فریمورک Flet راهکاری سریع، مدرن و کارآمد برای برنامه‌نویسان پایتون است که می‌خواهند ایده‌های خود را به اپلیکیشن‌های واقعی روی موبایل، وب و دسکتاپ تبدیل کنند. با داشتن بیش از ۱۵۰ کنترل آماده و عدم نیاز به پیچیدگی‌های فرانت‌اند، می‌توانید تمرکز خود را کاملاً روی منطق برنامه و داده‌ها بگذارید. اگر به یادگیری ابزارهای کاربردی علاقه دارید، مطالعه مقاله ابزار Token Monitor؛ مدیریت و ردیابی رایگان توکن و هزینه‌های هوش مصنوعی نیز می‌تواند برای بهینه‌سازی پروژه‌های نرم‌افزاری‌تان مفید باشد.

مشاهده‌ی پروژه در GitHub

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *