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

آفلاین
user-avatar
پوریا شریفی
11 دی 1399, خواندن در 7 دقیقه

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

فلاتر چیست ؟

Flutter یک SDK منبع باز است که توسعه‌دهندگان می‌توانند برنامه‌های native اندروید و  ios را با استفاده از یک کد، بسازند. Flutter را گوگل در سال 2015 معرفی کرد، و تا قبل از شروع رسمی آن در سال 2018 در نسخه beta باقی ماند. از آن زمان هیاهوی اطراف Flutter قوی‌تر شده است.

فلاتر در حال حاضر جزء 11 ریپوزیتوری برتر گیت هاب بر اساس تعداد ستاره‌ای که به آن تعلق گرفته، است. علاوه بر این، ما قبلا شاهد انتشار هزاران برنامه فلاتر در فروشگاه‌ها بوده‌ایم. یکی از برجسته‌ترین نمونه‌های برنامه Xianyu است که توسط تیم Alibaba ایجاد شده و بیش از 50 میلیون نفر از آن استفاده می‌کنند.

Flutter – نحوه کار کردن آن

ویجت‌ها

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

توجه داشته باشید که فلاتر از ویجت‌های OEM استفاده نمی‌کند، اما به توسعه‌دهندگان ویجت‌های آماده خود را که شبیه به کامپوننت‌های اندروید یا ios است(بر اساس متریال دیزاین یا Cupretino) را ارائه می‌دهد.

فلاتر همچنین نماهایی به سبک واکنش‌گرا به توسعه‌دهندگان می‌دهد. فلاتر از دارت استفاده می‌کند تا از مشکلات عملکرد ناشی از استفاده از یک زبان برنامه‌نویسی کامپایل شده به عنوان پل javaScript، جلوگیری کند. فلاتر دارت را به صورت AOT( ahead of time) به کد native برای چند پلتفرم کامپایل می‌کند.

به این ترتیب فلاتر می‌تواند بدون نیاز به پل جاوا اسکیپت که باعث ایجاد تعویض context بین کد جاوااسکیپت و native می‌شود، با پلت‌فرم ارتباط برقرار می‌کند. همانطور که می‌توانید تصور کنید کامپایل کردن به کد native باعث افزایش زمان راه‌اندازی برنامه می‌شود.

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

در ادامه برخی دیگر از مزایای توسعه نرم‌افزار موبایل با Flutter آورده شده است.

زبان برنامه نویسی دارت

یکی از جالب‌ترین ویژگی‌های فلاتر زبانی است که از آن استفاده می‌کند، یعنی دارت. مانند سایر سیستم‌های واکنش‌گرا فلاتر نیز view tree را برای هر فریم جدید تازه می‌کند. برای دستیابی به آن، Flutter اشیاء زیادی ایجاد می‌کند که ممکن است بیش از یک فریم زنده نمانند. دارت از generational garbage collection استفاده می‌کند، که ثابت شده برای این نوع سیستم‌ها بسیار کار آمد است.

علاوه بر این، دارت دارای کامپایلر “tree shaking” است که فقط شامل کدی است که شما در برنامه خود نیاز دارید. حتی اگر فقط به یک یا دو ویجت نیاز دارید، می‌توانید از کتابخانه بزرگ ویجت‌های آن به صورت آزاد استفاده کنید.

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

Flutter باعث صرفه جویی در وقت و هزینه شما می‌شود

فلاتر ابزاری برای توسعه نرم‌افزار برای همه پلت‌فرم‌ها(cross-platform) است، این بدان معنی است که توسعه‌دهندگان می‌توانند از همان کد برای ساخت برنامه اندروید و ios استفاده کنند. توسعه cross-platform بهترین روش برای صرفه‌جویی در وقت و منابع در تمام مراحل است.

کارایی عالی

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

توسعه سریع به لطف hot reload

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

Hot reload باعث شده است که ایجاد Ui، افزودن ویژگی جدید و رفع اشکلات آسان‌تر شود. اگر برنامه‌ای با خطا روبرو شود، می‌توانید آن را برطرف کنید و سپس استفاده از برنامه را ادامه دهید، انگار که هرگز رخ نداده است. حتی اگر مجبور باشید کل برنامه را دوباره راه‌‌اندازی کنید، می‌توانید مطمئن باشید که برنامه در کمترین زمان ممکن انجام می‌شود و روند توسعه را تسریع می‌کند.

سازگاری

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

نکته: با انتشار نسخه جدید اندروید یا ios، ویجت‌های فلاتر نیز باید به‌روز شوند( از آنجا که فلاتر از ویجت‌های اصلی پلتفرم استفاده نمی‌کند). شاید ازخود بپرسید که چه مدت طول می‌کشد تا فلاتر ویجت‌های خود را به‌روز کند.

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

Open-Source

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

مسیر فلاتر

Flutter یکی از نوآورترین فناوری‌های موبایل در حال حاضر در بازار است. مزایایی که برای تیم‌های توسعه به ارمغان می‌آورد آن را به عنوان کاندیدای امیدوار کننده توسعه برنامه موبایل در آینده نزدیک انتخاب می‌کند.

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

جمع‌بندی

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

منبع

چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

آفلاین
user-avatar
پوریا شریفی @pouryasharifi78
ابتدا که با برنامه‌نویسی آشنا شدم به سمت php و طراحی وب رفتم، بعد از اون به توسعه‌ی اندروید علاقه‌مند شدم و تقریبا ۲ سال است که مشغول به برنامه‌نویسی...
دنبال کردن

گفتگو‌ برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن وارد شو