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

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

فلاتر Flutter چیست؟

فلاتر یک SDK یا به اصطلاح فارسی یک ابزار توسعه نرم افزار متن باز (Open-source) است که توسط کمپانی قدرتمند گوگل برای ساخت انواع برنامه های زیبا و کامپایل شده بومی (native) تلفن های هوشمند، وب و دسکتاپ ایجاد شده است و مزیت اصلی آن استفاده از از یک کد مشترک برای تمام این پلتفرم ها می باشد.

اولین نسخه Flutter با نام رمز “Sky” در سال 2015 در اجلاس توسعه دهندگان زبان برنامه نویسی Dart معرفی و بر روی سیستم عامل Android اجرا و رونمایی گردید. بعد از آن تا 3 سال این فریم ورک در نسخه آزمایشی قرار داشت و نهایتا در تاریخ 4 دسامبر 2018، نسخه 1.0 آن به عنوان اولین نسخه پایدار در رویداد Flutter Live منتشر شد.

فلاتر به عنوان یک فریم ورک Cross-platform جهت توسعه نرم افزارهای موبایل با یک کد مشترک برای سیستم عامل های Android و iOS کار خود را آغاز کرد و توانست با کارایی بالا و داشتن رابط کاربری انعطاف پذیر توجه بسیاری از توسعه دهندگان نرم افزارهای موبایل را به خود جلب کند. در حال حاضر جدیدترین نسخه این فریم ورک یعنی نسخه 2 آپدیت ها و بروزرسانی های زیادی در جهت کاملتر شدن این ابزار برای توسعه نرم افزار های تحت وب و دسکتاپ نیز داشته است.

در زمان انتشار این مقاله نسخه 2.0.5 این فریم ورک محبوب هم اکنون از سایت اصلی آن قابل دانلود و استفاده است.

روش کار در Flutter چگونه است؟

ایده اصلی فلاتر استفاده از ویجت ها (Widgets) یا ابزارک ها است، ابزارک ها توسط توسعه دهندگان مختلف ایجاد می شوند و نقش مهمی در این فریم ورک ایفا می کنند و با ترکیب آنها می‌توانید کل رابط کاربری نرم افزار را ایجاد کنید. هر یک از این ابزارک ها یک عنصر ساختاری (مانند یک دکمه یا منو)، یک عنصر سبک (قلم یا طرح رنگ)، یک مدل طرح بندی (مانند padding) و بسیاری موارد دیگر را تعریف می‌کنند. در کنار این ابزارک های آماده، برنامه نویس می تواند ابزارک های خود را نیز در فلاتر ایجاد کند.

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

Dart دارای یک مخزن بسته های نرم افزاری است که به گسترش قابلیت های برنامه کمک می کند. به عنوان مثال، چند بسته جهت دسترسی به Firebase ارائه می دهد که توسعه دهندگان می توانند برنامه های خود را به صورت Serverless ایجاد کنند و یا بسته دیگری امکان استفاده از ذخیره داده Redux را فراهم می‌کند تا دسترسی به خدمات و سخت افزارهای پلت فرم مانند دوربین به سادگی برای برنامه نویس فراهم شود.

در حال حاضر Flutter تنها SDK توسعه نرم افزارهای تلفن همراه است که برنامه تولید شده توسط آن می تواند به صورت native و بدون نیاز به پل جاوا اسکریپت واکنش سریع و کارایی بالایی را به همراه داشته باشد و این مسئله دلیلی است که بسیاری از توسعه دهندگان موبایل را ترغیب می کند تا این فریم ورک قدرتمند را در پروژه های خود امتحان کنند.

فلاتر flutter cross platform

مزایای فلاتر برای توسعه نرم افزار های موبایل

صرفه جویی در وقت و هزینه

فلاتر ابزاری برای توسعه نرم افزارهای چند سکویی یا Cross-platform است. این بدان معنیست که توسعه دهندگان نرم افزار می‌توانند از یک کد مشترک برای ساخت یک برنامه iOS و Android استفاده کنند که در نتیجه باعث صرفه جویی در وقت و هزینه می‌شود. توسعه Cross-platform بهترین روش برای صرفه جویی در وقت و منابع در تمام مراحل توسعه است.

بهترین عملکرد

فلاتر به دو دلیل عملکرد فوق العاده ای را ارائه می‌دهد. اول، استفاده از Dart است که در کد بومی کامپایل می‌شود. دوم، Flutter ابزارک های خاص خود را دارد، بنابراین نیازی به دسترسی به موارد نصب شده نیست. در نتیجه، ارتباط کمتری بین برنامه و سیستم عامل وجود دارد. این دو ویژگی Flutter، ابزارک های مخصوص به خود و استفاده از Dart، زمان شروع سریع برنامه و به طور کلی مشکلات عملکرد کمتری را تضمین می‌کند.

توسعه سریع به لطف قابلیت hot reloading

پشتیبانی از قابلیت hot reload یا بارگیری مجدد سریع یا HMR در فلاتر باعث می‌شود تغییرات اعمال شده در کد برنامه بعد از زدن دکمه ذخیره در شبیه سازها و سخت افزارها فوراً مشاهده شود. در تمام مدت، برنامه در حال اجرا است و توسعه دهندگان نیازی به اتلاف وقت برای راه اندازی مجدد آن ندارند. اگر در این هنگام برنامه با خطایی روبرو شود، می‌توانید آن را برطرف کنید و سپس استفاده از برنامه را ادامه دهید، انگار که هرگز خطایی رخ نداده است! حتی اگر مجبور شوید بارگیری کامل برنامه را انجام دهید، می‌توانید مطمئن باشید که برنامه در کمترین زمان اجرا می‌شود و روند توسعه سریع خواهد بود.

سازگاری

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

البته باید توجه داشته باشید که با انتشار نسخه جدید Android یا iOS، ویجت های فلاتر نیز باید به روز شوند. تیم Flutter انگیزه زیادی دارد تا مجموعه ویجت های خود را تا حد ممکن در جریان و نزدیک به ابزارک های سیستم عامل نگه دارد. همچنین، ابزارک های فلاتر قابل تنظیم هستند و توسط هر کسی قابلیت به روزرسانی وجود دارد. برنامه شما حتی می‌تواند از ابزارک های جدید در نسخه های قدیمی سیستم عامل استفاده کند!

منبع باز (Open-source)

فلاتر یک فناوری Open-source است که توسط یک جامعه فعال از توسعه دهندگان نرم افزار احاطه شده است که در پشتیبانی این فریم ورک و توسعه آن مشارکت دارند. استفاده از Dart و Flutter رایگان است.

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

آیا به دنبال تیمی از متخصصان Flutter هستید؟ برای توسعه نرم افزار موبایل مورد نیاز خود توسط شرکت پیشرو سیستم با مشاوران ما در تماس باشید.