1
00:00:00,000 --> 00:00:04,322
[MUSIC]

2
00:00:04,322 --> 00:00:09,700
قبل أن نبدأ في فحص Angular بمزيد من التفصيل، دعونا نسأل أنفسنا

3
00:00:09,700 --> 00:00:14,681
السؤال الأساسي، لماذا نحتاج إلى أطر جافا سكريبت هذه؟

4
00:00:14,681 --> 00:00:18,348
ما هي بالضبط، وماذا تساعدنا على

5
00:00:18,348 --> 00:00:23,160
تحقيق ما لا يمكننا القيام به باستخدام جافا سكريبت القياسية؟

6
00:00:24,330 --> 00:00:28,610
دعونا ندرس بعض هذه الأسئلة بالتفصيل قليلا في هذه المحاضرة.

7
00:00:30,690 --> 00:00:33,950
أولا، لماذا أطر جافا سكريبت؟ من

8
00:00:33,950 --> 00:00:38,470
الواضح، من تجربتك السابقة مع جافا سكريبت

9
00:00:38,470 --> 00:00:44,440
وربما أيضا تجربة مع الأطر المستندة إلى واجهة المستخدم على شبكة الإنترنت مثل Bootstrap

10
00:00:44,440 --> 00:00:48,780
واستخدام jQuery، كنت أكثر أو أقل أحسب أنه يمكنك

11
00:00:48,780 --> 00:00:53,800
الحصول على معظم الأشياء التي تريد القيام بها على موقع ويب أنجزت،

12
00:00:53,800 --> 00:00:57,560
وذلك باستخدام كل هذه الأدوات و التقنيات التي لديك بالفعل في متناول اليد.

13
00:00:58,700 --> 00:01:03,940
وفي الواقع، يمكن تنفيذ العديد من المواقع الناجحة باستخدام

14
00:01:03,940 --> 00:01:07,980
هذه التقنيات والأدوات البسيطة.

15
00:01:07,980 --> 00:01:19,010
ولكن مع تزايد تعقيد التطبيق الخاص بك،

16
00:01:19,010 --> 00:01:23,950
يصبح مقدار التلاعب DOM الذي يجب القيام به وكمية تحديثات البيانات التي تحتاج إلى التعامل معها يدويًا معقدًا بشكل كبير.

17
00:01:25,770 --> 00:01:30,770
قد

18
00:01:30,770 --> 00:01:36,200
لا تعالج الطرق البسيطة مثل استخدام مكتبة jQuery بما فيه الكفاية الاحتياجات التي لديك في متناول اليد.

19
00:01:36,200 --> 00:01:41,160
هذا هو المكان الذي

20
00:01:51,820 --> 00:01:57,820
يساعد فيه توافر أطر منظمة بشكل جيد مثل Angular التي تعتمد على النماذج القياسية أو هندسة البرمجيات أو أنماط هندسة البرمجيات مثل وحدة تحكم عرض النموذج أو نموذج عرض النموذج أو عرض النموذج أيا كان، على

21
00:01:57,820 --> 00:02:03,430
تنفيذ هذه الويب التطبيقات بشكل فعال وواسع النطاق.

22
00:02:03,430 --> 00:02:07,440
الآن في هذا السياق، يمكننا أن نتحدث عن هذا بمزيد من التفصيل

23
00:02:07,440 --> 00:02:09,430
بينما نمضي في هذه الدورة.

24
00:02:09,430 --> 00:02:14,870
سنتحدث أيضًا عن كيفية ربط النموذج بعرض

25
00:02:14,870 --> 00:02:19,550
واستخدام وحدات التحكم ونماذج العرض لإنجاز هذه الأشياء.

26
00:02:19,550 --> 00:02:24,320
سيتم مناقشتها بمزيد من التفصيل بينما ندرس Angular في هذه الدورة.

27
00:02:25,500 --> 00:02:30,900
اسمحوا لي أن أذكركم بسرعة ما هي مكتبة البرمجيات،

28
00:02:30,900 --> 00:02:35,240
مكتبة البرمجيات هي مجموعة من تطبيقات

29
00:02:35,240 --> 00:02:40,070
السلوكيات التي تستخدمها مرارا وتكرارا داخل التطبيقات الخاصة بك.

30
00:02:40,070 --> 00:02:44,775
لذلك يمكن تنفيذ هذه السلوكيات باستخدام وظائف ذات

