فریم ورک فلاتر
- DOTWEB
فریم ورک فلاتر
Flutter یک فریم ورک متن باز برای ساخت اپلیکیشنهای موبایل همچنین قسمت کاربر وبسایت بدون نیاز به نوشتن html و css و javascript است. این کتابخانه توسط شرکت گوگل در سال 2017 معرفی شد و در مقایسه با React یا سایر فریم ورکهای ساخت اپلیکیشن مبتنی بر موبایل عمر زیادی ندارد اما با توجه به کاربرد و راحتی یادگیری آن موجب انتشار آن به سرعت شد.
فلاتر با زبان برنامه نویسی دارت نوشته شده است، یک زبان چندمنظوره و شی گراء که هنوز آنطور که باید و شاید بر سر زبانها نیفتاده و محبوبیت زیادی ندارد اما کاربرد آن در بین برنامه نویسان بسیار زیاد است. با یادگیری زبان دارت و فریم ورک فلاتر میتوانید برای اندروید و iOS اپلیکیشن بسازید. جالب است بدانید علی بابا، یکی از بزرگترین شرکتهای چینی در دنیا به فلاتر اعتماد کرده و اپلیکیشن خود را با این فریم ورک ساخته است. در این مطلب بررسی خواهیم کرد که فریم ورک Flutter چیست و چه کاربردهایی دارد.
میدانیم که زبان اصلی برنامه نویسی اندروید، جاوا است و برنامه نویسان iOS هم از Swift برای توسعه اپلیکیشنهای موبایلی استفاده میکنند. جاوا پیچیدگیهای خاص خودش را دارد و شاید کار با آن به اندازه زبانهایی مثل پایتون یا جاوا اسکریپت راحت نباشد. همین مساله باعث شده که سایر زبانها هم برای توسعه برنامههای موبایلی به کار گرفته شوند. مثلا React یک راه حل نسبتا آسان برای ساخت اپلیکیشنهای موبایل مبتنی بر جاوا اسکریپت است. یا فلاتر که یک پیادهسازی خوب از زبان دارت است و میتوان با این فریم ورک کیفیت همان زبان جاوا را داشت .
مزایای استفاده از فریم ورک فلاتر
در این قسمت، صرف نظر از اینکه رقبای فلاتر چه امکاناتی دارند و بدون مقایسه کردن این فریم ورک با آنها، به بررسی مزایای فلاتر پرداختهایم .
- بازدهی مناسب: با توجه به اینکه فلاتر Cross Platform است، میتوانید با آن هم برای اندروید هم برای iOS اپلیکیشن بسازید. به این شکل هم در زمان و هم در هزینههای خود صرفه جویی خواهید کرد و هم میتوانید کیفیت بالا را داشته باشید.
- کدهای دارت بدون نیاز به مدل OEM به کدهای Native تبدیل میشوند. چون داخل فلاتر این مدل قرار دارد.
- توسعه سریع و آسان: یکی از جذابترین قابلیتهای فلاتر Hot Reload نام دارد. فرض کنید در محیط اندروید استدیو در حال ساخت اپلیکیشن هستید. برای تست برنامه خود آن را در یک شبیهساز اجرا میکنید. بعد احساس میکنید که یک بخشی از کد نیاز به تغییر دارد، تغییر خود را اعمال کرده و میبینید که بدون نیاز به ریستارت کردن شبیه ساز تغییرات اعمال شده قابل مشاهده هستند. این تکنیک در تغییر UI، اضافه کردن قابلیت جدید و دیباگ کردن پروژه بسیار به برنامه نویس کمک میکند و موجب افزایش سرعت در کار برنامه نویس میشود.
- یادگیری فلاتر و کار با آن آسان است. اگر قبلا با زبانهای شی گرا (OOP) کار کرده باشید، شروع کار خیلی آسان خواهد شد. حتی اگر هیچ شناختی روی زبانهای برنامه نویسی ندارید، زبان دارت به خوبی توسط گوگل مستندسازی شده و یک زبان سطح بالا به حساب میآید. میتوانید با دارت کار کرده و بعد وارد دنیای فلاتر شوید و پا به دنیای برنامه نویسی بگذارید.
- سازگاری: از آنجایی که ابزارهای مورد استفاده ما (Widgets) بخشی از برنامه ما حساب میشوند نه پلتفرم یا سیستم عاملی که روی آن اجرا میشوند، در فلاتر وابستگی زیادی به نوع سیستم عامل یا نسخه آن نداریم. این یعنی پروژه ما احتمالا روی نسخههای مختلف یک سیستم عامل به درستی اجرا میشود و کار ما در تست محصول سبکتر است پس این هم یک ویژگی دیگر از فلاتر برای آسان کردن کار برنامه نویس میباشد.
- هم فریم ورک فلاتر هم زبان برنامه نویسی دارت، اوپن سورس بوده و همچنین به طور رایگان ارائه میشوند. همینطور مستندسازی قدرتمند یادگیری آنها را آسانتر میکند.
چه چیزی مانع پیشرفت و استفاده همگانی از فلاتر شده است؟
یکی از دلایل این است که برنامه نویسان جاوا، کاتلین یا سویفت که قبلا به صورت native برای سیستم عامل خود کد میزدند حالا باید سراغ یک زبان جدید بروند. یعنی زبان دارت. حالا در کشور ما اگر یک شرکت برای توسعه اپلیکیشن خود با فلاتر بخواهد چند برنامه نویس دارت استخدام کند احتمالا با گزینههای محدود و افراد کمتری نسبت به سایر تکنولوژیها مواجه میشود چرا که هنوز افراد زیادی این زبان را نمیشناسند. چون این تکنولوژی نسبتا جدید است. هر چند از طرفی یادگیری یک زبان جدید و نسبتا آسان برای بیشتر برنامه نویسان چالش جدید و هیجان انگیزی به حساب میآید. چون یک برنامه نویس موفق کسی است که همیشه تشنه یادگیری و امتحان چیزهای جدیدتر است.
یکی از دلایل این است که برنامه نویسان جاوا، کاتلین یا سویفت که قبلا به صورت native برای سیستم عامل خود کد میزدند حالا باید سراغ یک زبان جدید بروند. یعنی زبان دارت. حالا در کشور ما اگر یک شرکت برای توسعه اپلیکیشن خود با فلاتر بخواهد چند برنامه نویس دارت استخدام کند احتمالا با گزینههای محدود و افراد کمتری نسبت به سایر تکنولوژیها مواجه میشود چرا که هنوز افراد زیادی این زبان را نمیشناسند. چون این تکنولوژی نسبتا جدید است. هر چند از طرفی یادگیری یک زبان جدید و نسبتا آسان برای بیشتر برنامه نویسان چالش جدید و هیجان انگیزی به حساب میآید. چون یک برنامه نویس موفق کسی است که همیشه تشنه یادگیری و امتحان چیزهای جدیدتر است.
بسیاری از برنامه نویسان معتقدند که فلاتر هنوز قدرت لازم برای ساخت برنامههای بزرگ را ندارد و بهتر است در پروژههای سادهتر یا برای ساختن نمونه اولیه یک سرویس استفاده شود. همینطور جدید بودن فلاتر هم یکی از دلایل دودل شدن بسیاری از برنامه نویسان است. چرا باید زبان جاوا که چند دهه برای توسعه برنامههای اندرویدی استفاده شده را رها کرده و سراغ یک تکنولوژی با ثبات کمتر برویم؟
پس بهتر است در پروژه های بزرگ از این تکنولوژی استفاده نشود.
در دفاع از فلاتر باید بگوییم که جدید بودن یک ایراد نیست و باید به یک سرویس جدید که معرفی میشود فرصت داد تا خودش را نشان دهد. همینطور اگر چرخی در اینترنت بزنیم، میبینیم که پروژههای بسیار خوبی با این فریم ورک طراحی شدهاند و این نظریه را که شاید فلاتر گزینه مناسبی برای توسعه محصولات بزرگ نباشد را زیرسوال بردهاند. در اصل ممکن است با استفاده از فلاتر در پروژه های بزرگ هم به مشکلی بر نخورید اما این ریسک نه برای برنامه نویس مناسب است و نه برای شرکت برنامه نویسی.
محبوبیت فلاتر چقدر است؟
فقط یک ماه بعد از انتشار اولین نسخه پایدار از Flutter، تعداد 50 هزار ستاره برای این پروژه جدید گوگل در گیت هاب ثبت شد. همینطور در یک نظرسنجی آنلاین که توسط تیم تحقیقاتی فلاتر انجام شد، 93% شرکتکنندگان اعلام کردند که از این فریم ورک “بسیار راضی” و “راضی” هستند. این عدد نسبت به 92% که در جولای 2018 ثبت شده بود 1% بالاتر است.
بازار اصلی محصولات اندرویدی Google play store میباشد و اپل هم از مارکت اختصاصی خود به نام App Store استفاده میکند. در طول مقاله گفتیم که فلاتر خیلی محبوب نیست و حالا با آمار و ارقام آن را ثابت میکنیم. تا امروز 5% برنامههای منتشر شده در گوگل پلی و اپ استور با فلاتر ساخته شدهاند. فلاتر هم برای iOS استفاده میشود هم برای Android و 81% برنامه نویسان پروژههای خود را برای هر دو پلتفرم منتشر کردهاند. اما در یک اقدام عجیب نزدیک به 12% برنامهها فقط برای اندروید و 7% آنها فقط برای iOS ساخته شدند. به نظر میرسد این گروه از برنامه نویسان بیشتر در حال تست فلاتر بودند تا انجام پروژه های بزرگ.
رابط کاربری منعطف :
یکی دیگر از مهمترین و جذاب ترین ویژگی های فلاتر ، این است که می توانید ظاهر های خلاقانه و پیچیده ای را به آسانی پیاده سازی کنید . شاید اگر بخواهید ظاهر های زیبا و پیچیده ای را در زبان های بومی پیاده سازی کنید ، دچار مشکلاتی بشوید اما در فلاتر کار شما به شدت آسان تر خواهد بود پس این هم یکی دیگر از مزیت های کار با فلاتر شد.
رایگان بودن تمام ابزار های مورد نیاز :
فلاتر کاملا متن باز و رایگان است و اصلا نیازی نیست برای استفاده از آن هزینه ای را پرداخت کنید . همین متن باز بودن فلاتر سبب شده است که پکیج های زیادی که توسط سایر برنامه نویسان توسعه داده شده است در دسترس باشد و کار را برای شما آسان تر کنند و دیگر شما نیاز به کدنویسی اضافه ندارید.
عملکرد عالی :
در مقایسه با فریمورک React Native از نظر عملکراین Flutter و زبان دارت هست که دست بالا را دارد. به دلیل اینکه هیچ نیازی به جاوا اسکریپت ندارید تا با کامپوننت های نیتیو ارتباط برقرار کند. همین کار باعث افزایش عملکرا و بهره وری اپلیکیشن می شود.
فلاتر مناسب چه کسانی است ؟
اگر قصد تولید سریع اپلیکیشن با ظاهر زیبایی را دارید ، قطعا فلاتر بهترین گزینه برای شما خواهد بود ، چرا که علاوه بر توسعه سریع اپلیکیشن کاهش هزینه های چشم گیری را به همراه دارد چونکه دیگر نیازی نیست برای یک پروژه از دو زبان مختلف یکی برای اندروید و دیگری برای ios استفاده شود و همین امر باعث کاهش زمان و هزینه می شود.
ما در شرکت دات وب ابتدا با توجه به پروژه شما سپس با توجه به بودجه شما استفاده از زبان برنامه نویسی و فریم ورک مناسب را پیشنهاد میدهیم.