Flutter چیست؟
فریم ورک فلاتر در سال ۲۰۱۷ توسط گوگل برای ساخت اپلیکیشن های موبایل معرفی شد که با زبان برنامه نویسی دارت نوشته شده است و استفاده از آن بصورت رایگان می باشد.
در حال حاضر فلاتر امکان طراحی برنامه برای تمام پلتفرم های موبایل، وب و دسکتاپ را دارد. جالب است بدانید علی بابا، یکی از بزرگترین شرکتهای چینی در دنیا از Flutter برای طراحی اپلیکیشن خود استفاده نموده است.
زبان اصلی برنامه نویسی اندروید، جاوا است و برنامه نویسان iOS هم از Swift برای توسعه اپلیکیشنهای موبایلی استفاده میکنند. جاوا پیچیدگیهای خاص خودش را دارد، همین مساله باعث شده که سایر زبانها هم برای توسعه برنامههای موبایلی به کار گرفته شوند. مثلا React و یا Flutter یک راه حل نسبتا ساده برای ساخت اپلیکیشنهای موبایل ارائه می نمایند.
به نظر میرسد گوگل تصمیم دارد سرویسهای مختلف خود را به هم مرتبط کند. گوگل بعد از اندروید و موفقیت بی سابقه آن روی یک پلتفرم جدید به نام Fuchsia کار میکند. یک سیستم عامل جدید که برخلاف اندروید مبتنی بر هسته لینوکس نیست و از یک ریز هسته جدید به نام Zircon استفاده میکند. همچنین زبان دارت و فریم ورک Flutter را برای ورود برنامههای موبایل به سیستم عامل جدید گوگل یعنی Fuchsia را معرفی کرد.
بررسی معماری فلاتر
پلتفرم دارت: هسته اصلی فلاتر را زبان دارت تشکیل میدهد. اما گوگل برای توسعه سرویس خود و اضافه کردن قابلیتهای جدید، از زبانهای دیگر هم استفاده کرده است.
موتور فلاتر: به زبان ++C نوشته شده و به کمک آن، کتابخانههای هسته فلاتر به پروژه اضافه می گردد. کتابخانههایی مثل انیمیشن، گرافیک، فایل، ورودی و خروجی شبکه و غیره.
کتابخانه Foundation: شامل تعدادی کلاس و تابع است و اجازه میدهد که برنامهها را با فلاتر بسازید. مثلا برقرای ارتباط با موتور فلاتر به کمک APIها یکی از این موارد است.
ابزارکهای طراحی خاص: فلاتر از دو گروه ویجت استفاده میکند. یکی متریال دیزاین که همان زبان طراحی معروف گوگل است و یکی هم ویجت Cupertino که طراحی اپل را شبیه سازی میکند.
مزایای استفاده از فلاتر
با توجه به اینکه فلاتر Cross Platform است، میتوانید با آن هم برای اندروید هم برای iOS و هم برای دسکتاپ های لینوکس، ویندوز و مک، اپلیکیشن بسازید. به این شکل هم در زمان و هم در هزینههای خود صرفه جویی خواهید کرد.
بیشتر بدانید:
کدهای دارت بدون نیاز به مدل OEM به کدهای Native تبدیل میشوند. چون داخل فلاتر این مدل قرار دارد.
یکی از جذابترین قابلیتهای فلاتر Hot Reload است. فرض کنید در محیط اندروید استدیو در حال ساخت اپلیکیشن هستید. برای تست برنامه خود آن را در یک شبیهساز اجرا میکنید. بعد احساس میکنید که یک بخشی از کد نیاز به تغییر دارد، تغییر خود را اعمال کرده و میبینید که بدون نیاز به ریبوت کردن شبیه ساز تغییرات اعمال شده قابل مشاهده هستند. این تکنیک در تغییر UI، اضافه کردن قابلیت جدید و دیباگ کردن پروژه بسیار به برنامه نویس کمک میکند.
یادگیری فلاتر و کار با آن آسان است. اگر قبلا با زبانهای شی گرا کار کرده باشید، شروع کار خیلی آسان خواهد شد. حتی اگر هیچ شناختی روی زبانهای برنامه نویسی ندارید، زبان دارت به خوبی توسط گوگل مستندسازی شده و یک زبان سطح بالا به حساب میآید. میتوانید با دارت کار کرده و بعد وارد دنیای فلاتر شوید.
از آنجایی که ابزارهای مورد استفاده ما، بخشی از برنامه به حساب میآیند و نه پلتفرم یا سیستم عاملی که روی آن اجرا میشوند، در فلاتر وابستگی زیادی به نوع سیستم عامل یا نسخه آن نداریم. این یعنی پروژه ما احتمالا روی نسخههای مختلف یک سیستم عامل به درستی اجرا میشود و کار ما در تست محصول سبکتر است.
هم فریم ورک فلاتر هم زبان برنامه نویسی دارت، اوپن سورس بوده و همچنین به طور رایگان ارائه میشوند. همچنین مستندسازی قدرتمند، یادگیری آنها را آسانتر میکند. انجمن های مختلفی نیز در اینترنت وجود دارند که می توانید مشکلات خود را در آنجا مطرح کرده و به سرعت، پاسخ خود را بیابید.
چه چیزی سرعت استفاده از فلاتر را کند کرده است؟
یکی از دلایل این است که برنامه نویسان جاوا، کاتلین یا سویفت که قبلا به صورت native برای سیستم عامل خود کد میزدند حالا باید سراغ یک زبان جدید بروند. یعنی زبان دارت. حالا در کشور ما اگر یک شرکت برای توسعه اپلیکیشن خود با فلاتر بخواهد چند برنامه نویس دارت استخدام کند احتمالا با گزینههای محدود و افراد کمتری نسبت به سایر تکنولوژیها مواجه میشود. چون این تکنولوژی نسبتا جدید است.
بسیاری از برنامه نویسان معتقدند که فلاتر هنوز قدرت لازم برای ساخت برنامههای بزرگ را ندارد و بهتر است در پروژههای سادهتر یا برای ساختن نمونه اولیه یک سرویس استفاده شود. همینطور جدید بودن فلاتر هم یکی از دلایل دودل شدن بسیاری از برنامه نویسان است. چرا باید زبان جاوا که چند دهه برای توسعه برنامههای اندرویدی استفاده شده را رها کرده و سراغ یک تکنولوژی با ثبات کمتر برویم؟
آمار و ارقام چه می گویند؟
فقط یک ماه بعد از انتشار اولین نسخه پایدار از Flutter، تعداد ۵۰ هزار ستاره برای این پروژه جدید گوگل در گیت هاب ثبت شد. همچنین در یک نظرسنجی آنلاین که توسط تیم تحقیقاتی فلاتر انجام شد، ۹۳% شرکتکنندگان اعلام کردند که از این فریم ورک “بسیار راضی” و “راضی” هستند. این عدد نسبت به ۹۲% که در جولای ۲۰۱۸ ثبت شده بود ۱% بالاتر است.
بازار اصلی محصولات اندرویدی Google play store میباشد و اپل هم از مارکت اختصاصی خود به نام App Store استفاده میکند. در طول مقاله گفتیم که فلاتر خیلی محبوب نیست و حالا با آمار و ارقام آن را ثابت میکنیم. تا امروز ۵% برنامههای منتشر شده در گوگل پلی و اپ استور با فلاتر ساخته شدهاند. فلاتر هم برای iOS استفاده میشود هم برای Android و ۸۱% برنامه نویسان پروژههای خود را برای هر دو پلتفرم منتشر کردهاند. اما در یک اقدام عجیب نزدیک به ۱۲% برنامهها فقط برای اندروید و ۷% آنها فقط برای iOS ساخته شدند. به نظر میرسد این گروه از برنامه نویسان بیشتر در حال تست فلاتر بودند.