31
00:02:44,775 --> 00:02:45,643
واجهات محددة بشكل جيد

32
00:02:45,643 --> 00:02:51,480
بحيث يصبح استخدامها في تنفيذ التطبيق الخاص بك أمرًا مباشرًا.

33
00:02:51,480 --> 00:02:56,610
إذا قمت بالبرمجة بأي لغة،

34
00:02:56,610 --> 00:03:01,780
فسترى غالبًا أن العديد من الوظائف القياسية المدعومة

35
00:03:01,780 --> 00:03:07,038
بهذه اللغات يتم تنفيذها من خلال المكتبات التي تستخدمها.

36
00:03:07,038 --> 00:03:11,775
على سبيل المثال، مكتبات إخراج المدخلات وربما حتى

37
00:03:11,775 --> 00:03:17,875
مكتبات واجهة المستخدم الرسومية التي تدعمها العديد من لغات البرمجة القياسية.

38
00:03:17,875 --> 00:03:22,377
هذا هو المكان الذي يكون فيه مفهوم إعادة استخدام السلوك

39
00:03:22,377 --> 00:03:27,847
فعالاً للغاية لأننا قادرون على تنفيذه مرة واحدة في المكتبة

40
00:03:27,847 --> 00:03:33,847
ثم إعادة استخدام هذا السلوك أينما احتجنا داخل تطبيق البرنامج الخاص بنا.

41
00:03:33,847 --> 00:03:40,477
هذا يجلب أيضًا نمطية للطريقة التي يتم بها تنفيذ تطبيقنا.

42
00:03:40,477 --> 00:03:46,500
مثال جيد على مكتبة البرامج المستخدمة في عالم الويب هو jQuery.

43
00:03:47,540 --> 00:03:50,150
إذا كنت قد أخذت دورة Bootstrap السابقة،

44
00:03:50,150 --> 00:03:55,130
كنت قد رأيت بعض عناصر jQuery في هذه الدورة.

45
00:03:55,130 --> 00:03:56,360
في هذا السياق،

46
00:03:56,360 --> 00:04:02,720
اسمحوا لي أيضا أن أميز مكتبة البرمجيات من إطار البرمجيات.

47
00:04:02,720 --> 00:04:05,980
إطار البرنامج هو التجريد

48
00:04:05,980 --> 00:04:10,770
الذي يوفر البرنامج مثل هذه الوظائف العامة ومن

49
00:04:10,770 --> 00:04:15,960
ثم يوفر لك القدرة على تخصيص هذه الوظيفة

50
00:04:15,960 --> 00:04:19,550
لتنفيذ الحلول لتطبيقك المحدد.

51
00:04:19,550 --> 00:04:25,200
لذلك سوف تزيد من إطار البرنامج مع التعليمات البرمجية الخاصة بك

52
00:04:25,200 --> 00:04:29,490
من أجل تحقيق كل ما تحاول تحقيقه.

53
00:04:29,490 --> 00:04:33,540
لذلك هذه طريقة مختلفة للتفكير في كيفية

54
00:04:33,540 --> 00:04:38,180
محاولة حل المشكلة بدلا من استخدام مكتبة البرمجيات.

55
00:04:38,180 --> 00:04:45,190
الآن، يوفر إطار البرنامج هذا بيئة عالمية قابلة لإعادة الاستخدام

56
00:04:45,190 --> 00:04:52,090
مع وظائف معينة التي هي جزء من منصة برمجية أكبر.

57
00:04:52,090 --> 00:04:57,770
سننظر إلى Angular كمثال على كيفية تحقيق ذلك بمزيد من التفصيل.

58
00:04:57,770 --> 00:05:02,100
هناك العديد من أطر البرمجيات الأخرى التي يتم استخدامها في عالم الويب

59
00:05:02,100 --> 00:05:06,400
بما في ذلك إمبر، العمود الفقري، وغيرها الكثير.

60
00:05:06,400 --> 00:05:10,380
الآن هنا، من الواضح أنك قد تفكر في السؤال.

61
00:05:10,380 --> 00:05:13,670
كيف يمكنك تمييز مكتبة من إطار العمل؟

62
00:05:13,670 --> 00:05:17,070
ما هي الخصائص البارزة لكل منها

63
00:05:17,070 --> 00:05:22,070
ولماذا تصنف واحدة كمكتبة وواحدة أخرى كإطار عمل؟

64
00:05:22,070 --> 00:05:25,040
أين ترسم التمييز بين الاثنين؟

