فلاتر (نرمافزار)
فلاتر (انگلیسی: 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'),
),
),
);
}
}
منابع
- ↑ Chris Bracken. "Release v0.0.6: Rev alpha branch version to 0.0.6, flutter 0.0.26 (#10010) · flutter/flutter". GitHub. Retrieved 2018-08-08.
- ↑ "Flutter makes it easy and fast to build beautiful mobile apps. : flutter/flutter". July 29, 2019 – via GitHub.
- ↑ "Flutter SDK releases". flutter.dev.
- ↑ "FAQ - Flutter". Retrieved 2018-08-08.
- ↑ "Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI". Ars Technica.
- ↑ Amadeo, Ron (1 May 2015). "Google's Dart language on Android aims for Java-free, 120 FPS apps". Ars Technica.
- ↑ "Speed Up Native Development As Google Flutter Comes Out Of Beta" (به انگلیسی). Appetiser Apps. Retrieved 2018-12-21.
- ↑ Lelel, Wm (26 February 2018). "Why Flutter Uses Dart". HackerNoon. Retrieved 5 December 2018.
- ↑ stephenwzl (2018-08-01). "Flutter's Compilation Patterns". ProAndroidDev. Retrieved 2018-12-06.
- ↑ "Technical Overview - Flutter". flutter.dev (به انگلیسی). Retrieved 2017-12-13.
- ↑ "foundation library - Dart API". docs.flutter.dev (به انگلیسی). Retrieved 2017-12-13.
- ↑ "Material Design Widgets - Flutter". flutter.dev (به انگلیسی). Retrieved 2017-12-13.
- ↑ "Cupertino (iOS-style) Widgets - Flutter". flutter.dev (به انگلیسی). Retrieved 2017-12-13.
- ↑ "Human Interface Guidelines". developer.apple.com (به انگلیسی). Retrieved 2019-10-08.