פלאטר
גרסת בטא |
v1.12.13+hotfix.9 ב־2020 |
---|---|
נכתבה בשפות | C, C++, Dart[2] |
Flutter היא ערכת פיתוח תוכנה (SDK) לבניית ממשק משתמש (UI) בקוד פתוח שנוצרה על ידי גוגל. Flutter משמשת לפיתוח אפליקציות עבור מספר פלטפורמות במקביל: אנדרואיד,iOS, Windows, Mac, Linux, Google Fuchsia[3] web.
הגרסה הראשונה של פלאטר נודעה בשם הקוד "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.
ראו גם
קישורים חיצוניים
- אתר האינטרנט הרשמי של פלאטר
הערות שוליים
- ^ "Flutter SDK releases". flutter.dev.
- ^ "FAQ - Flutter". נבדק ב-2018-08-08.
- ^ "Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI". Ars Technica.
- ^ Amadeo, Ron (1 במאי 2015). "Google's Dart language on Android aims for Java-free, 120 FPS apps". Ars Technica.
{{cite web}}
: (עזרה) - ^ 5.0 5.1 5.2 5.3 "Technical Overview - Flutter". flutter.dev (באנגלית). נבדק ב-2017-12-13.
- ^ Lelel, Wm (26 בפברואר 2018). "Why Flutter Uses Dart". HackerNoon. נבדק ב-5 בדצמבר 2018.
{{cite web}}
: (עזרה) - ^ stephenwzl (2018-08-01). "Flutter's Compilation Patterns". ProAndroidDev. נבדק ב-2018-12-06.
- ^ "foundation library - Dart API". docs.flutter.dev (באנגלית). נבדק ב-2017-12-13.
- ^ "Material Design Widgets - Flutter". flutter.dev (באנגלית). נבדק ב-2017-12-13.
- ^ "Cupertino (iOS-style) Widgets - Flutter". flutter.dev (באנגלית). נבדק ב-2017-12-13.
- ^ "Human Interface Guidelines". developer.apple.com (באנגלית). נבדק ב-2019-10-08.
- ^ "Flutter: the first UI platform designed for ambient computing" (באנגלית). Flutter blog. נבדק ב-2019-12-11.
35519907פלאטר