65
00:05:25,040 --> 00:05:26,687
الآن هذا يجب أن أقول،

66
00:05:26,687 --> 00:05:31,033
هناك خط رفيع يفصل مكتبة من إطار العمل.

67
00:05:31,033 --> 00:05:34,883
اعتمادا على كيفية التعامل مع هذا، يمكنك عرض واحد أو

68
00:05:34,883 --> 00:05:38,480
آخر إما مكتبة، أو إطار عمل،

69
00:05:38,480 --> 00:05:43,000
واعتمادا على من تسأل، قد يقوم بعض الناس بتصنيف

70
00:05:43,000 --> 00:05:47,796
نهج معين كنهج مكتبة بدلا من نهج إطار العمل.

71
00:05:47,796 --> 00:05:52,258
مرة أخرى، دعونا لا تقسيم شعرنا حول محاولة

72
00:05:52,258 --> 00:05:56,300
تصنيف الأشياء بالضبط في مكتبة أو إطار.

73
00:05:56,300 --> 00:06:00,330
ومن منظورنا, إذا ساعدنا شيء ما على إنجاز مهمتنا,

74
00:06:00,330 --> 00:06:03,670
فإننا نشعر بالارتياح إزاء هذا النهج.

75
00:06:03,670 --> 00:06:08,570
مرة أخرى، بعد أن قلت ذلك، دعونا نميز بين المكتبة

76
00:06:08,570 --> 00:06:10,400
والإطار بمزيد من التفصيل.

77
00:06:10,400 --> 00:06:13,510
من أجل فهم كيفية التعامل مع

78
00:06:13,510 --> 00:06:17,680
هذه الطريقة بأكملها لكتابة التطبيق الخاص بك.

79
00:06:17,680 --> 00:06:22,300
عند استخدام مكتبة بدلاً من استخدام إطار عمل.

80
00:06:23,820 --> 00:06:28,250
لذا في هذا السياق، فإن التعريف التالي الذي اقترضته

81
00:06:28,250 --> 00:06:33,520
من وثائق AngularJS، أشعر أنه

82
00:06:33,520 --> 00:06:38,800
يعطي تمييزًا أكثر وضوحًا بين المكتبة والإطار.

83
00:06:38,800 --> 00:06:44,720
لذا، يقول هذا التعريف أن المكتبة عبارة عن مجموعة من الوظائف

84
00:06:44,720 --> 00:06:50,740
المفيدة لكتابة تطبيقات الويب، حيث أن jQuery مثال على ذلك.

85
00:06:50,740 --> 00:06:54,270
لذلك هذا هو مجموعة من الوظائف التي تتوفر لك.

86
00:06:54,270 --> 00:06:59,380
يمكنك الاستفادة من هذه الوظائف عند تنفيذ

87
00:06:59,380 --> 00:07:01,710
حل البرنامج الخاص بك لمشكلتك.

88
00:07:03,150 --> 00:07:08,370
عند استخدام هذا الأسلوب، فأنت المبرمج الذي يتحكم دائمًا في

89
00:07:08,370 --> 00:07:13,340
كيفية الاستفادة من الوظائف

90
00:07:13,340 --> 00:07:17,290
التي توفرها المكتبة لإنجاز ما تحاول القيام به.

91
00:07:18,630 --> 00:07:23,540
الإطار من ناحية أخرى هو تنفيذ محدد أو

92
00:07:23,540 --> 00:07:27,047
تنفيذ معين لتطبيق ويب،

93
00:07:27,047 --> 00:07:31,650
حيث يعطي الإطار نفسه بنية عامة واسعة

94
00:07:31,650 --> 00:07:35,470
للتطبيق الخاص بك ومن ثم يطلب منك ملء التفاصيل.

95
00:07:36,570 --> 00:07:41,680
التفاصيل الضرورية لتخصيص هذا التطبيق

96
00:07:41,680 --> 00:07:46,030
لحل المشكلة المحددة التي تحاول معالجتها.

97
00:07:46,030 --> 00:07:52,040
حتى هنا، يأخذ الإطار السيطرة الكاملة على كيفية تشغيل هذه التطبيقات ومن

98
00:07:52,040 --> 00:08:00,870
ثم فإنه سيتم الاتصال في التعليمات البرمجية المقدمة من المستخدم الذي يساعده على إنجاز العمل.

