Flutter چیست؟

Flutter
مقالات برنامه نویسی

Flutter چیست؟

flutter یک فریمورک UI موبایل به صورت متن باز است که توسط گوگل ایجاد شده و در ماه می ۲۰۱۷ منتشر شده است. فلاتر این امکان را به شما می دهد تا فقط با یک پایه کد برنامه کاربردی موبایل بومی ایجاد کنید. به این صورت که می توانید با یک زبان برنامه نویسی و یک پایه کد دو خروجی مختلف (برای iOS و Android) ایجاد کنید.

فلاتر از دو بخش مهم تشکیل شده است:

  • SDK (کیت توسعه نرم افزار): مجموعه ابزارهایی که به شما در توسعه برنامه های خود کمک می کنند. این شامل ابزارهایی برای تبدیل کد پایه به کد دستگاه بومی (کد برای iOS و Android) است.
  • فریم ورک (کتابخانه UI مبتنی بر widgets): مجموعه ای از عناصر UI قابل استفاده مجدد (دکمه ها، ورودی های متن، لغزنده ها و غیره) که می توانید برای نیازهای خود شخصی سازی کنید.

برای ایجاد اپیلیکشن با فلاتر از یک زبان برنامه نویسی به نام دارت استفاده می شود. این زبان توسط گوگل در اکتبر ۲۰۱۱ ایجاد شده است، اما در طی سالهای گذشته بسیار بهبود یافته است.

زبان برنامه نویسی دارت بر توسعه فرانت اند تمرکز دارد و می توانید از آن برای ایجاد برنامه های موبایل و هم برنامه وب استفاده کنید.

چرا Flutterاز زبان برنامه نویسی دارت استفاده کرده ؟

فلاتر برای این که بتواند از بروز مشکلات اجرایی خود جلوگیری کند از زبان دارت استفاده کرده اگر شما با اصطلاح Compiled Programming Language آشنا باشید این راه به راحتی میتوانید درک کنید مشکلات عملکردی میتوانند به دلیل استفاده از یک زبان برنامه نویسی ترجمه شونده رخ دهد و این یک پل جاوا اسکریپت است که دارت برای فلاتر جلو تر از زمان Ahead of Time کد های بومی را ترجمه و کامپایل میکند .و به همین علت است که فلاتر بدون این پل با پلتفرم مربوطه ارتباط برقرار میکند یک پل در جاوا فرایند تعویض زمینه Context Switch بین قلمرو جاوا و قلمرو محلی است و کامپایل به صورت AoT  انجام میشود و این باعث بارگذاری سریع اپلیکیشن میشود .

Flutter

ویژگی های Flutter

  • Hot Reload

با استفاده از این قابلیت سرعت شما در برنامه نویسی بسیار افزایش خواهد یافت.در این ویژگی نیاز نیست که هربار با ایجاد تغییر برای مشاهده آن مجددا کد های خود را کامپایل کنید بلکه Hot Reloading این کار و در سریع ترین زمان با ایجاد تغییرات لازم برای شما انجام خواهد داد

  • Reactive programming

فلاتر ویژگی های فریموورک های مختلف و تلفیق کرده و در اختیار شا قرار میدهد. یکی از این امکانات برنامه نویسی Reactive می باشد.

استفاده دوباره

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

ویژگی های دیگر Flutter

  1. دارای فریم ورک با ویژگی های واکنشی و مدرن
  2. استفاده از زبان برنامه نویسی بسیار ساده Dart
  3. توسعه سریع
  4. رابط کاربری زیبا، روان به روز برای کاربران
  5. دارای لیست متنوع از ویجت ها
  6. سازگاری با پلتفرم های متفاوت
  7. سطح بالای عملکرد
  8. منبع باز
  9.  
flutter app developer 600x382 1

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

به علت استفاده از زبان Dart در هسته خود، امکان دسترسی به مخزن بزرگی از پکیج های نرم افزار یرا در اختیار دارد که همین امر باعث تقویت همه جانبه اپلیکیشن های طراحی شده با آن می شود.

برنامه نویس تنها با یکبار تعریف کدها قادر به پیاده سازی آن در هر دو سیستم عامل اندروید و iOS می باشد. به علاوه قابلیت پشتیبانی دیگر پلتفرم ها از Flutter نیز در آینده نه چندان دور قابل تصور است.

با توجه به ویژگی تک کدی بودن آن (Single Coding) با یکبار نوشتن تست در هر دو پلتفرم، دیگر نیازی به آزمون و خطای بیشتری احساس نمی شود.

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

