All language subtitles for 012 First Summary & Additional Syntax_en

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu

Original subtitles

لذلك حصلنا على الأسطر الأولى من التعليمات البرمجية التي أدت إلى هذا التطبيق الذي من الواضح أنه ليس من النوع

من التطبيق الذي سنقوم بشحنه إلى متجر التطبيقات. بعد

قبل أن نتعمق أكثر في بناء تطبيق أكثر جمالًا قليلاً ، اسمحوا لي أن ألخص باختصار ما

لقد تعلمنا حتى الآن ونعم ، إنه تكرار ولكن من المهم جدًا أن تفهمه

كيف يعمل هذا وماذا فعلنا.

لذلك لدينا ملف main.dart مع الوظيفة الرئيسية ويتم تنفيذ هذه الوظيفة الرئيسية تلقائيًا

عندما يتم إطلاق تطبيقنا ،

هذا مهم. هناك ، نسمي التطبيق run وهي وظيفة يوفرها فريق Flutter في material.dart

الحزمة التي نستوردها هنا.

يمكننا استيراد حزمة Flutter وهناك ، ملف المواد لأن لدينا الاتصال في ملف

ملف .pubspec.yaml. في وقت لاحق من الدورة ، سنضيف أيضًا حزمًا أخرى لجهات خارجية لإضافة المزيد من الميزات التي

ليس علينا أن نبني أنفسنا.

مع ذلك ، نسمي runApp و runApp هي وظيفة تقوم بكل الأحمال الثقيلة وراء الكواليس

لأخذ عنصر واجهة مستخدم أنشأناه ورسمه على الشاشة ، على وجه الدقة ، ما يفعله في النهاية هو ذلك

يستدعي طريقة الإنشاء في عنصر واجهة المستخدم لدينا لأن هذه قاعدة مهمة الآن ،

يحتاج كل عنصر واجهة مستخدم في Flutter إلى توسيع عنصر واجهة مستخدم عديم الحالة أو عنصر واجهة مستخدم ذي حالة سأتعمق فيه لاحقًا ،

لذلك يحتاج إلى تمديد إحدى فئتي عناصر واجهة المستخدم الأساسية هاتين وستجبرك كل فئة من هذه الفئات على ذلك

إضافة طريقة بناء لأنه في النهاية ، سوف يستدعي Flutter طريقة الإنشاء هذه دائمًا من أجلك ،

حتى لا تسميها ، يسميها Flutter عندما يُطلب منك رسم شيء ما على الشاشة.

يطالب runApp Flutter أو يخبر Flutter برسم شيء ما على الشاشة وبالتالي يقوم Flutter بذلك

قم بالكثير من الأشياء ولكن أيضًا استدعاء طريقة إنشاء الأداة التي تمررها إلى runApp.

تكون طريقة الإنشاء مسؤولة دائمًا عن إرجاع عنصر واجهة مستخدم جديد يجب رسمه على الشاشة

وبالتالي في وقت ما ، يجب أن ينتهي بك الأمر بإعادة إحدى الأدوات الأساسية

يأتي Flutter مع لأن هذه ستحتوي بعد ذلك على التفاصيل الدقيقة للتحكم حقًا في وحدات البكسل

لذلك اقول. بالطبع يفعلون أكثر من ذلك بقليل ولكن باختصار ، هكذا يمكنك التفكير في ذلك.

لذا تحتاج الأدوات المصغّرة إلى إرجاع عناصر واجهة المستخدم ، وبالتالي في وقت ما ، سينتهي بك الأمر بإعادة هذه العناصر

الحاجيات الأساسية وفي النهاية ، ستقوم ببناء واجهة المستخدم بالكامل باستخدام عناصر واجهة المستخدم الأساسية هذه لأن

هناك عناصر واجهة مستخدم أساسية لكل شيء قد ترغب في بنائه وستتعلم كيفية العمل