99
00:08:00,870 --> 00:08:04,620
رمز التطبيق المحدد هو شيء سوف تكتبه

100
00:08:04,620 --> 00:08:09,830
وتزويده وسوف يصبح جزءا من التطبيق بأكمله،

101
00:08:09,830 --> 00:08:14,510
جنبا إلى جنب مع الإطار، وأنه يساعد على إنجاز مهمتك.

102
00:08:14,510 --> 00:08:17,861
مرة أخرى، قد لا يمكّنك هذا تمامًا

103
00:08:17,861 --> 00:08:21,722
من فهم التمييز بين الإطار والمكتبة.

104
00:08:21,722 --> 00:08:23,155
دعونا مرة أخرى، كما قلت،

105
00:08:23,155 --> 00:08:26,878
دعونا لا نشر الشعر لدينا في محاولة لمعرفة كل هذه التفاصيل.

106
00:08:26,878 --> 00:08:31,815
ما نحتاج إلى فهمه هو Angular هو مثال على إطار العمل

107
00:08:31,815 --> 00:08:37,187
وعند كتابة التطبيقات في Angular، يأخذ الإطار السيطرة وتقوم

108
00:08:37,187 --> 00:08:42,212
بشكل أساسي بتوفير الأجزاء المفقودة من الشفرة المطلوبة

109
00:08:42,212 --> 00:08:47,610
لتخصيص الإطار لتنفيذ تطبيق الويب الخاص بك.

110
00:08:49,070 --> 00:08:52,440
فحص إطار الكلمة بمزيد من التفصيل.

111
00:08:52,440 --> 00:08:58,000
عندما نتحدث عن إطار عمل،

112
00:08:58,000 --> 00:09:04,040
يتم تلخيص أحد الجوانب الهامة حول كيفية عمل الإطار بهذا المصطلح المسمى مبدأ هوليوود.

113
00:09:04,040 --> 00:09:06,600
ما الذي أعنيه بالضبط بـ «مبدأ هوليوود»؟

114
00:09:06,600 --> 00:09:11,870
الآن، إذا كنت تعرف كيف يعمل وكيل هوليوود، عندما

115
00:09:11,870 --> 00:09:17,100
يريد ممثل أو ممثلة العثور على عمل في هوليوود،

116
00:09:17,100 --> 00:09:21,550
سيقتربون من وكيل والوكيل عادة ما يخبرك،

117
00:09:21,550 --> 00:09:25,150
سنعاود الاتصال بك عندما يكون لدينا عمل لك.

118
00:09:25,150 --> 00:09:27,400
لا تتصلي بنا، سنعاود الإتصال بك

119
00:09:27,400 --> 00:09:30,860
لذلك، في الأساس الإطار يعكس نفس النوع من المبدأ.

120
00:09:30,860 --> 00:09:35,440
يقول الإطار، يمكنك توفير كل ما يمكنك القيام به

121
00:09:35,440 --> 00:09:41,000
وسيقوم الإطار باستدعاء التعليمات البرمجية الموردة كلما احتاج إلى القيام بشيء ما.

122
00:09:42,470 --> 00:09:48,442
هذا هو السبب في أننا نستخدم هذا المصطلح هوليوود المبدأ في عالم البرمجيات.

123
00:09:49,540 --> 00:09:54,575
ويمكن أيضا تلخيص ذلك باستخدام هذا

124
00:09:54,575 --> 00:09:57,685
التعبير الآخر يسمى عكس التحكم.

125
00:09:57,685 --> 00:10:01,715
عند استخدام مكتبة، يكون المبرمج

126
00:10:01,715 --> 00:10:07,435
مسيطرًا، وتملي كيفية عمل الشفرة وكيفية تنفيذ الشفرة.

127
00:10:08,752 --> 00:10:10,092
عند استخدام إطار عمل،

128
00:10:10,092 --> 00:10:14,712
فأنت تقوم بشكل أساسي بتسليم امتيازك إلى الإطار

129
00:10:14,712 --> 00:10:21,360
وتسمح لهذا الإطار بتحمل المسؤولية ثم تملي كيفية تشغيل التطبيق.

130
00:10:21,360 --> 00:10:28,000
الآن بينما قد يبدو أن هذا مثل التنازل عن استقلاليتك،

131
00:10:28,000 --> 00:10:32,920
بالتأكيد ليس هذا هو الحال، إذا كان الإطار لديه سبب معين

