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

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

فلاتر (نرم‌افزار)
نویسنده(های) اصلیگوگل
توسعه‌دهنده(ها)انجمن گوگل
انتشار ابتداییآلفا (نسخه۰٫۰٫۶) مه ۲۰۱۷ (۲۰۱۷-۰۵)[1]
انتشار پایدار
نسخه ۱٫۹٫۱
۲۴ اکتبر ۲۰۱۹ (۲۰۱۹-۱۰-۲۴)[2]
انتشار آزمایشی
۱٫۸٫۱ (۸ اوت ۲۰۱۹ (۲۰۱۹-۰۸-0۸))[3]
مخزن
نوشته‌شده باسی
سی پلاس‌پلاس
دارت (زبان برنامه‌نویسی)[4]
بن‌سازه رایانشاندروید، آی‌اواس، گوگل فیوشا، مایکروسافت ویندوز، مک‌اواس و لینوکس
گونهچارچوب نرم‌افزار
پروانهپروانه بی‌اس‌دی
وبگاه

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

معماری چهارچوب

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

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

سکوی دارت

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

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

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

موتور فلاتر

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

کتابخانه پایه

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


ابزارک‌ها


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

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

مثال، برنامه «سلام، دنیا!»

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

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'),
        ),
      ),
    );
  }
}

منابع

  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 SDK releases". flutter.dev.
  3. "Flutter makes it easy and fast to build beautiful mobile apps. : flutter/flutter". July 29, 2019 via GitHub.
  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.

پیوند به بیرون

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.