معهم وكيفية العثور على الأداة المناسبة لأي وظيفة ، ستتعلم كل ذلك طوال الدورة التدريبية.

الآن طريقة البناء تحول حجة السياق هذه. الآن منذ أن دعا Flutter للبناء من أجلك ، إنه Flutter's

وظيفة لتوفير قيمة للسياق ، لذلك لا داعي للقلق بشأن ذلك ، ما عليك سوى قبوله

هنا

بما أنك تكتب أسلوب البناء في هذا المكان هنا. السياق كما ذكرت سيكون هدفا

اكتب سياق البناء ، لذلك باستخدام مخطط سياق البناء الذي يتم توفيره أيضًا بواسطة Flutter ، والذي يحمل

بعض البيانات الوصفية حول هذه القطعة ، وموقعها في شجرة عناصر واجهة المستخدم والتطبيق العام الخاص بك إذا جاز التعبير.

هذا ما يحدث هنا. الآن في طريقة إنشاء عنصر واجهة مستخدم MyApp هنا ، لدينا تطبيق MaterialApp

التي أعود إليها والتي بدورها عبارة عن أداة ولكنها الآن أداة مقدمة من فريق Flutter.

يستخدم هذا وسيطة مسماة ، منزل وكقيمة لهذه الوسيطة المسماة ، قمت بتمرير عنصر واجهة مستخدم آخر ، وهو

عنصر واجهة المستخدم للنص والذي يتم توفيره أيضًا بواسطة حزمة Flutter ويستخدم هذا ما يسمى بالحجة الموضعية.

لذا فإن كل من text و hello عبارة عن وسيطات ، والنص هو حجة لـ MaterialApp للحجة الرئيسية ومرحبًا

حجة لأداة النص.

الآن كل من هذه الأدوات ، MaterialApp والنص ، في فئات Dart النهائية ، كل عنصر واجهة مستخدم هو مجرد Dart

الطبقة التي في النهاية لها طريقة بناء ،

هذا شيء يمكنك تذكره.

هذا ما يحدث هنا

من الجدير أيضًا الإشارة إلى أنه من خلال إضافة الأقواس بعد اسم صفك ، كما نفعل هنا هنا ،

نحن نقوم بإنشاء مثيل لتلك الفئة لذلك نحن ننشئ كائنًا ملموسًا لتلك الفئة ، هنا من MyApp

عنصر واجهة المستخدم ، نقوم بإنشاء كائن من ذلك ونقوم بتمريره إلى runApp الذي يقوم بعد ذلك بتمريره إلى Flutter

حتى نقول وهذا ما يظهر في النهاية هنا على الشاشة.

الآن مع كل ذلك ، تطرقنا فقط إلى بعض الأساسيات الأساسية للغة Dart بالطبع ،

هناك أكثر من وسيطات مسماة وطرق متغيرات وما إلى ذلك ، لكننا سنتعلم كل ذلك خطوة بخطوة

وليس مقدمًا أمام الدورة ،

بدلاً من ذلك ، دعنا نتعمق أكثر الآن ونتأكد من أننا نرى شيئًا أكثر جمالا في

شاشة.

ومع ذلك ، قبل القيام بذلك ، هناك تعليق توضيحي واحد مهم أريد إضافته إلى طريقة الإنشاء هذه

وهذا هوOverride.

الآن من الناحية الفنية ، هذا ليس مطلوبًا ،

تطبيقنا يعمل بدون ذلك.

هذا ما يسمى بالديكور وهو مصمم أيضًا ، والذي من المحتمل أنك خمنته ، يتم توفيره أيضًا

بواسطة Dart and Flutter ، لذلك يتم توفير ميزة override فعليًا بواسطة Dart ، وليس بواسطة Flutter ولكن هناك أدوات تزيين أخرى

مثل هذا الشيء المطلوب الذي أريتكم إياه سابقًا والذي سيوفره Flutter.

الآن ما الذي يفعله هذا المصمم ،

عملت بدونها؟

نعم ، يعمل بدونها ،

