فلاتر (نرم‌افزار)

از ویکی‌پدیا، دانشنامهٔ آزاد
فلاتر (نرم‌افزار)
Google-flutter-logo.png
نویسنده(های) اصلیگوگل
توسعه‌دهنده(ها)انجمن گوگل
انتشار ابتداییآلفا (نسخه۰٫۰٫۶)  ۲۰۱۷؛ ۳ سال پیش (۲۰۱۷-۰۵)[۱]
انتشار پایدار
نسخه ۱٫۹٫۱
۲۴ اکتبر ۲۰۱۹؛ ۱۲ ماه پیش (۲۰۱۹-۱۰-۲۴)[۳]
انتشار آزمایشی
۱٫۸٫۱ (۸ اوت ۲۰۱۹؛ ۱۴ ماه پیش (۲۰۱۹-۰۸-0۸))[۲]
مخزن
نوشته‌شده باسی
سی پلاس‌پلاس
دارت (زبان برنامه‌نویسی)[۴]
بن‌سازه رایانشاندروید، آی‌اواس، گوگل فیوشا، مایکروسافت ویندوز، مک‌اواس و لینوکس
گونهچارچوب نرم‌افزار
پروانهپروانه بی‌اس‌دی
وبگاه

فلاتر (انگلیسی: Flutter‎) یک واسط کاربری کیت توسعه نرم‌افزار متن‌باز است که توسط گوگل طراحی و ساخته شده‌است. فلاتر برای توسعه برنامه‌های کاربردی برای سکوهای اندروید، آی‌اواس، مایکروسافت ویندوز، مک‌اواس، لینوکس، گوگل فیوشا[۵] و وب استفاده می‌شود.

اولین نسخه فلاتر با اسم رمز «آسمان» و بر روی سیستم‌عامل اندروید اجرا می‌شد. از فلاتر در سال ۲۰۱۵ در همایش توسعه دهندگان دارت با هدف اعلام شده که قادر به ارائه مداوم با سرعت ۱۲۰ فریم در ثانیه است، رونمایی شد.[۶] در جریان نطق اصلی روزهای توسعه‌دهندگان گوگل در شانگهای، گوگل نسخه ۲ پیش نمایش فلاتر را منتشر کرد که آخرین نسخه بزرگ قبل از فلاتر ۱٫۰ است. در ۴ دسامبر ۲۰۱۸، فلاتر ۱٫۰ در مراسم زنده فلاتر منتشر شد که اولین نسخه پایدار این چهارچوب را نشان می‌دهد.[۷] در ۱۱ دسامبر ۲۰۱۹ فلاتر ۱٫۱۲ در رویداد Flutter Interactive منتشر شد.

معماری چهارچوب[ویرایش]

اجزای اصلی فلوتر شامل موارد زیر است:

  • سکوی دارت
  • موتور فلاتر
  • کتابخانه پایه
  • ابزارک‌های مخصوص طراحی

سکوی دارت[ویرایش]

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

بر روی ویندوز، سیستم‌عامل مک و لینوکس بوسیله پروژه جاسازی رومیزی نیمه رسمی فلاتر، فلاتر بر روی ماشین مجازی دارت که دارای ویژگی کامپایل درجا استفاده می‌کند. در زمان نوشتن یا اشکال‌زدایی برنامه، فلاتر از کامپایل درجا برای تازه‌سازی داغ(hot reload) که باعث تزریق کد منبع تغییر یافته به برنامه درحال اجرا می‌شود استفاده می‌کند. فلاتر این امکان را با پشتیبانی از بارگیری مجدد حالتمند گسترش می‌دهد، در نتیجه در بیشتر مواقع تغییرات در کد منبع می‌تواند در برنامه درحال اجرا، بدون نیاز به راه‌اندازی مجدد یا از دست دادن حالت منعکس شوند.[۸]

نسخه‌های انتشار فلاتر بر روی اندروید و آی‌اواس به شکل کامپایل جلوتر از زمان کامپایل می‌شوند[۹] که بازدهی بالای آن بر روی دستگاه‌های موبایل را حاصل می‌شود

موتور فلاتر[ویرایش]

موتور فلاتر، که در درجه اول با سی پلاس‌پلاس نوشته شده‌است، با استفاده از کتابخانه گرافیکی Skia Google، پشتیبانی رندر سطح پایین را ارائه می‌دهد. این موتور با کیت‌های توسعه نرم‌افزار خاص سکو مانند نمونه‌های ارایه شده برای اندروید و آی‌اواس ارتباط برقرار می‌کند.[۱۰] موتور فلاتر یک موتور زمان‌اجرای قابل‌حمل برای میزبانی برنامه‌های فلاتر است.

کتابخانه پایه[ویرایش]

کتابخانه پایه، که با دارت نوشته شده‌است، کلاس‌ها و توابع اساسی برای ساخت برنامه‌های کاربردی با استفاده از فلاتر مانند:رابط برنامه‌نویسی کاربردی را برای برقراری ارتباط با موتور فراهم می‌کند.[۱۱]


ابزارک‌ها[ویرایش]

ابزارک‌های مخصوص طراحی[ویرایش]

چارچوب فلاتر شامل دو مجموعه ابزارک است که با زبان‌های طراحی خاص مطابقت دارد. ابزارک‌های طراحی متریال که زبان طراحی گوگل را با همین نام پیاده‌سازی می‌کنند، و ابزارک‌های کوپرتینو که دستورالعمل‌های رابط کاربری در طراحی آی‌اواس را اجرا می‌کنند.[۱۲][۱۳][۱۴]

مثال، برنامه «سلام، دنیا!»[ویرایش]

کد برنامه «سلام، دنیا!» در فلاتر به این صورت نوشته می‌شود :

 1 import 'package:flutter/material.dart';
 2 
 3 void main() => runApp(HelloWorldApp());
 4 
 5 class HelloWorldApp extends StatelessWidget {
 6   @override
 7   Widget build(BuildContext context) {
 8     return MaterialApp(
 9       title: 'Hello World App',
10       home: Scaffold(
11         appBar: AppBar(
12           title: Text('Hello World App'),
13         ),
14         body: Center(
15           child: Text('Hello World'),
16         ),
17       ),
18     );
19   }
20 }

منابع[ویرایش]

  1. 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.
  2. "Flutter makes it easy and fast to build beautiful mobile apps. : flutter/flutter". July 29, 2019 – via GitHub.
  3. "Flutter SDK releases". flutter.dev.
  4. "FAQ - Flutter". Retrieved 2018-08-08.
  5. "Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI". Ars Technica.
  6. Amadeo, Ron (1 May 2015). "Google's Dart language on Android aims for Java-free, 120 FPS apps". Ars Technica.
  7. "Speed Up Native Development As Google Flutter Comes Out Of Beta". Appetiser Apps. Retrieved 2018-12-21.
  8. Lelel, Wm (26 February 2018). "Why Flutter Uses Dart". HackerNoon. Retrieved 5 December 2018.
  9. stephenwzl (2018-08-01). "Flutter's Compilation Patterns". ProAndroidDev. Retrieved 2018-12-06.
  10. "Technical Overview - Flutter". flutter.dev. Retrieved 2017-12-13.
  11. "foundation library - Dart API". docs.flutter.dev. Retrieved 2017-12-13.
  12. "Material Design Widgets - Flutter". flutter.dev. Retrieved 2017-12-13.
  13. "Cupertino (iOS-style) Widgets - Flutter". flutter.dev. Retrieved 2017-12-13.
  14. "Human Interface Guidelines". developer.apple.com. Retrieved 2019-10-08.

پیوند به بیرون[ویرایش]