פלאטר
פעולות נוספות
| גרסת בטא |
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.
ראו גם עריכה
קישורים חיצוניים עריכה
- קובץ:2021 Facebook icon.svg פלאטר, ברשת החברתית פייסבוק
- קובץ:X logo 2023.svg פלאטר, ברשת החברתית X (טוויטר)
- קובץ:Telegram logo.svg פלאטר, ביישום טלגרם
- קובץ:Instagram logo 2016.svg פלאטר, ברשת החברתית אינסטגרם
- קובץ:טיקטוק.png פלאטר, ברשת החברתית טיקטוק
- קובץ:VK.com-logo.svg פלאטר, ברשת החברתית VK
- קובץ:Linkedin.svg פלאטר, ברשת החברתית LinkedIn
- קובץ:Linkedin.svg פלאטר, ברשת החברתית LinkedIn
- קובץ:YouTube full-color icon (2017).svg פלאטר, סרטונים בערוץ היוטיוב
- קובץ:Twitch logo 2019.svg פלאטר, ערוץ באתר Twitch.tv
- קובץ:Vimeo Logo.svg פלאטר, סרטונים באתר Vimeo
- קובץ:Rss-feed.svg [%7B%7B%23property%3AP1581%7D%7D פלאטר], הבלוג הרשמי
- קובץ:Goodreads logo 2025.svg פלאטר, ברשת החברתית Goodreads
- קובץ:Flickr wordmark.svg פלאטר, באתר פליקר
- קובץ:Reddit logo 2023.svg פלאטר, באתר רדיט
- קובץ:Pinterest-logo.png פלאטר, באתר פינטרסט
הערות שוליים עריכה
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ 1 2 3 4 שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).
- ^ שגיאת לואה ביחידה יחידה:Citation/CS1/Configuration בשורה 1739<includeonly></includeonly>: attempt to index field '?' (a nil value).