חיפוש

מהי טכנולוגיית Flutter?

[כתבה זו לקוחה מערך הויקיפדיה אשר נכתב ונערך על ידינו ושוכתב גם פה]


טכנולוגיית Flutter היא ערכת פיתוח תוכנה ממשק משתמש בקוד פתוח שנוצרה על ידי גוגל. פלאטר משמש לפיתוח אפליקציות עבור אנדרואיד, iOS, Windows, Mac, Linux, Google Fuchsia web.

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

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

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

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

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

חומרים רבים ואיכותיים כמו ערך זה מתוחזקים על ידי קהילת ה-Flutter הישראלית: Flutter Israel Developers.


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

  • שפת ופלטפורמת דארט

  • מנוע רינדור של פלאטר

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

  • וידגטים ספציפיים לעיצוב

שפת דארט Dart

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


ב- Windows, macOS ו- Linux דרך פרויקט הטמעת שולחן העבודה Flutter Desktop למחצה, Flutter פועל במכונה הווירטואלית דארט (Dart VM) הכוללת מנוע ביצוע בדיוק בזמן. תוך כדי כתיבת יישום וניפוי של אפליקציה, Flutter משתמש בקומפילציה של Just In Time, ומאפשר "טען מחדש חם" (Hot reload), בעזרתו ניתן להזרים שינויים לקובצי המקור ליישום פועל. רפרוף מרחיב זה עם תמיכת מצבים רעננה חם, שבו ברוב מקרי שינויים בקוד המקור יכולים להשתקף מייד ביישום פועל ללא צורך בהפעלה מחדש או כל אובדן של מצב State תכונה זו, המיושמת בפלאטר, זכתה לשבחים רבים.


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


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

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


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

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


ווידג'טים

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


יישומונים ספציפיים לעיצוב

מסגרת ה- Flutter מכילה שתי קבוצות ווידג'טים התואמות לשפות עיצוב ספציפיות. ווידג'טים לעיצוב חומרים מיישמים את שפת העיצוב של גוגל באותו שם, ווידג'טים קופרטינו מיישמים את הנחיות הממשק האנושי של iOS של Apple.

דוגמת Hello World

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


 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 }
 


-------------------------------

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

https://fid.dev/facebook

אם אתם מעוניינים ללמוד Flutter או להתייעץ איתנו בכל שאלה בנושא, יש לנו מגוון מקורות מסודרים לתת לכם:

https://fid.dev/whatsapp


בברכה,

ברק מנחם | 0524671406

מנהל קהילת Flutter Israel Developers.

86 צפיות0 תגובות