פלאטר

ערכת פיתוח תוכנה ממשק משתמש בקוד פתוח שנוצרה על ידי גוגל

Flutter היא ערכת פיתוח תוכנה (SDK) לבניית ממשק משתמש (UI) בקוד פתוח שנוצרה על ידי גוגל. Flutter משמשת לפיתוח אפליקציות עבור מספר פלטפורמות במקביל: אנדרואיד,iOS, Windows, Mac, Linux, Google Fuchsia[3] web.

פלאטר
מפתח חברת גוגל, Greg Spencer, Adam Barth, Jonah Williams, Ian Hickson עריכת הנתון בוויקינתונים
מחזור חיים 23 באוקטובר 2014 – הווה (9 שנים ו־27 שבועות) עריכת הנתון בוויקינתונים
גרסה אחרונה 3.19.0 (15 בפברואר 2024) עריכת הנתון בוויקינתונים
גרסת בטא v1.12.13+hotfix.9
ב־2020
נכתבה בשפות C, C++, Dart[2]
סוג רישיון רישיון BSD החדש עריכת הנתון בוויקינתונים
קוד מקור https://github.com/flutter/flutter עריכת הנתון בוויקינתונים
flutter.dev
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

הגרסה הראשונה של פלאטר נודעה בשם הקוד "Sky" והופעלה על מערכת ההפעלה אנדרואיד. פרויקט זה נחשף באירוע של שפת דארט לשנת 2015, מתוך כוונה מוצהרת להיות מסוגל לרנדר מסך במהירות של 120 פריימים לשנייה.[4] במהלך האירוע של גוגל בשנחאי, גוגל הודיעה על שחרור הדגמת שימוש בפלאטר, המהווה את המהדורה האחרונה לפני Flutter 1.0.

ארכיטקטורה עריכה

המרכיבים העיקריים של פלאטר כוללים:

  • שפת ופלטפורמת דארט
  • מנוע רינדור
  • הספרייה של גוגל שבאה יחד עם פלאטר
  • ווידג'טים

שפת Dart עריכה

אפליקציות פלאטר כתובות בשפת דארט ועושות שימוש ברבות מהתכונות המתקדמות יותר של השפה.[5]

ב- Windows, macOS ו- Linux, ה-Flutter פועל במכונה ווירטואלית (Dart VM) הכוללת מנוע JIT. בזמן כתיבת קוד ודיבוג של אפליקציה, Flutter משתמש ב-JIT, ומאפשר Hot reloading, בעזרתו ניתן להזרים שינויים לקובצי המקור של היישום בעודו פועל. כך ברוב המקרים שינויים בקוד המקור יכולים להשתקף מייד ביישום פועל ללא צורך בהפעלה מחדש או כל אובדן של מצב (State). [6] תכונה זו, המיושמת בפלאטר, זכתה לשבחים רבים [דרוש מקור] .

גרסאות Release של אפליקציות Flutter מתקמפלות מראש (AOT) באנדרואיד וגם ב- iOS, [7] מה שמאפשר את הביצועים הגבוהים של פלאטר במכשירים ניידים.

המנוע הגרפי של פלאטר עריכה

המנוע של פלאטר, שנכתב בעיקר ב- C ++, מספק תמיכה ברינדור באמצעות ספריית הגרפיקה Skia של גוגל. בנוסף, הוא מתממשק עם תוכנות SDK ספציפיות לפלטפורמות כמו אלה המסופקות על ידי אנדרואיד ו- iOS .[5] המנוע מאחורי פלאטר מרנדר את רכיבי היישום במהלך זמן הריצה. הוא מיישם את ספריות הליבה של פלאטר, כולל אנימציה וגרפיקה, קריאה וכתיבה של קבצים, תמיכה בנגישות, ארכיטקטורת תוספים, את תוכנית הריצה של דארט ועוד. מרבית המפתחים ישתמשו גם ב-Flutter Framework, המספק מסגרת מודרנית, ריאקטיבית, ומערך עשיר של רכיבי widget לפלטפורמה.