132
00:10:32,920 --> 00:10:40,040
لتحمل مسؤولية إنجاز كل ما يحتاج إلى القيام به نيابة عنك.

133
00:10:40,040 --> 00:10:45,050
لذلك هذا هو المكان الذي يمكننا أن نميز بين

134
00:10:45,050 --> 00:10:47,750
نهجين لكتابة البرامج.

135
00:10:47,750 --> 00:10:51,320
واحد دعا باعتبارها الطريقة الحتمية لكتابة البرامج،

136
00:10:51,320 --> 00:10:54,910
والثانية تسمى كوسيلة إعلانية لكتابة البرامج.

137
00:10:54,910 --> 00:10:57,550
إذا كنت قد فعلت أي دورة لغات البرمجة،

138
00:10:57,550 --> 00:11:01,780
فسوف تكون قد رأيت أن لغات البرمجة عادة ما تستخدم

139
00:11:01,780 --> 00:11:08,380
طريقة واحدة أو أخرى أن هذا الدعم في كتابة البرامج.

140
00:11:08,380 --> 00:11:10,120
في البرمجة

141
00:11:10,120 --> 00:11:15,480
الحتمية، ستقوم بتحديد وظائف البرنامج بطريقة خطوة بخطوة.

142
00:11:15,480 --> 00:11:18,020
لذلك كنت تماما والسيطرة

143
00:11:18,020 --> 00:11:22,830
ومن ثم كنت أقول أساسا، وهذا هو كيف لديك لإنجاز المهمة ومن

144
00:11:22,830 --> 00:11:27,190
ثم عليك أن تكتب خطوة خطوة طريقة لإنجاز المهمة.

145
00:11:27,190 --> 00:11:32,520
لذلك أنت كمبرمج تسيطر تماما في تحديد الخطوات الدقيقة

146
00:11:32,520 --> 00:11:33,720
لحل المشكلة.

147
00:11:34,750 --> 00:11:37,550
في البرمجة التعريفية من ناحية أخرى،

148
00:11:37,550 --> 00:11:42,210
والتي يتم استخدامها بشكل فعال من قبل أطر مثل Angular.

149
00:11:42,210 --> 00:11:47,560
أنت تقول بشكل أساسي أن هذا ما أريد تحقيقه،

150
00:11:47,560 --> 00:11:52,130
وهذه هي الطريقة التي قمت بتخصيص ما أريد تحقيقه على وجه التحديد.

151
00:11:52,130 --> 00:11:55,420
كيف يتم ذلك ليس مصدر قلق بالنسبة لي.

152
00:11:55,420 --> 00:11:59,580
ول كنني سأسلم تلك المسؤولية إلى الإطار.

153
00:11:59,580 --> 00:12:04,239
لذلك، في الأساس، كنت توريد رمز العرض المستخدم الخاص بك إلى الإطار

154
00:12:04,239 --> 00:12:09,470
ويقول، الآن هذا هو ما أريد منك أن تفعل، يمكنك تولي المسؤولية وجعل هذا يحدث.

155
00:12:09,470 --> 00:12:13,920
وبهذه الطريقة في البرمجة التعريفية، أنت تعلن فقط ما هو

156
00:12:13,920 --> 00:12:18,379
نيتك والسماح للإطار يقرر كيف سيتم تحقيق ذلك.

157
00:12:18,379 --> 00:12:24,675
طريقتان مختلفتان للتفكير حول كيفية اقترابك من حل مشكلتك.

158
00:12:24,675 --> 00:12:29,268
هذا شيء يجب عليك الحصول على رأسك عندما تتعلم

159
00:12:29,268 --> 00:12:34,346
Angular لأنه إذا كنت قادمًا من عالم البرمجة الحتمية،

160
00:12:34,346 --> 00:12:38,214
فسيكون ميلك العام هو التحكم في كل شيء

161
00:12:38,214 --> 00:12:42,188
وإملاء خطوة بخطوة كيف تريد تحقيقه.

162
00:12:42,188 --> 00:12:47,370
لذلك يستغرق بعض الوقت لتغليف رأسك حول هذا المفهوم أنك

163
00:12:47,370 --> 00:12:49,570
لا تتحكم بالضرورة في كل خطوة.

164
00:12:49,570 --> 00:12:54,550
بدلاً من ذلك، تخبر الإطار بما تريد أن تصبح عليه، ليتم إنجازه.

165
00:12:54,550 --> 00:12:59,120
وإعطاء المسؤولية للإطار لإنجاز

