فلاتر (Flutter) چیست؟ روش کدنویسی با فلاتر چگونه است؟
فلاتر (انگلیسی: Flutter) یک واسط کاربری کیت توسعه نرمافزار متنباز است که توسط گوگل طراحی و ساخته شدهاست. فلاتر برای توسعه برنامههای کاربردی برای سکوهای اندروید، آیاواس، مایکروسافت ویندوز، مکاواس، لینوکس، گوگل فیوشا و وب استفاده میشود.اولین نسخه فلاتر با اسم رمز «آسمان» و بر روی سیستمعامل اندروید اجرا میشد. از فلاتر در سال ۲۰۱۵ در همایش توسعه دهندگان دارت با هدف اعلام شده که قادر به ارائه مداوم با سرعت ۱۲۰ فریم در ثانیه است، رونمایی شد. در جریان نطق اصلی روزهای توسعهدهندگان گوگل در شانگهای، گوگل نسخه ۲ پیش نمایش فلاتر را منتشر کرد که آخرین نسخه بزرگ قبل از فلاتر ۱٫۰ است. در ۴ دسامبر ۲۰۱۸، فلاتر ۱٫۰ در مراسم زنده فلاتر منتشر شد که اولین نسخه پایدار این چهارچوب را نشان میدهد. در ۱۱ دسامبر ۲۰۱۹ فلاتر ۱٫۱۲ در رویداد Flutter Interactive منتشر شد.
معماری چهارچوب
اجزای اصلی فلوتر شامل موارد زیر است:
سکوی دارت
موتور فلاتر
کتابخانه پایه
ابزارکهای مخصوص طراحی
سکوی دارت
برنامههای فلاتر با زبان دارت نوشته میشوند و از ویژگیهای پیشرفته فراوان آن سود میبرند.
بر روی ویندوز، سیستمعامل مک و لینوکس بوسیله پروژه جاسازی رومیزی نیمه رسمی فلاتر، فلاتر بر روی ماشین مجازی دارت که دارای ویژگی کامپایل درجا استفاده میکند. در زمان نوشتن یا اشکالزدایی برنامه، فلاتر از کامپایل درجا برای تازهسازی داغ(hot reload) که باعث تزریق کد منبع تغییر یافته به برنامه درحال اجرا میشود استفاده میکند. فلاتر این امکان را با پشتیبانی از بارگیری مجدد حالتمند گسترش میدهد، در نتیجه در بیشتر مواقع تغییرات در کد منبع میتواند در برنامه درحال اجرا، بدون نیاز به راهاندازی مجدد یا از دست دادن حالت منعکس شوند.
نسخههای انتشار فلاتر بر روی اندروید و آیاواس به شکل کامپایل جلوتر از زمان کامپایل میشوند که بازدهی بالای آن بر روی دستگاههای موبایل را حاصل میشود.
موتور فلاتر
موتور فلاتر، که در درجه اول با سی پلاسپلاس نوشته شدهاست، با استفاده از کتابخانه گرافیکی Skia Google، پشتیبانی رندر سطح پایین را ارائه میدهد. این موتور با کیتهای توسعه نرمافزار خاص سکو مانند نمونههای ارایه شده برای اندروید و آیاواس ارتباط برقرار میکند. موتور فلاتر یک موتور زماناجرای قابلحمل برای میزبانی برنامههای فلاتر است.
کتابخانه پایه
کتابخانه پایه، که با دارت نوشته شدهاست، کلاسها و توابع اساسی برای ساخت برنامههای کاربردی با استفاده از فلاتر مانند:رابط برنامهنویسی کاربردی را برای برقراری ارتباط با موتور فراهم میکند.
ابزارکهای مخصوص طراحی
چارچوب فلاتر شامل دو مجموعه ابزارک است که با زبانهای طراحی خاص مطابقت دارد. ابزارکهای طراحی متریال که زبان طراحی گوگل را با همین نام پیادهسازی میکنند، و ابزارکهای کوپرتینو که دستورالعملهای رابط کاربری در طراحی آیاواس را اجرا میکنند.
نمونه کد فلاتر :
کد برنامه «سلام، دنیا!» در فلاتر به این صورت نوشته میشود :
کد برنامه «سلام، دنیا!» در فلاتر به این صورت نوشته میشود :
import "package:flutter/material.dart";
void main() => runApp(HelloWorldApp());
class HelloWorldApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Hello World App",
home: Scaffold(
appBar: AppBar(
title: Text("Hello World App"),
),
body: Center(
child: Text("Hello World"),
),
),
);
}
}
void main() => runApp(HelloWorldApp());
class HelloWorldApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Hello World App",
home: Scaffold(
appBar: AppBar(
title: Text("Hello World App"),
),
body: Center(
child: Text("Hello World"),
),
),
);
}
}
Flutter is an open-source UI software development kit created by Google. It is used to develop applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web from a single codebase.
The first version of Flutter was known as codename "Sky" and ran on the Android operating system. It was unveiled at the 2015 Dart developer summit, with the stated intent of being able to render consistently at 120 frames per second. During the keynote of Google Developer Days in Shanghai, Google announced Flutter Release Preview 2, which is the last big release before Flutter 1.0. On December 4, 2018, Flutter 1.0 was released at the Flutter Live event, denoting the first "stable" version of the Framework. On December 11, 2019, Flutter 1.12 was released at the Flutter Interactive event.
On May 6, 2020, the Dart SDK in version 2.8 and the Flutter in version 1.17.0 were released, where support was added to the Metal API, improving performance on iOS devices (approximately 50%), new Material widgets, and new network tracking.
On March 3, 2021, Google released Flutter 2 during an online Flutter Engage event. This major update brought official support for web-based applications as well as early-access desktop application support for Windows, MacOS, and Linux.
The first version of Flutter was known as codename "Sky" and ran on the Android operating system. It was unveiled at the 2015 Dart developer summit, with the stated intent of being able to render consistently at 120 frames per second. During the keynote of Google Developer Days in Shanghai, Google announced Flutter Release Preview 2, which is the last big release before Flutter 1.0. On December 4, 2018, Flutter 1.0 was released at the Flutter Live event, denoting the first "stable" version of the Framework. On December 11, 2019, Flutter 1.12 was released at the Flutter Interactive event.
On May 6, 2020, the Dart SDK in version 2.8 and the Flutter in version 1.17.0 were released, where support was added to the Metal API, improving performance on iOS devices (approximately 50%), new Material widgets, and new network tracking.
On March 3, 2021, Google released Flutter 2 during an online Flutter Engage event. This major update brought official support for web-based applications as well as early-access desktop application support for Windows, MacOS, and Linux.