یکی از مزایای فوق العاده فلاتر Hot reload بودن آن است. فرض کنید که در محیط اندروید استدیو در حال نوشتن یک اپلیکیشن هستید. برای تست این اپلیکیشن آن را در یک شبیه ساز اجرا می کنید و سپس احساس می کنید بخشی از کدها نیاز به تغییر دارند، بنابراین تغییرات خود را اعمال کرده و می بینید که بدون نیاز به دوباره اجرا کردن شبیه ساز تغییرات اعمال شده و قابل مشاهده هستند. این تکنیک در تغییر UI، اضافه کردن قابلیت جدید و دیباگ کردن پروژه بسیار به برنامه نویس کمک می کند.

Flutter

معایب Flutter Framework

در حقیقت یکی از دلایلی که باعث شده این فریم ورک مورد بی مهری برنامه نویسان قرار گیرد، جوان و جدید بودن آن است. برنامه نویسانی که قبلا با استفاده از جاوا، کاتلین و Swift اپلیکیشن های بومی برای سیستم عامل های مختلف طراحی کرده اند یادگیری یک فریم ورک جدید مثل Flutter برای آنها کاری بسیار سخت و طاقت فرسا می باشد.

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

ضعف بعدی این فریم ورک این است که برای توسعه پروژه های بزرگ قادر به پیاده سازی برخی مفاهیم در آن نخواهید بود به گونه ای که در زبان های دیگر مانند Java به هیچ وجه به این مشکل برخورد نخواهید کرد. بنابراین بسیاری از برنامه نویسان Flutter را برای توسعه برنامه های ساده تر مناسب میدانند و ساختار آن را برای انجام پروژه های بزرگتر مثل ساخت بازی های بزرگی مشابه Clash Royale ضعیف و کم کاربرد توصیف می کنند.

فریم ورک های مدرن نهایت سعی و تلاش خود برای جداسازی رابط کاربری (UI) و Logic را به کار گرفته اند اما این قضیه در Flutter  فرق می کند به گونه ای که این دو در هم تنیده شده اند. البته با استفاده از کد نویسی هوشمند و ماژول های سطح بالا می توان تا حدودی این مشکل را برطرف کرد.

برای یاد گیری Flutter چه چیز هایی لازم است بدانیم ؟

اگر قبلا تجربه توسعه اپلیکیشن های موبایل رو نداشتید لازم و ضروری هست که کار با شئ گرایی و زبان برنامه نویسی دارت رو یاد بگیرید در دنیا فریم ورک های زیادی برای توسعه اپلیکیشن های موبایل هستن که اگه شما تجربه کار با یکی از این فریم ورک ها رو به دست بیارید زمانی که قصد مهاجرت از یک فریم ورک به فریم ورک دیگه رو داشته باشید به راحتی میتونید این کار رو انجام بدید در نتیجه یادگیری سئ گرایی و زبان دارت در اولویت هست

نتیجه گیری

فریم ورک Flutter در سال 2017 معرفی و در این حدود سه سال فراز و نشیب های بسیاری داشته است. علیرغم فواید بسیار مانند استفاده از زبان Dart، تک کد بودن، دو منظوره بودن (کارآیی در هر دو سیستم عامل اندروید و iOS) هنوز آنچنان که باید مورد توجه برنامه نویسان قرار نگرفته است. اگرچه جالب است بدانید که شرکت چینی AliBaba به این فریم ورک اعتماد کرده و برنامه نویسان این شرکت از این فریم ورک برای توسعه اپلیکیشن ها استفاده می کنند. همچنین با وجود اینکه آینده هسته Flutter یعنی زبان برنامه نویسی Dart کاملا روشن نیست و شاید فلاتر را با مشکل دچار کند، اما یادگیری و کار کردن با آن یکی از گزینه های لذت بخش در دنیای برنامه نویسان جدید می باشد.

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد.

اعضا

‫بروز رسانی

سمیرا مردانی's بروزسانی مشخصات انجام شد 1 سال قبل

محمد جواد محمدی's بروزسانی مشخصات انجام شد 1 سال قبل

مریم نوری's بروزسانی مشخصات انجام شد 1 سال قبل

محمد امین طاهری's بروزسانی مشخصات انجام شد 1 سال قبل

نگار حجتی's بروزسانی مشخصات انجام شد 1 سال قبل

فیلدهای نمایش داده شده را انتخاب کنید. دیگران مخفی خواهند شد. برای تنظیم مجدد سفارش ، بکشید و رها کنید.
  • عکس
  • شناسه محصول
  • امتیاز
  • قیمت
  • در انبار
  • موجودی
  • افزودن به سبد خرید
  • توضیحات
  • محتوا
  • عرض
  • اندازه
  • تنظیمات بیشتر
  • ویژگی ها
  • ویژگی های سفارشی
  • زمینه های دلخواه
برای پنهان کردن نوار مقایسه ، بیرون را کلیک کنید
مقایسه