ספריית הייסוד של גוגל עבור פלאטר עריכה

ספריית הייסוד, שנכתבה ב- Dart, מספקת דברים בסיסיים ופונקציות המשמשות לבניית יישומים באמצעות Flutter, כמו APIs לתקשורת עם המנוע.[5] [8]

ווידג'טים עריכה

עיצוב UI ב-Flutter כולל שימוש בקומפוזיציה להרכבה / יצירה של "ווידג'טים" מ- Widgets אחרים. למעשה כל עץ של רכיבים (ווידג'טים) שמורכב מפונקציית build() מכונה גם widget יחיד. הסיבה לכך היא שהווידג'טים הקטנים יותר מורכבים גם מ- Widgets קטנים עוד יותר, ולכל אחד מהם יש פונקציית build() משל עצמו.

ווידג'יטים ספציפיים לעיצוב עריכה

Flutter מכילה שתי קבוצות ווידג'טים התואמות לשפות עיצוב ספציפיות. ווידג'טים ל-Material Design מיישמים את שפת העיצוב של גוגל באותו שם, ווידג'טים קופרטינו (Cupertino) מיישמים את הנחיות הממשק האנושי של iOS של Apple.[5] [9] [10] [11]

דוגמת Hello World עריכה

תוכנית Hello, World בפלאטר נראית כך:

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

היסטוריית גרסאות עריכה

ב-4 בדצמבר 2018, שוחררה Flutter 1.0 באירוע Flutter Live, המציין את הגרסה ה"יציבה" הראשונה של הפלטפורמה.

ב-11 בדצמבר 2019, שוחררה Flutter 1.12 באירוע העולמי של Flutter.[12]

ב-6 במאי 2020, שוחררה Flutter 1.17.

ב-5 באוגוסט 2020, שוחררה Flutter 1.20.

ב-3 במרץ 2021 שוחררה Flutter 2.0.

קהילה ישראלית עריכה

ל-Flutter קהילות רבות בעולם המאמצות את הטכנולוגיה הזו, ביניהם קבוצות Flutter Israel Developers, GDG, Google Developers Group, מתכנתים המוכרים כGDE- Google Developer- Expert.

ראו גם עריכה

קישורים חיצוניים עריכה

  מדיה וקבצים בנושא פלאטר בוויקישיתוף

הערות שוליים עריכה

  1. ^ "Flutter SDK releases". flutter.dev.
  2. ^ "FAQ - Flutter". נבדק ב-2018-08-08.
  3. ^ "Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI". Ars Technica.
  4. ^ Amadeo, Ron (1 במאי 2015). "Google's Dart language on Android aims for Java-free, 120 FPS apps". Ars Technica. {{cite web}}: (עזרה)
  5. ^ 1 2 3 4 "Technical Overview - Flutter". flutter.dev (באנגלית). נבדק ב-2017-12-13.
  6. ^ Lelel, Wm (26 בפברואר 2018). "Why Flutter Uses Dart". HackerNoon. נבדק ב-5 בדצמבר 2018. {{cite web}}: (עזרה)
  7. ^ stephenwzl (2018-08-01). "Flutter's Compilation Patterns". ProAndroidDev. נבדק ב-2018-12-06.
  8. ^ "foundation library - Dart API". docs.flutter.dev (באנגלית). נבדק ב-2017-12-13.
  9. ^ "Material Design Widgets - Flutter". flutter.dev (באנגלית). נבדק ב-2017-12-13.
  10. ^ "Cupertino (iOS-style) Widgets - Flutter". flutter.dev (באנגלית). נבדק ב-2017-12-13.
  11. ^ "Human Interface Guidelines". developer.apple.com (באנגלית). נבדק ב-2019-10-08.
  12. ^ "Flutter: the first UI platform designed for ambient computing" (באנגלית). Flutter blog. נבדק ב-2019-12-11.