166
00:12:59,120 --> 00:13:01,640
المهمة نيابة عنك.

167
00:13:01,640 --> 00:13:07,880
مرة أخرى، لا تقلق كثيرًا حيال ذلك، ولا تقرأ الكثير في هذه التعريفات.

168
00:13:07,880 --> 00:13:13,640
هذه هي من مصلحة أكاديمية، وهذه هي قاعدة لتحديد

169
00:13:13,640 --> 00:13:19,080
أنماط مختلفة من السلوكيات من منظور مطور تطبيقات الويب.

170
00:13:19,080 --> 00:13:21,890
كل ما يهمك هو كيفية

171
00:13:21,890 --> 00:13:27,398
إنجاز عملك باستخدام Angular كإطار تطبيق الويب.

172
00:13:27,398 --> 00:13:30,370
القادمة إلى عالم أطر جافا سكريبت،

173
00:13:30,370 --> 00:13:35,140
سوف تسمع الكثير من المصطلحات المستخدمة مع أطر جافا سكريبت.

174
00:13:35,140 --> 00:13:39,134
سوف تسمع في كثير من الأحيان الناس يتحدثون عن شيء يسمى

175
00:13:39,134 --> 00:13:45,110
تطبيق PPage واحد أو مصطلح متحالف يسمى تطبيق الإنترنت الغني.

176
00:13:45,110 --> 00:13:48,980
مرة أخرى، سوف ندرس ما يعنيه هذا في أحد

177
00:13:50,030 --> 00:13:54,570
الدروس اللاحقة في هذه الدورة في سياق Angular.

178
00:13:54,570 --> 00:13:58,685
وبالمثل، سوف تسمع أيضا الناس يتحدثون عن نموذج عرض المراقب المالي،

179
00:13:58,685 --> 00:14:01,920
نموذج عرض فيوموديل، نموذج عرض - أيا كان، وهلم جرا.

180
00:14:02,930 --> 00:14:07,550
مرة أخرى، هذا كما قلت، نموذج هندسة البرمجيات

181
00:14:07,550 --> 00:14:11,950
التي نستخدمها لتطوير تطبيقات البرمجيات.

182
00:14:11,950 --> 00:14:16,190
سنتحدث عن المزيد من التفاصيل حول هذا في سياق Angular،

183
00:14:16,190 --> 00:14:18,540
في أحد الدروس اللاحقة.

184
00:14:18,540 --> 00:14:23,945
وفي هذا السياق، تسمع في Angular، أشياء مثل ربط البيانات،

185
00:14:23,945 --> 00:14:28,605
والتوجيه، اتجاه واحد واتجاهين ربط البيانات، وهلم جرا.

186
00:14:28,605 --> 00:14:34,170
مرة أخرى، لا يتم التخلص من كل هذه الشروط.

187
00:14:34,170 --> 00:14:39,000
ونحن سوف نفهم لهم ونحن المضي قدما في هذا المسار.

188
00:14:39,000 --> 00:14:43,370
وبالمثل، سوف تسمع في كثير من الأحيان عن

189
00:14:43,370 --> 00:14:47,120
شفرة جافا سكريبت قابلة للتطوير، قابلة لإعادة الاستخدام، وقابلة للصيانة، وهلم جرا.

190
00:14:47,120 --> 00:14:50,180
هذه مفاهيم

191
00:14:50,180 --> 00:14:55,960
رائعة أو سمات رائعة نريد تحقيقها مع تطبيقنا.

192
00:14:55,960 --> 00:15:02,650
سنرى كيف يساعدنا Angular على القيام بذلك في هذه الدورة بالذات.

193
00:15:02,650 --> 00:15:06,760
ومصطلح آخر أنك غالبا ما تسمع الناس يتحدثون عنه هو

194
00:15:06,760 --> 00:15:08,040
التطور المدفوع بالاختبار.

195
00:15:09,310 --> 00:15:13,880
يدعم الزاوي بالفعل التطوير المدفوع بالاختبار، لذلك حتى قبل تطوير

196
00:15:13,880 --> 00:15:19,740
تطبيقك، ستكتب الاختبار للتأكد من

197
00:15:19,740 --> 00:15:24,040
أن الشفرة التي تقوم بتطبيقها تحقق بالفعل ما تحاول تحقيقه.

198
00:15:24,040 --> 00:15:28,480
سوف ندرس قليلا من اختبار التنمية مدفوعة نحو الجزء الأخير

