آموزش فلاتر (Flutter)

دسته بندی: برنامه نویسی موبایل

در این صفحه می خوانید:

 

فلاتر چیست؟

فلاتر (Flutter) یک فریمورک متن باز است که در سال 2017 توسط گوگل معرفی شد و به کمک آن می توانید اپلیکیشن های نیتیو (Native) برای اندروید و iOS بسازید.

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

همچنین شما میتوانید طراحی رابط کاربری اپلیکیشن های Native که با کاتلین، جاوا و یا سوئیفت می نویسید را نیز با Flutter انجام دهید.

تاریخچه فلاتر

اولین نسخه فلاتر به نام Sky برای سیستم عامل اندروید ارائه شد. این برنامه در نشست توسعه دهندگان دارت سال 2015 معرفی شد.

گوگل در نشست توسعه دهندگان Google در شانگهای در تاریخ 4 دسامبر 2018 اعلام کرد در رویدادی به نام Flutter Live نسخه اول فلاتر را معرفی خواهد کرد.

در رویداد Flutter Live اولین نسخه پایدار این فریمورک معرفی و منتشر شد.

فلاتر

معماری فلاتر

اجزای اصلا فلاتر عبارتند از:

پلتفرم دارت (Dart platform)

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

در سیستم عامل های اندروید، ویندوز، مک و لینوکس از برنامه نیمه رسمی Flutter Desktop استفاده می شود که در ماشین مجازی دارت اجرا می شود و از موتور اجرایی just-in-time استفاده می کنند.

با توجه به محدودیت های App Store برای اجرای کدهای پویا، برنامه های فلاتر در iOS از ahead-of-time یا AOT برای کامپایل و اجرای کدها استفاده می کند.

ویژگی قابل توجه پلتفرم دارت پشتیبانی از ویژگی hot reload است که در آن  تغییرات در سورس برنامه می تواند به یک برنامه در حال اجرا تزریق شود.

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

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

موتور فلاتر یک بستر قابل حمل برای میزبانی برنامه های Flutter است.

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

کتابخانه پایه (Foundation library)

کتابخانه های فلاتر با دارت نوشته شده اند و کلاس ها و توابع پایه برای ساخت برنامه های کاربردی و ارتباط با API موتور فلاتر را فراهم می کنند.

ویجت های خاص طراحی (Design-specific widgets)

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

ویجت های پیچیده تر می توانند با ترکیبی از چند ویجت ساده ایجاد شوند.

با این حال استفاده از ویجت برای ساخت برنامه های فلاتر ضروری نیست. یک روش جایگزین استفاده از کتابخانه ای پایه به صورت مستقیم و نمایش اشکال گرافیکی با دستور canvas می باشد. (این ویژگی در چند فریمورک دیگر مانند Flame نیز استفاده شده است.)

ویژگی های فلاتر

فلاتر متن باز است. شما می توانید مستندات Flutter را در گیت هاب در این صفحه ببینید.

فلاتر چندسکویی است. شما با یک بار نوشتن کد می توانید دو خروجی برای اندروید و iOS بگیرید.

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

hot-reload

توسعه سریع با Hot Reload: این ویژگی سرعت برنامه نویسی اپلیکیشن ها را افزایش می دهد. به این صورت که هر بار که کد برنامه را تغییر می دهید نیاز نیست منتظر بمانید تا برنامه از نو کامپایل شود و خیلی سریع می توانید تغییرات را ببینید.

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

 

آیا این نوشته را دوست داشتید؟