
فلاتر یک چارچوب واسط موبایل و یک بسته توسعه نرمافزار رایگان و متنباز است. در آستانه سال ۱۴۰۰، اپلیکیشنهای موبایل همچنان بیش از پیش پرطرفدار هستند. خوشبختانه، ابزارهای برنامهنویسی متعددی برای توسعهدهندگان در دسترس است. یکی از این ابزارهای توسعه برنامههای کاربردی، Flutter است.
به بیان ساده، فلاتر این امکان را برای توسعهدهندگان فراهم میکند که یک اپلیکیشن موبایل بومی را تنها با یک کد مبنا بسازند. یک اپلیکیشن بومی، به منظور استفاده در یک دستگاه خاص و سیستم عاملش ساخته میشود. امکان توسعه برنامه کاربردی بومی تنها با یک کد مبنا در Flutter، به این معنا است که میتوان فقط با یک زبان برنامهنویسی و یک کد مبنا، دو یا چند اپلیکیشن مختلف برای سیستمعامل iOS و اندروید ساخت. Flutter از دو بخش مهم تشکیل شده که در ادامه آمده است.
- SDK (بسته توسعه نرمافزار ): مجموعهای از ابزارها که به توسعه اپلیکیشن کمک میکنند.
- چارچوب نرمافزاری (واسط مبتنی بر ویجتها): مجموعهای از اجزای رابط کاربری که میتوان آنها را براساس نیاز، شخصیسازی کرد. به عنوان مثال، میتوان دکمهها، ورودیهای متنی، اسلایدرها و سایر عناصر در اپلیکیشنها را نمونههایی از ویجتهای Flutter دانست.
ویجت در فلاتر چیست ؟
هر ویجت به صورت یک عنصر ساختاری، یک عنصر شیوهمند، یک جنبه طرحبندی و بسیاری موارد دیگر تعریف میشود. از جمله عناصر ساختاری میتوان یک دکمه یا منو را نام برد و همچنین، یک فونت یا الگوی رنگ میتوانند مثالهایی برای یک عنصر شیوهمند باشند. برای یک جنبه طرحبندی نیز میتوان به Padding (فاصله درونی عنصر تا حاشیه) اشاره کرد. ایده محوری در خصوص Flutter، استفاده از ویجتها است. در واقع، امکان ساخت کل یک واسط کاربری از صفر تا صد به وسیله ویجتها محقق میشود.
Dart چیست ؟
Dart یک زبان برنامهنویسی مبتنی بر نوعداده شیٔگرا است. از Dart میتوان برای ساخت اپلیکیشنهای موبایل استفاده کرد. دارت روی توسعه فرانتاند متمرکز است. جهت توسعه با فلاتر، از زبان برنامهنویسی دارت استفاده میشود. گوگل دارت را در اوایل سال ۱۳۹۰ ارائه کرده و در طول سالها آن را به میزان زیادی بهبود داده است. سینتکس دارت را میتوان با جاوا اسکریپت مقایسه کرد.
چرا در فلاتر از دارت استفاده میشود؟
یکی از دلایل استفاده از زبان دارت در فلاتر، جلوگیری از بروز مشکلات اجرایی است. این مشکلات عملکردی میتوانند به دلیل استفاده از یک زبان برنامهنویسی ترجمه شونده رخ بدهند که به عنوان یک پل جاوا اسکریپت عمل میکنند. فلاتر، Dart را برای پلتفرمهای مختلف (Android و iOS) به صورت جلوتر از زمان به کد بومی ترجمه میکند.
به این ترتیب، Flutter میتواند به راحتی با پلتفرم مربوطه بدون نیاز به یک پل جاوا اسکریپت ارتباط برقرار کند. یک پل جاوا اسکریپت، فرایند تعویض زمینه بین قلمرو JavaScript و قلمرو محلی است. کامپایل به شیوه AoT منجر به بارگذاری و باز شدن سریعتر اپلیکیشن میشود. همانند سایر سیستمهایی که از نماهای واکنشپذیر استفاده میکنند، Flutter نیز درخت نما را در ازای هر فریم نوسازی میکند.