إنه موجود فقط لجعل الكود الخاص بنا أكثر وضوحًا وأنظف قليلاً.

هذا يوضح حقًا أننا نتجاوز عمدًا طريقة الإنشاء التي يوفرها

أداة عديمة الحالة

إنه موجود هناك ولكننا نتجاوزه من خلال تطبيقنا الخاص وقوى عنصر واجهة المستخدم عديمة الحالة بالفعل

علينا أن نتجاوزه ،

ليس لدينا خيار عدم تجاوزها ، مع ذلك ،

هذه في الأساس ممارسة شائعة وممارسة جيدة.

إذا قمت بتوفير طريقة موجودة أيضًا في الفصل الدراسي الذي تقوم بتوسيعه ، فيجب عليك إضافةOverride

لتوضيح أنك لا تقوم بطريق الخطأ بالكتابة فوق هذه الطريقة الموجودة بالفعل ولكن عن عمد

لأنه عند إضافة طريقة الإنشاء الخاصة بك هنا وكان عنصر واجهة المستخدم عديم الحالة يحتوي أيضًا على طريقة واحدة ، ثم أسلوب عديم الحالة

لن يتم النظر في عنصر واجهة المستخدم في تطبيقي ولكن سيتم النظر في إرادتك الخاصة وهذا شيء تمامًا

عليك أن تفعل هنا.

هذا ليس خطأ ، فأنت تريد أن تفعل ذلك ، فأنت تريد فقط أن تكون واضحًا أن هذا قد تم عمداً. إذن كذلك

شيء صغير ، أسلوبي ، لا يزال شيئًا سنراه طوال الدورة وبالتالي أريد ذلك

أذكر هنا. وهناك شيء آخر ستراه ،

على سبيل المثال عند إنشاء تطبيق Flutter جديد. بدلًا من أن تبدو الوظيفة الرئيسية هكذا ، أنت أيضًا

يمكنه رؤية شيء يشبه هذا ،

لديك فراغ main ، ثم لديك الأقواس الخاصة بك ، لذلك هذا هو نفسه الذي لدينا هنا ولكن بعد ذلك

بدلاً من الأقواس المتعرجة ، لديك علامة يساوي وعلامة أكبر ،

لذا فهو نوع من الأسهم

وبعد ذلك قمت بتشغيلApp MyApp.

إذن ما كان لدينا بين الأقواس المتعرجة الآن يأتي بعد هذا السهم بدون أقواس مجعدة وهذا هو

صيغة Dart صالحة أيضًا ،

إنه اختصار للوظائف التي تحتوي على تعبير واحد فقط وتعبير واحد تمامًا ، لذلك سطر واحد فقط من التعليمات البرمجية

في الوظيفة ،

ثم يمكنك حذف الأقواس المتعرجة وبدلاً من ذلك إضافة مثل هذا السهم هنا ، والذي يخبر Dart أن هذا هو

تعمل بتعبير واحد فقط

وهذا هو التعبير ،

من فضلك نفذ ،

لا يوجد شيء آخر

وسيتم أيضًا إرجاع نتيجة هذا التعبير هنا تلقائيًا.

الآن هنا ، لا يُرجع runApp أي شيء ، وبالتالي فإن وظيفتنا العامة لا تُرجع أي شيء

ولكن إذا كان runApp سيعيد قيمة ،

ثم سيتم إرجاع هذا تلقائيًا بواسطة وظيفتنا هنا أيضًا.

يمكنك استخدام ذلك لأي دالة بتعبير واحد حيث تريد بعد ذلك تنفيذ هذا التعبير.

لذلك هذا مجرد بناء جملة بديل لذلك وهو مجرد شيء أريد الخروج منه هنا

حتى يتضح ما يفعله هذا

إذا رأيت ذلك.

ولكن مع ذلك ، دعنا الآن نتأكد من أن لدينا تطبيقًا أكثر جمالًا على الشاشة.

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.