محبوب ترین ها

ما را در شبکه های اجتماعی دنبال کنید

فلاتر چیست؟ هر آنچه که باید درباره فلاتر بدانید!

فلاتر چیست؟ هر آنچه که باید درباره فلاتر بدانید!

فلاتر یک فریمورک مشهور و کاربردی است. گوگل فلاتر را در سال 2017 منتشر کرد که برای توسعه اپلیکیشن های موبایل، وب و دسکتاپ استفاده می شود. این فریمورک برخلاف بسیاری از فریمورک های دیگر Multi Platform است، یعنی اگر قرار باشد یک اپلیکیشن برای اندروید و ios طراحی شود باید برای هریک از این سیستم عامل ها به طور جداگانه و زبان مختلف کدنویسی کرد. ولی با فلاتر می توان فقط با یک بار کدنویسی برای چند سیستم عامل خروجی گرفت. گوگل فلاتر را به عنوان یک ابزار برای توسعه رابط کاربری  (Ui Toolkit) معرفی کرده است.

 

زبان برنامه نویسی Dart

زبان برنامه نویسی دارت در سال 2013 منتشرشد. دارت یک زبان شئ گرا (Typed Object Programming Language) است. زبان دارت به زبان C شباهت دارد، پس اگر با این زبان اشنایی دارید یادگیری دارت اسان خواهد بود.
زبان دارت بیشتر در محیط برنامه نویسی Flutter استفاده می شود. این زبان یک زبان برنامه نویسی کامل است و تقریبا برای طراحی هر چیزی در وب، دسکتاپ و تلفن همراه استفاده می شود. این زبان می تواند به جاوا اسکریپت کامپایل شود و به همین علت قابلیت اجرا در هر مرورگری را دارد.

 

ویژگی های Flutter

 

فلاتر چند ویژگی اساسی دارد که آن را از سایر فریم ورک ها متمایز می کند:

Hot Reloading

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

Foundation Library

اصلی ترین و مهم ترین کتابخانه فلاتر  Foundation Library است که برای Dart طراحی و ارائه شده و می توان گفت اصلی ترین کتابخانه است که فلاتر از ان استفاده می کند. این کتابخانه توابعی برای ساخت برنامه به برنامه نویس ارائه می دهد مانند تابع API که برای ارتباط با سایر برنامه ها استفاده می شود.

ویجت در Flutter

ویجت ها (Widget) به کاربر برای استفاده بهتر از برنامه کمک می کنند و یک واسط کاربری به حساب می ایند. ابزار و ویژگی هایی مثل: منو، دکمه، رنگ و فونت را می توان جزء ویجت ها نام برد.
فلاتر ویجت های مخصوص خودار را دارد و از ویجت های OEM (Original Equipment Manufacturer تولید کننده تجهیزات اصلی) استفاده نمی کند. توسعه دهندگان می توانند ویجت های دلخواه خود را برای برنامه خود طراحی کنند.

موتور فلاتر (Flutter Engine)

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

 

مزایای فلاتر

 

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

سرعت بالا

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

ویجت ها

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

انعطاف در طراحی رابط کاربری

بعضی از فریمورک ها اجازه طراحی خلاقانه و گسترده را برای طراحی به برنامه نویسان نمی دهند. اما در فلاتر اینگونه نیست! زبان برنامه نویسی Dart برای طراحی رابط کاربری طراحی شده به همین دلیل می توان در فلاتر با خلاقیت خود یک رابط کاربری جذاب طراحی کرد.

یادگیری سریع

همانطور که گفته شد در فلاتر از زبان Dart استفاده می شود. با اینکه این زبان جدید است اما فرق چندانی با دیگر زبان های برنامه نویسی ندارد و اگر شما با زبان  های برنامه نویسی مثل C++ اشنایی داشته باشید در کمترین زمان ممکن می توانید به ان مسلط شوید. البته این زبان به دلیل جدید بودنش پیچید گی هایی دارد.

 

معایب فلاتر

اما هر زبان برنامه نویسی، در کنار مزیت هایی که دارد ممکن است معایبی هم داشته باشد. فلاتر هم از این قاعده مستثنی نیست.

حجم بالای برنامه ها

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

پیچیدگی دارت

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

کمبود کتابخانه شخص ثالث

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

نامناسب بودن برای پروژه های بزرگ

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

 

سه پکیج کاربردی فلاتر

  • HTTP: امروزه همه چیز مبتنی بر وب است، به همین دلیل داشتن یک پکیج مانند HTTP بسیار مهم است. HTTP روی اندروید، IOS و وب کارمی کند. این پکیج از سوی تیم دارت در سال 2012 منتشر شده و به خوبی توسعه یافته است.
  • Path: این پکیج روی اندروید، ios و وب کار میکند. بسته به هر پلتفرمی، مسیرها در کدنویسی ساده یا پیچیده هستند. برای اینکه مشکل و باگی در کد خود نداشته باشیم، باید یک کتابخانه مسیر داشته باشیم.
  • Location: این پکیج روی اندروید، ios، وب و MacOs کار می کند. یکی از ویژگی های بسیار کاربردی در موبایل ها ویژگی ردیابی موقعیت مکانی است. پلاگین Location در فلاتر می تواند موقعیت کنونی را ردیابی کند.

بازار فلاتر

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

مقایسه Flutter و Native

نمی توان به طور دقیق گفت کدام یک از این فریمورک ها بهتر است و این تا حد زیادی بستگی به برنامه ای که قصد پیاده سازی آن را داریم و شرایط برنامه نویس دارد. اما می توان برخی از ویژگی های این دو زبان را با هم مقایسه کرد.
به دلیل موتور قدرتمند فلاتر، رندر گرفتن بهتر از نیتیو می باشد. از زمان معرفی فلاتر زمان زیادی نمی گذرد، اما با این حال بسیاری از شرکت های خارجی و ایرانی برنامه های خود را با استفاده از این فریمورک طراحی می کنند. اگر شما قبلا با فریمورک نیتیو طراحی می کردید جای نگرانی نیست. چون برای شما کمی یاد گیری فلاتر اسان تراست. اما این به این معنا نیست که دانسته های خود را درباره نیتیو نادیده بگیرید. درواقع این ویژگی یک مزیت حساب می شود. همچنین قرار نیست فلاتر و زبان دارت جایگزین نیتیو و زبان های (جاوا، سوئیفت و....) شوند.
با فلاتر برنامه های زیادی طراحی شده از قبیل:Alibaba، Reflectly، Google Ads، InKino، Topline.

 

آینده فلاتر چگونه خواهد بود؟

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

نظرات (0)

    ثبت نظر