199
00:15:28,480 --> 00:15:30,250
من هذه الدورة.

200
00:15:30,250 --> 00:15:35,080
على الرغم من ذلك، إذا كنت ترغب في اعتماد نهج التطوير القائم على الاختبار

201
00:15:35,080 --> 00:15:38,050
لتنفيذ التطبيقات، فهذا نهج رائع. و

202
00:15:38,050 --> 00:15:41,232
لكن قبل أن نصل إلى تلك النقطة, من الأفضل

203
00:15:41,232 --> 00:15:45,890
لنا أن نفهم ما يساعدنا الإطار نفسه على إنجازه.

204
00:15:45,890 --> 00:15:50,680
لذا، في هذه الدورة، سأتعامل بإيجاز مع التطوير المدفوع بالاختبار.

205
00:15:50,680 --> 00:15:55,725
ولكن إذا كنت تقوم بتطبيق تطبيق Angular حقيقي، فستعتمد

206
00:15:55,725 --> 00:16:01,335
نهج تطوير قائم على الاختبار لتطوير تطبيقات Angular.

207
00:16:02,565 --> 00:16:09,245
هناك العديد من أطر جافا سكريبت المتوفرة في العالم الحقيقي.

208
00:16:09,245 --> 00:16:11,645
الزاوي يجري بداية.

209
00:16:11,645 --> 00:16:14,115
الزاوي في تجسيدها السابق

210
00:16:14,115 --> 00:16:19,170
كما كانت AngularJS واحدة من أطر جافا سكريبت الأكثر شعبية.

211
00:16:19,170 --> 00:16:22,510
سنلقي نظرة على Angular بمزيد من التفصيل عندما نذهب.

212
00:16:22,510 --> 00:16:27,060
وبالمثل، إذا نظرت إلى عالم أطر جافا سكريبت،

213
00:16:27,060 --> 00:16:32,160
فسوف تسمع الناس يتحدثون عن Ember، Backbone، React.

214
00:16:32,160 --> 00:16:37,870
على الرغم من أن بعض الناس يصنفون React كمكتبة بدلاً من إطار عمل.

215
00:16:37,870 --> 00:16:40,130
مرة أخرى، اعتمادا على من تسأل،

216
00:16:40,130 --> 00:16:45,770
قد يقول بعض الناس أنه إطار عمل وبعض الناس قد يقولون أنها مجرد مكتبة.

217
00:16:45,770 --> 00:16:50,960
مرة أخرى، دعونا لا تقلق كثيرا حول ما هو عليه ولكنه متاح بالنسبة

218
00:16:50,960 --> 00:16:55,898
لنا كنهج لتنفيذ تطبيقات الويب المعقدة.

219
00:16:55,898 --> 00:17:02,880
وبالمثل، أطر أصغر أخرى مثل أوريليا، نيزك، بوليمر،

220
00:17:02,880 --> 00:17:09,818
جوجل البوليمر الذي هو إطار القادمة، خروج المغلوب، فو وغيرها الكثير.

221
00:17:09,818 --> 00:17:13,650
وهناك المزيد والمزيد تضاف إلى هذا كل يوم.

222
00:17:13,650 --> 00:17:17,320
ما هي نكهة إطار جافا سكريبت اليوم؟

223
00:17:17,320 --> 00:17:17,820
الزاوي.

224
00:17:18,880 --> 00:17:25,710
لقد خرجت للتو من مرحلة التطوير وخرجت إلى العالم الحقيقي

225
00:17:25,710 --> 00:17:31,760
والناس يهربون لتطوير التطبيقات باستخدام Angular.

226
00:17:31,760 --> 00:17:35,910
لذلك هذا هو السبب في أننا مهتمون في Angular في هذه الدورة بالذات.

227
00:17:35,910 --> 00:17:38,450
الآن بمجرد أن تتعلم أحدها،

228
00:17:38,450 --> 00:17:42,860
ستبدأ في فهم النهج اللطيف الذي تستخدمه هذه الأطر.

229
00:17:42,860 --> 00:17:47,172
ربما تتمكن من التقاط أطر أخرى بشكل مماثل باستخدام

230
00:17:47,172 --> 00:17:51,930
المفاهيم العامة التي تتعلمها في هذه الدورة الدراسية بالذات.

231
00:17:51,930 --> 00:17:55,249
[ موسيقى]