فلاتر یک فریم ورک متن باز برای ساخت اپلیکیشنهای موبایل است. این کتابخانه توسط شرکت گوگل در سال 2017 معرفی شد و در مقایسه با React یا سایر فریم ورکهای ساخت اپلیکیشن مبتنی بر موبایل عمر زیادی ندارد. فلاتر با زبان برنامه نویسی دارت نوشته شده است، یک زبان چندمنظوره و شی گراء که هنوز آنطور که باید و شاید بر سر زبانها نیفتاده و محبوبیت زیادی ندارد. با یادگیری زبان دارت و فریم ورک فلاتر میتوانید برای اندروید و iOS اپلیکیشن بسازید. جالب است بدانید علی بابا، یکی از بزرگترین شرکتهای چینی در دنیا به فلاتر اعتماد کرده و اپلیکیشن خود را با این فریم ورک ساخته است. در این مطلب بررسی خواهیم کرد که فریم ورک Flutter چیست و چه کاربردهایی دارد.
اگر علاقهمند به توسعه اپلیکیشنهای اندرویدی با فریم ورک فلاتر هستید پیشنهاد میکنیم به صفحه دوره آموزش فلاتر سون لرن سری بزنید و از مشاوران ما در رابطه با یادگیری این فریم ورک برنامه نویسی راهنمایی بگیرید.
میدانیم که زبان اصلی برنامه نویسی اندروید، جاوا است و برنامه نویسان iOS هم از Swift برای توسعه اپلیکیشنهای موبایلی استفاده میکنند. جاوا پیچیدگیهای خاص خودش را دارد و شاید کار با آن به اندازه زبانهایی مثل پایتون یا جاوا اسکریپت راحت نباشد. همین مساله باعث شده که سایر زبانها هم برای توسعه برنامههای موبایلی به کار گرفته شوند. مثلا React یک راه حل نسبتا آسان برای ساخت اپلیکیشنهای موبایل مبتنی بر جاوا اسکریپت است. یا فلاتر که یک پیادهسازی خوب از زبان دارت است.
به نظر میرسد گوگل میخواهد سرویسهای مختلف خود را به هم مرتبط کند و عطش این شرکت برای برای تصاحب بازارهای مختلف تمامی ندارد. گوگل بعد از اندروید و موفقیت بی سابقه آن روی یک پلتفرم جدید به نام Fuchsia کار میکند. یک سیستم عامل جدید که برخلاف اندروید مبتنی بر هسته لینوکس نیست و از یک ریزهسته جدید به نام Zircon استفاده میکند. همینطور زبان دارت و یک فریم ورک به نام Flutter که قرار بود پلی برای ورود برنامههای موبایل به سیستم عامل جدید گوگل یعنی Fuchsia باشد را معرفی کرد.
بررسی معماری فریم ورک Flutter
- پلتفرم دارت: هسته اصلی فلاتر را زبان دارت تشکیل میدهد. اما گوگل برای توسعه سرویس خود و اضافه کردن قابلیتهای جدید، از زبانهای دیگر هم استفاده کرده است.
- موتور فلاتر: به زبان C++ نوشته شده و به کمک کتابخانه گرافیکی Skia گوگل، این فریم ورک از رندرگیری سطح پایین (Low Level) پشتیبانی میکند. این موتور کتابخانههای هسته فلاتر را به پروژه اضافه میکند. کتابخانههایی مثل انیمیشن، گرافیک، فایل، ورودی و خروجی شبکه و غیره.
- کتابخانه Foundation: کتابخانه فاندیشن که به زبان دارت نوشته شده است شامل تعدادی کلاس و تابع است و اجازه میدهد برنامهها با فلاتر بسازید. مثلا برقرای ارتباط با موتور فلاتر به کمک APIها یک از این موارد است.
- ابزارکهای طراحی خاص: فلاتر از دو گروه ویجت استفاده میکند. یکی متریال دیزاین که همان زبان طراحی معروف گوگل است و یکی هم ویجت Cupertino که طراحی اپل را شبیه سازی میکند.
مزایای استفاده از فریم ورک فلاتر
در این قسمت، صرف نظر از اینکه رقبای فلاتر چه امکاناتی دارند و بدون مقایسه کردن این فریم ورک با آنها، به بررسی مزایای فلاتر پرداختهایم.- بازدهی مناسب: با توجه به اینکه فلاتر Cross Platform است، میتوانید با آن هم برای اندروید هم برای iOS اپلیکیشن بسازید. به این شکل هم در زمان و هم در هزینههای خود صرفه جویی خواهید کرد.
- کدهای دارت بدون نیاز به مدل OEM به کدهای Native تبدیل میشوند. چون داخل فلاتر این مدل قرار دارد.
- توسعه سریع و آسان: یکی از جذابترین قابلیتهای فلاتر Hot Reload نام دارد. فرض کنید در محیط اندروید استدیو در حال ساخت اپلیکیشن هستید. برای تست برنامه خود آن را در یک شبیهساز اجرا میکنید. بعد احساس میکنید که یک بخشی از کد نیاز به تغییر دارد، تغییر خود را اعمال کرده و میبینید که بدون نیاز به ریستارت کردن شبیه ساز تغییرات اعمال شده قابل مشاهده هستند. این تکنیک در تغییر UI، اضافه کردن قابلیت جدید و دیباگ کردن پروژه بسیار به برنامه نویس کمک میکند.
- یادگیری فلاتر و کار با آن آسان است. اگر قبلا با زبانهای شی گرا (OOP) کار کرده باشید، شروع کار خیلی آسان خواهد شد. حتی اگر هیچ شناختی روی زبانهای برنامه نویسی ندارید، زبان دارت به خوبی توسط گوگل مستندسازی شده و یک زبان سطح بالا به حساب میآید. میتوانید با دارت کار کرده و بعد وارد دنیای فلاتر شوید.
- سازگاری: از آنجایی که ابزارهای مورد استفاده ما (Widgets) بخشی از برنامه ما حساب میشوند نه پلتفرم یا سیستم عاملی که روی آن اجرا میشوند، در فلاتر وابستگی زیادی به نوع سیستم عامل یا نسخه آن نداریم. این یعنی پروژه ما احتمالا روی نسخههای مختلف یک سیستم عامل به درستی اجرا میشود و کار ما در تست محصول سبکتر است.
- هم فریم ورک فلاتر هم زبان برنامه نویسی دارت، اوپن سورس بوده و همچنین به طور رایگان ارائه میشوند. همینطور مستندسازی قدرتمند یادگیری آنها را آسانتر میکند. وجود انجمنهای متنوع در ما این اعتماد را به وجود میآورد که برنامه نویسان زیادی هنگام وجود مشکل میتوانند به ما کمک کنند.