SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
‫الرحيم‬ ‫الرحمن‬ ‫الله‬ ‫بسم‬
‫منه‬ ‫كان‬ ‫من‬ ُ‫د‬‫ويزي‬ ،
ً ‫ّا‬‫جي‬‫ن‬ ‫ناداه‬ ‫من‬ ‫ُجيب‬‫ي‬‫و‬ ،
ً ‫خفيا‬ ‫دعاه‬ ‫من‬ ‫ُحب‬‫ي‬ ،‫العالمين‬ ّ
‫رب‬ ‫لله‬ ‫حمد‬‫ل‬‫ا‬
.‫العالمين‬ ّ
‫رب‬ ‫لله‬ ‫حمد‬‫ل‬‫ا‬ ،
ً ‫ّا‬‫رضي‬ ‫الوعد‬ ‫صادق‬ ‫كان‬ ‫من‬ ‫ويهدي‬ ،
ً ‫ّا‬‫وفي‬ ‫له‬ ‫كان‬ ‫من‬ ‫يكرم‬‫و‬ ،
ً ‫ّا‬‫ي‬ِ‫حي‬
Web performance - 2
‫في‬
‫جزء‬‫ل‬‫ا‬
‫الأول‬
‫من‬
‫هذه‬
‫السلسلة‬
‫حدثنا‬‫ت‬
‫عن‬
‫مجموعة‬
‫من‬
‫المفاهيم‬
‫العامة‬
‫حول‬
‫ال‬
Web
performance
‫ولماذا‬
‫جب‬‫ي‬
‫أن‬
‫نهتم‬
‫بهذا‬
،‫الموضوع‬
‫والآن‬
‫سندخل‬
‫في‬
‫بعض‬
‫التفاصيل‬
‫بشكل‬
…‫عمقا‬ ‫أكثر‬
‫عندما‬
‫حدث‬‫ت‬‫ن‬
‫عن‬
‫ال‬
Web performance
‫فإننا‬
‫حدث‬‫ت‬‫ن‬
‫عن‬
‫وسيلة‬
‫قياس‬
‫موضوعية‬
‫للأداء‬
‫بالإضافة‬
‫إلى‬
‫جربة‬‫ت‬
‫المستخدم‬
‫المتوقعة‬
‫في‬
‫الموقع‬
‫خاص‬‫ل‬‫ا‬
‫بنا‬
‫بناء‬
‫على‬
‫ال‬
Business model
،
،‫خيلي‬‫ت‬ ‫أو‬ ‫حقيقي‬ ‫بشكل‬ ‫أسرع‬ ‫الإلكتروني‬ ‫الموقع‬ ‫جعل‬‫ن‬ ‫أن‬ ‫وهو‬ ،‫سابقا‬ ‫كرناه‬
‫ذ‬ ‫ما‬ ‫يعني‬ ‫وهذا‬
‫جعل‬‫ت‬ ‫التي‬ ‫الأساليب‬ ‫بعض‬ ‫استخدام‬ ‫خلال‬ ‫من‬ ‫خيلي‬‫ت‬‫و‬ ،‫الفعلية‬ ‫السرعة‬ ‫يادة‬‫بز‬ ‫حقيقي‬‫ل‬‫ا‬ ‫بشكله‬
:‫التالية‬ ‫الأسئلة‬ ‫إجابة‬ ‫يشمل‬ ‫كله‬ ‫للمستخدم…وهذا‬ ‫أسرع‬ ‫وكأنها‬ ‫تظهر‬ ‫البطيئة‬ ‫العمليات‬ ‫بعض‬
1
.
‫بسرعة؟‬ ‫تحميله‬ ‫تم‬ ‫الموقع‬ ‫هل‬
2
.
‫بسرعة؟‬ ‫المستخدم‬ ‫قبل‬ ‫من‬ ‫معه‬ ‫بالتفاعل‬ ‫يسمح‬ ‫الموقع‬ ‫هل‬
3
.
‫حتاج‬‫ت‬ ‫ما‬ ‫عملية‬ ‫هناك‬ ‫بأن‬ ‫المستخدم‬ ‫لإعلام‬ ‫الوسائل‬ ‫بعض‬ ‫استخدام‬ ‫أو‬ ‫توفير‬ ‫يتم‬ ‫هل‬
‫إلى‬
‫وقت؟‬
‫مثلا‬
‫إظهار‬
loading spinner
‫؟‬
4
.
‫وهل‬ ‫وسلس؟‬ ‫سهل‬ ‫بشكل‬ ‫الصفحة‬ ‫في‬ ‫المعروضة‬ ‫البيانات‬ ‫بين‬ ‫التنقل‬ ‫عملية‬ ‫تتم‬ ‫هل‬
‫عملية‬
‫ال‬
scroll
‫تتم‬
‫بشكل‬
‫سلس‬
‫أيضا؟‬
‫ندركها‬ ‫أن‬ ‫جب‬‫ي‬ ‫التي‬ ‫العناوين‬ ‫من‬ ‫مهمة‬ ‫مجموعة‬ ‫هناك‬ ‫أن‬ ‫القول‬ ‫يمكن‬ ،‫أعلاه‬ ‫كر‬
‫ذ‬ ‫ما‬ ‫على‬ ‫بناء‬
‫أو‬
‫أن‬
‫ندرسها‬
‫أو‬
‫أن‬
‫حدث‬‫ت‬‫ن‬
‫عنها‬
‫ضمن‬
‫سياق‬
‫حديث‬‫ل‬‫ا‬
‫عن‬
‫ال‬
Web performance
،
‫وهي‬
:‫يلي‬ ‫بما‬ ‫سردها‬ ‫ويمكن‬ ،‫الأداء‬ ‫مشاكل‬ ‫جة‬‫ل‬‫معا‬ ‫أو‬ ‫لقياس‬ ‫الرئيسية‬ ‫الأبواب‬
●
Reducing overall load time
:
‫تقليل‬
‫الوقت‬
‫الإجمالي‬
‫لتحميل‬
‫الموقع‬
‫الإلكتروني‬
،‫مهمة‬ ‫نقاط‬ ‫بعدة‬ ‫التفكير‬ ‫عليك‬ ‫بهذا‬ ‫وللقيام‬ ،‫به‬ ‫التفكير‬ ‫يمكنك‬ ‫ما‬ ‫أول‬ ‫بك‬ ‫خاص‬‫ل‬‫ا‬
:‫وهي‬
○
‫ما‬
‫هو‬
‫الوقت‬
‫الإجمالي‬
‫اللازم‬
‫لتحميل‬
‫جميع‬
‫ال‬
files
‫ية‬‫الضرور‬
‫على‬
‫جهاز‬
‫المستخدم؟‬
○
‫ما‬
‫هي‬
‫جام‬‫ح‬‫الأ‬
‫خاصة‬‫ل‬‫ا‬
‫بهذه‬
‫ال‬
files
‫؟‬
○
‫ما‬
‫هو‬
‫عدد‬
‫هذه‬
‫ال‬
files
‫؟‬
‫تمثل‬ ‫والتي‬ ‫المشكلة‬ ‫هذه‬ ‫حل‬‫ل‬ ‫اتباعها‬ ‫يمكنك‬ ‫التي‬ ‫جيات‬‫ي‬‫الإسترات‬ ‫من‬ ‫العديد‬ ‫هناك‬ ،‫تقنيا‬
:‫هي‬ ‫جيات‬‫ي‬‫الاسترات‬ ‫هذه‬ ‫ومن‬ ،‫السابقة‬ ‫الأسئلة‬ ‫على‬ ‫إجابة‬ ‫ما‬ ‫بشكل‬
○
‫يمكن‬ ‫ما‬ ‫أصغر‬ ‫إلى‬ ‫الملفات‬ ‫جم‬‫ح‬ ‫تقليل‬
○
‫تقليل‬
‫عدد‬
‫ال‬
HTTP request
‫قدر‬
‫الإمكان‬
○
‫مثل‬ ،‫ممكن‬ ‫وقت‬ ‫أقرب‬ ‫في‬ ‫الملفات‬ ‫تحميل‬ ‫في‬ ‫تساهم‬ ‫تقنيات‬ ‫استخدام‬
‫استخدام‬
‫ال‬
Preload
.
●
Making the site usable as soon as possible
:
‫من‬
‫البديهي‬
‫أن‬
‫الموقع‬
‫كلما‬
‫هذا‬ ‫جعل‬‫ل‬‫و‬ ،‫المستخدم‬ ‫وبين‬ ‫بينه‬ ‫الثقة‬ ‫زادت‬ ‫كلما‬ ،‫للاستخدام‬ ‫قابليته‬ ‫في‬ ‫أسرع‬ ‫كان‬
‫ممكنا‬
‫جب‬‫ي‬
‫أن‬
‫نهتم‬
‫بكيفية‬
‫تحميل‬
‫ال‬
assets
‫خاصة‬‫ل‬‫ا‬
‫بالموقع‬
،‫الإلكتروني‬
‫وهذا‬
‫يعني‬
‫ترتيب‬
‫ال‬
assets
‫المراد‬
‫تحميلها‬
‫بشكل‬
،‫منطقي‬
‫حيث‬‫ب‬
‫يتمكن‬
‫المستخدم‬
‫من‬
‫إجراء‬
‫أول‬
action
‫حتاجه‬‫ي‬
،‫بسرعة‬
‫وهذه‬
‫فكرة‬
،‫بسيطة‬
‫فالملفات‬
‫التي‬
‫لن‬
‫حتاجها‬‫ي‬
‫المستخدم‬
،‫فورا‬
‫بال‬ ‫هذا‬ ‫وسيتم‬ ،‫المطلوبة‬ ‫الملفات‬ ‫تحميل‬ ‫من‬ ‫ننتهي‬ ‫حتى‬ ‫تحميلها‬ ‫تأجيل‬ ‫يمكننا‬
background
‫دون‬
‫أن‬
‫يشعر‬
‫المستخدم‬
،!‫بذلك‬
‫ما‬‫ك‬
‫يمكن‬
‫فصل‬
‫الملفات‬
‫التي‬
‫لا‬
‫حتاجها‬‫ن‬
‫جلبها‬‫ن‬‫و‬
‫عند‬
‫الضرورة‬
‫فقط‬
(
lazy loading
،)
‫وهذا‬
‫الوقت‬
‫حتى‬
‫يصبح‬
‫كل‬
‫شيء‬
‫جاهزا‬
‫للتفاعل‬
‫يطلق‬
‫عليه‬
time to interactive
.
●
Smoothness and interactivity
:
‫تعد‬
‫هذه‬
‫النقطة‬
‫من‬
‫النقاط‬
‫البديهية‬
،‫والبسيطة‬
‫يقصد‬‫و‬ ،‫مشاكل‬ ‫فيها‬ ‫وجد‬ ‫إن‬ ‫المستخدم‬ ‫يزعج‬ ‫قد‬ ‫ما‬ ‫أكثر‬ ‫من‬ ‫الوقت‬ ‫نفس‬ ‫في‬ ‫لكنها‬
‫خاصة‬‫ل‬‫ا‬ ‫المكونات‬ ‫مع‬ ‫التفاعل‬ ‫على‬ ‫والقدرة‬ ‫والسلاسة‬ ‫السهولة‬ ‫مقدار‬ ‫هو‬ ‫النقطة‬ ‫بهذه‬
‫بالموقع‬
،‫الإلكتروني‬
‫وهذا‬
‫يشمل‬
‫الكثير‬
‫من‬
‫الأشياء‬
‫منها‬
،‫مثلا‬
‫هل‬
‫ال‬
scroll
‫يعمل‬
‫بشكل‬
‫سلس؟‬
‫هل‬
‫ال‬
buttons
‫يمكن‬
‫الضغط‬
‫عليها؟‬
‫هل‬
‫ال‬
popup
‫تظهر‬
‫للمستخدم‬
‫بسرعة؟‬
‫هل‬
‫هناك‬
‫مشاكل‬
‫بال‬
animation
،‫؟‬
‫هذه‬
‫المشاكل‬
‫كلها‬
‫إن‬
‫وجدت‬
‫يمكن‬
‫ال‬ ‫استخدام‬ ‫منها‬ ،‫سلس‬ ‫التطبيق‬ ‫من‬ ‫جعل‬‫ت‬ ‫والتي‬ ‫الطرق‬ ‫من‬ ‫والعديد‬ ‫بالكثير‬ ‫حلها‬
css animation
‫بدلا‬
‫من‬
js Animation
،
‫وتقليل‬
‫عمليات‬
‫ال‬
repaints
‫لل‬
UI
‫من‬
‫خلال‬
‫ال‬
DOM
‫قدر‬
.‫الإمكان‬
●
Perceived performance
:
‫إن‬
‫مقدار‬
‫الإحساس‬
‫بسرعة‬
‫الموقع‬
‫للمستخدمين‬
‫وطبيعة‬
‫تبني‬ ‫قد‬ ‫لأنك‬ ،!‫للموقع‬ ‫حقيقية‬‫ل‬‫ا‬ ‫السرعة‬ ‫من‬ ‫أهم‬ ‫الإحساس‬ ‫هذا‬ ‫على‬ ‫بناء‬ ‫إنفعالاتهم‬
‫تعد‬ ‫لذلك‬ ،!‫جربته‬‫ت‬ ‫على‬ ‫بناء‬ ‫سيء‬ ‫يراه‬ ‫المستخدم‬ ‫لكن‬ ،‫القياس‬ ‫خلال‬ ‫من‬ ‫يع‬‫سر‬ ‫موقع‬
‫الأمر‬ ‫هذا‬ ،‫لكن‬ ،‫الأهم‬ ‫تكن‬ ‫لم‬ ‫إن‬ ‫مهمة‬ ‫عملية‬ ‫المستخدمين‬ ‫قبل‬ ‫من‬ ‫الأداء‬ ‫ية‬‫رؤ‬
‫خلال‬ ‫من‬ ‫الأداء‬ ‫قياس‬ ‫على‬ ‫تعتمد‬ ‫العملية‬ ‫هذه‬ ‫لأن‬ ‫وذلك‬ ،‫قياسه‬ ‫السهل‬ ‫من‬ ‫ليس‬
‫حفاظ‬‫ل‬‫ا‬ ‫كيفية‬ ‫على‬ ‫هنا‬ ‫حرص‬‫ل‬‫ا‬ ‫يتم‬ ،‫لذلك‬ ،‫للموقع‬ ‫المستخدمون‬ ‫منها‬ ‫ينظر‬ ‫التي‬ ‫ية‬‫الزاو‬
‫إظهار‬ ‫لذلك‬ ‫الوسائل‬ ‫ومن‬ ،‫الانتظار‬ ‫وقت‬ ‫في‬ ‫الموقع‬ ‫مع‬ ‫متفاعلا‬ ‫وإبقائه‬ ‫المستخدم‬ ‫على‬
‫ال‬
spinner
‫أو‬
‫مجموعة‬
‫من‬
‫ال‬
hints
‫المتعلقة‬
‫خدمات…إلى‬‫ل‬‫با‬
،‫آخره‬
‫ومع‬
‫أنك‬
‫في‬
‫مع‬ ‫بالتفاعل‬ ‫قمت‬ ‫أنك‬ ‫إلا‬ ،‫القياسية‬ ‫الناحية‬ ‫من‬ ‫الموقع‬ ‫سرعة‬ ‫يادة‬‫بز‬ ‫هنا‬ ‫تقم‬ ‫لم‬ ‫الواقع‬
‫شعورا‬ ‫يعطيه‬‫و‬ ،‫عطل‬ ‫أي‬ ‫هناك‬ ‫يوجد‬ ‫ولا‬ ،‫يعمل‬ ‫زال‬ ‫ما‬ ‫الموقع‬ ‫بأن‬ ‫ليشعر‬ ‫المستخدم‬
…‫العمليات‬ ‫استمرار‬ ‫أو‬ ‫حدوث‬‫ب‬ ‫متغيرا‬
●
Performance measurements
:
‫في‬
‫هذه‬
‫جزئية‬‫ل‬‫ا‬
‫سنقوم‬
‫بقياس‬
‫الأداء‬
‫بشكل‬
‫في‬ ‫ستساعدنا‬ ‫التي‬ ‫الوسائل‬ ‫أو‬ ‫العمليات‬ ‫أو‬ ‫حسابات‬‫ل‬‫ا‬ ‫من‬ ‫مجموعة‬ ‫خلال‬ ‫من‬ ‫حقيقي‬
‫هل‬ ،‫فاشلة‬ ‫أم‬ ‫حة‬‫ج‬‫نا‬ ‫هي‬ ‫هل‬ ،‫الأداء‬ ‫ناحية‬ ‫من‬ ‫يقدمها‬ ‫التي‬ ‫خدمات‬‫ل‬‫وا‬ ‫التطبيق‬ ‫تقييم‬
‫مع‬ ‫ثباتها‬ ‫أو‬ ‫حسنها‬‫ت‬ ‫نضمن‬ ‫وهل‬ ،‫الوقت‬ ‫مع‬ ‫جودة‬‫ل‬‫ا‬ ‫مستوى‬ ‫على‬ ‫حافظة‬‫م‬‫ال‬ ‫استطعنا‬
…!‫سوء‬ ‫تزداد‬ ‫الوقت‬ ‫مع‬ ‫أنها‬ ‫أم‬ ،‫الوقت؟‬
‫خصائص‬‫ل‬‫ا‬ ‫من‬ ‫والعديد‬ ‫الكثير‬ ‫هناك‬ ‫بأن‬ ‫القول‬ ‫يمكننا‬ ،‫نقاط‬ ‫من‬ ‫سبق‬ ‫ما‬ ‫على‬ ‫بناء‬
‫والإضافات‬
‫والوسائل‬
‫التي‬
‫يمكنها‬
‫أن‬
‫تؤثر‬
‫على‬
‫ال‬
Performance
‫بشكل‬
‫حقيقي‬
‫ومباشر‬
‫أو‬
‫كز‬
‫تر‬ ‫أعلاه‬ ‫وردت‬ ‫التي‬ ‫النقاط‬ ‫جميع‬ ‫فإن‬ ،‫لذلك‬ ،‫المستخدم‬ ‫قبل‬ ‫من‬ ‫وشعوري‬ ‫خيلي‬‫ت‬ ‫بشكل‬
‫لبناء‬ ‫بالإضافة‬ ،‫التفاعل‬ ‫لبدء‬ ‫اللازم‬ ‫والوقت‬ ‫حتوى‬‫م‬‫ال‬ ‫لتحميل‬ ‫اللازم‬ ‫الوقت‬ ‫تقليل‬ ‫على‬ ‫وتهتم‬
…‫المستخدمين‬ ‫مع‬ ‫جيدة‬ ‫جربة‬‫ت‬
:‫مهمة‬ ‫ومفردات‬ ‫مصطلحات‬
●
latency
:
‫يقصد‬
‫بذلك‬
‫الوقت‬
‫المستغرق‬
‫لإرسال‬
‫حزمة‬
‫من‬
‫البيانات‬
‫من‬
‫نقطة‬
‫إلى‬
‫نقطة‬
‫أخرى‬
‫(من‬
‫ال‬
source
‫إلى‬
destination
)
‫مع‬
‫الوقت‬
‫المستغرق‬
‫لاستقبال‬
‫النتيجة‬
‫من‬
‫قبل‬
‫ال‬
source
،‫جددا‬‫م‬
،‫باختصار‬
‫هو‬
‫الوقت‬
‫المستغرق‬
‫من‬
‫حظة‬‫ل‬
‫إرسال‬
request
‫من‬
‫قبل‬
‫المستخدم‬
‫ولغاية‬
‫عودة‬
‫ال‬
response
،‫إليه‬
‫وكلما‬
‫قلت‬
‫قيمة‬
‫ال‬
latency
‫كلما‬
‫كان‬
‫الأداء‬
،!‫أفضل‬
‫وكلما‬
‫زادت‬
‫قيمة‬
‫ال‬
latency
‫كلما‬
‫كان‬
‫الأداء‬
…‫أسوأ‬
●
preload
:
‫هي‬
‫قيمة‬
‫يتم‬
‫استخدامها‬
‫أو‬
‫وضعها‬
‫داخل‬
‫ال‬
rel attribute
‫في‬
‫ال‬
link
tag
،
‫هذه‬
‫القيمة‬
‫ببساطة‬
‫تقوم‬
‫على‬
‫إعطاء‬
‫ية‬‫أولو‬
‫جلب‬‫ل‬
‫ال‬
resources
‫المهمة‬
‫خصوصا‬ ‫وعديدة‬ ‫كثيرة‬ ‫مزايا‬ ‫القيمة‬ ‫هذه‬ ‫وتقدم‬ ،‫وقت‬ ‫أسرع‬ ‫في‬ ‫للصفحة‬ ‫ية‬‫والضرور‬
‫جم‬‫ح‬‫ال‬ ‫ذو‬ ‫الفيديو‬ ‫أو‬ ‫سكربت‬ ‫جافا‬‫ل‬‫ا‬ ‫ملفات‬ ‫أو‬ ‫خطوط‬‫ل‬‫ا‬ ‫ملفات‬ ‫أو‬ ‫الصور‬ ‫جلب‬ ‫عند‬
‫الكبير…إلى‬
،‫آخره‬
‫من‬
‫المزايا‬
‫التي‬
‫تقدمها‬
‫أنك‬
‫ستضمن‬
‫تحميل‬
‫ال‬
resource
‫المطلوبة‬
‫من‬ ‫تحميله‬ ‫تم‬ ‫ما‬ ‫خزين‬‫ت‬ ‫وسيتم‬ ،‫بدونها‬ ‫كانت‬ ‫لو‬ ‫مما‬ ‫أفضل‬ ‫وبشكل‬ ‫المتوقعة‬ ‫ية‬‫بالأولو‬
resource
‫في‬
‫ال‬
cache
‫خاص‬‫ل‬‫ا‬
‫بالمتصفح‬
‫ليقوم‬
‫باستخدامها‬
‫في‬
‫صفحة‬
‫أخرى‬
‫عند‬
،…‫حاجة‬‫ل‬‫ا‬
‫وهذا‬
‫كله‬
‫يؤثر‬
‫جابا‬‫ي‬‫إ‬
‫على‬
‫ال‬
performance
‫حسنه‬‫ي‬‫و‬
‫بشكل‬
…‫ملحوظ‬
●
lazy loading
:
‫بكل‬
‫بساطة‬
‫هي‬
‫جية‬‫ي‬‫استرات‬
‫تفصل‬
‫ال‬
resource
‫الغير‬
‫مهمة‬
‫في‬
‫ال‬
render
‫أو‬
‫التي‬
‫لا‬
‫توقف‬
‫أو‬
‫تؤثر‬
‫على‬
‫ال‬
render
‫خاص‬‫ل‬‫ا‬
‫بالصفحة‬
‫عن‬
‫ال‬
resource
،‫المهمة‬
‫ومن‬
‫ثم‬
‫جلب‬
‫هذه‬
‫ال‬
resource
‫عند‬
‫حاجة‬‫ل‬‫ا‬
،!‫فقط‬
،‫مثلا‬
‫قد‬
‫إذا‬ ‫إلا‬ ‫للمستخدم‬ ‫بعرضها‬ ‫تقوم‬ ‫التي‬ ‫الصفحة‬ ‫في‬ ‫وصورة‬ ‫سكربت‬ ‫جافا‬ ‫ملف‬ ‫جلب‬ ‫تمنع‬
‫قام‬
‫بالضغط‬
‫على‬
‫زر‬
‫عرض‬
‫ال‬
modal
،…
‫هناك‬
‫الكثير‬
‫من‬
‫الطرق‬
‫للقيام‬
‫بهذه‬
،‫جية‬‫ي‬‫الاسترات‬
‫لكنها‬
‫بشكل‬
‫عام‬
‫تقوم‬
‫على‬
‫عمل‬
splitting
‫لل‬
js, css
‫وال‬
Html
‫حاجة‬‫ل‬‫ا‬ ‫عند‬ ‫فقط‬ ‫المطلوبة‬ ‫الملفات‬ ‫تضمين‬ ‫يمكن‬ ‫حيث‬‫ب‬ ،‫ممكن‬ ‫جم‬‫ح‬ ‫أصغر‬ ‫على‬ ‫لتكون‬
‫مثل‬ ‫مسبقا‬ ‫والمعرفة‬ ‫الموجودة‬ ‫خصائص‬‫ل‬‫وا‬ ‫الوسائل‬ ‫لبعض‬ ‫بالإضافة‬ ،‫غيرها‬ ‫دون‬
‫استخدام‬
‫ال‬
module type
‫لملفات‬
‫جافا‬‫ل‬‫ا‬
…‫سكربت‬
●
time to interactive
:
‫هذا‬
‫المصطلح‬
‫يشير‬
‫إلى‬
‫مقياس‬
‫حساب‬‫ل‬
‫الوقت‬
‫الزمني‬
‫آخر‬ ‫هي‬ ،‫أدق‬ ‫تقني‬ ‫وبشكل‬ ،‫كامل‬ ‫بشكل‬ ‫للتفاعل‬ ‫قابلة‬ ‫الصفحة‬ ‫لتصبح‬ ‫المستغرق‬
long task
‫تم‬
‫الإنتهاء‬
‫منها‬
‫يليها‬
5
‫ثواني‬
‫بدون‬
‫أي‬
‫نشاط‬
‫على‬
‫مستوى‬
‫ال‬
network
‫أو‬
‫ال‬
thread
،
‫وال‬
long task
‫هي‬
‫أي‬
‫مدة‬
‫زمنية‬
‫تزيد‬
‫أو‬
‫تساوي‬
50ms
‫تكون‬
‫فيها‬
‫ال‬
thread
‫مشغولة‬
‫بدون‬
‫أي‬
…‫قطع‬
…‫الله‬ ‫شاء‬ ‫إن‬ ‫الثالث‬ ‫جزء‬‫ل‬‫ا‬ ‫في‬ ‫يتبع‬

Weitere ähnliche Inhalte

Ähnlich wie Web performance - الجزء الثاني

الحوسبةالسحابية
الحوسبةالسحابيةالحوسبةالسحابية
الحوسبةالسحابية
Mamoun Matar
 
امتلاك موقع تفاعلي تفاعلي دون علم بقواعد البرمجة
امتلاك موقع تفاعلي تفاعلي دون علم بقواعد البرمجة امتلاك موقع تفاعلي تفاعلي دون علم بقواعد البرمجة
امتلاك موقع تفاعلي تفاعلي دون علم بقواعد البرمجة
elmouhssini1
 
انتاج موقع تفاعلي دون علم بقواعد البرمجة
انتاج موقع تفاعلي دون علم بقواعد البرمجة انتاج موقع تفاعلي دون علم بقواعد البرمجة
انتاج موقع تفاعلي دون علم بقواعد البرمجة
elmouhssini1
 
تقرير ادوات قوقل
تقرير ادوات قوقلتقرير ادوات قوقل
تقرير ادوات قوقل
Batool MH
 

Ähnlich wie Web performance - الجزء الثاني (20)

Web performance - الجزء السادس
Web performance - الجزء السادسWeb performance - الجزء السادس
Web performance - الجزء السادس
 
Bi marabia24
Bi marabia24Bi marabia24
Bi marabia24
 
Bi marabia24
Bi marabia24Bi marabia24
Bi marabia24
 
Bi marabia24
Bi marabia24Bi marabia24
Bi marabia24
 
قصة حياة Systems integrator
قصة حياة  Systems integratorقصة حياة  Systems integrator
قصة حياة Systems integrator
 
هندسة الجودة للمؤسسات الرقمية.pdf
هندسة الجودة للمؤسسات الرقمية.pdfهندسة الجودة للمؤسسات الرقمية.pdf
هندسة الجودة للمؤسسات الرقمية.pdf
 
هندسة الجودة للمؤسسات الرقمية.pdf
هندسة الجودة للمؤسسات الرقمية.pdfهندسة الجودة للمؤسسات الرقمية.pdf
هندسة الجودة للمؤسسات الرقمية.pdf
 
الورشة السحابية
الورشة السحابيةالورشة السحابية
الورشة السحابية
 
الحوسبةالسحابية
الحوسبةالسحابيةالحوسبةالسحابية
الحوسبةالسحابية
 
صلاحية المدير
صلاحية المديرصلاحية المدير
صلاحية المدير
 
صلاحية الموظف
صلاحية الموظفصلاحية الموظف
صلاحية الموظف
 
امتلاك موقع تفاعلي تفاعلي دون علم بقواعد البرمجة
امتلاك موقع تفاعلي تفاعلي دون علم بقواعد البرمجة امتلاك موقع تفاعلي تفاعلي دون علم بقواعد البرمجة
امتلاك موقع تفاعلي تفاعلي دون علم بقواعد البرمجة
 
انتاج موقع تفاعلي دون علم بقواعد البرمجة
انتاج موقع تفاعلي دون علم بقواعد البرمجة انتاج موقع تفاعلي دون علم بقواعد البرمجة
انتاج موقع تفاعلي دون علم بقواعد البرمجة
 
BIMarabia24.pdf
BIMarabia24.pdfBIMarabia24.pdf
BIMarabia24.pdf
 
تقرير ادوات قوقل
تقرير ادوات قوقلتقرير ادوات قوقل
تقرير ادوات قوقل
 
إدارة نطاق المشروع.pdf
إدارة نطاق المشروع.pdfإدارة نطاق المشروع.pdf
إدارة نطاق المشروع.pdf
 
أنظمة إدارة المحتوى
أنظمة إدارة المحتوىأنظمة إدارة المحتوى
أنظمة إدارة المحتوى
 
قبل أن تكتب الشيفرة البرمجية، فكر كيف تكتبها - الجزء الأول
قبل أن تكتب الشيفرة البرمجية، فكر كيف تكتبها - الجزء الأولقبل أن تكتب الشيفرة البرمجية، فكر كيف تكتبها - الجزء الأول
قبل أن تكتب الشيفرة البرمجية، فكر كيف تكتبها - الجزء الأول
 
الحوسبة السحابية
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابية
 
شرح برنامج نت كت بالصور
شرح برنامج نت كت بالصورشرح برنامج نت كت بالصور
شرح برنامج نت كت بالصور
 

Mehr von anees abu-hmaid

Mehr von anees abu-hmaid (20)

شرح طريقة تصميم الأنظمة - من مستخدم إلى مليون مستخدم )System Design)
شرح طريقة تصميم الأنظمة - من مستخدم إلى مليون مستخدم )System Design)شرح طريقة تصميم الأنظمة - من مستخدم إلى مليون مستخدم )System Design)
شرح طريقة تصميم الأنظمة - من مستخدم إلى مليون مستخدم )System Design)
 
لا تتداول العملات الرقمية ولا تشتريها قبل أن تقرأ هذه الكلمات
لا تتداول العملات الرقمية ولا تشتريها قبل أن تقرأ هذه الكلماتلا تتداول العملات الرقمية ولا تشتريها قبل أن تقرأ هذه الكلمات
لا تتداول العملات الرقمية ولا تشتريها قبل أن تقرأ هذه الكلمات
 
نقاط تقنية مفيدة لمستخدمين شبكة الإنترنت
نقاط تقنية مفيدة لمستخدمين شبكة الإنترنتنقاط تقنية مفيدة لمستخدمين شبكة الإنترنت
نقاط تقنية مفيدة لمستخدمين شبكة الإنترنت
 
الجزء الثاني قبل أن تكتب الشيفرة البرمجية، فكر كيف تكتبها
الجزء الثاني قبل أن تكتب الشيفرة البرمجية، فكر كيف تكتبهاالجزء الثاني قبل أن تكتب الشيفرة البرمجية، فكر كيف تكتبها
الجزء الثاني قبل أن تكتب الشيفرة البرمجية، فكر كيف تكتبها
 
كيف تقرأ كتابا - خطوات لتحسين القراءة
كيف تقرأ كتابا - خطوات لتحسين القراءةكيف تقرأ كتابا - خطوات لتحسين القراءة
كيف تقرأ كتابا - خطوات لتحسين القراءة
 
وهم الأمان - مخاطر الإنترنت والتعامل مع الابتزاز
وهم الأمان - مخاطر الإنترنت والتعامل مع الابتزازوهم الأمان - مخاطر الإنترنت والتعامل مع الابتزاز
وهم الأمان - مخاطر الإنترنت والتعامل مع الابتزاز
 
Coding review guide مراجعة الشيفرة البرمجية
Coding review guide مراجعة الشيفرة البرمجيةCoding review guide مراجعة الشيفرة البرمجية
Coding review guide مراجعة الشيفرة البرمجية
 
Node.js course باللغة العربية
Node.js course باللغة العربيةNode.js course باللغة العربية
Node.js course باللغة العربية
 
Canvas دورة باللغة العربية
Canvas دورة باللغة العربيةCanvas دورة باللغة العربية
Canvas دورة باللغة العربية
 
Ecmascript 6 (ES6) جافا سكربت (6)
Ecmascript 6 (ES6) جافا سكربت (6)Ecmascript 6 (ES6) جافا سكربت (6)
Ecmascript 6 (ES6) جافا سكربت (6)
 
تنسيق الشيفرة البرمجية (Coding Style)
تنسيق الشيفرة البرمجية (Coding Style)تنسيق الشيفرة البرمجية (Coding Style)
تنسيق الشيفرة البرمجية (Coding Style)
 
Js dom & JS bom
Js dom & JS bomJs dom & JS bom
Js dom & JS bom
 
الخصوصية وموقعها من الإعراب
الخصوصية وموقعها من الإعرابالخصوصية وموقعها من الإعراب
الخصوصية وموقعها من الإعراب
 
Angular js دورة
Angular js دورةAngular js دورة
Angular js دورة
 
الإسلام والتقنية Islam & IT
الإسلام والتقنية Islam & ITالإسلام والتقنية Islam & IT
الإسلام والتقنية Islam & IT
 
تعلم البرمجة في 3 ساعات و 20 دقيقة و 55 ثانية
تعلم البرمجة في 3 ساعات و 20 دقيقة و 55 ثانيةتعلم البرمجة في 3 ساعات و 20 دقيقة و 55 ثانية
تعلم البرمجة في 3 ساعات و 20 دقيقة و 55 ثانية
 
اللغة الإنجليزية والمشاكل البرمجية ومهارة البحث
اللغة الإنجليزية والمشاكل البرمجية ومهارة البحثاللغة الإنجليزية والمشاكل البرمجية ومهارة البحث
اللغة الإنجليزية والمشاكل البرمجية ومهارة البحث
 
دورة CSS3 باللغة العربية
دورة CSS3 باللغة العربيةدورة CSS3 باللغة العربية
دورة CSS3 باللغة العربية
 
مهووس الحاسوب Computer Geek
مهووس الحاسوب Computer Geekمهووس الحاسوب Computer Geek
مهووس الحاسوب Computer Geek
 
لا تكرر نفسك DRY (Don't Repeat yourself)
لا تكرر نفسك DRY (Don't Repeat yourself)لا تكرر نفسك DRY (Don't Repeat yourself)
لا تكرر نفسك DRY (Don't Repeat yourself)
 

Web performance - الجزء الثاني

  • 1. ‫الرحيم‬ ‫الرحمن‬ ‫الله‬ ‫بسم‬ ‫منه‬ ‫كان‬ ‫من‬ ُ‫د‬‫ويزي‬ ، ً ‫ّا‬‫جي‬‫ن‬ ‫ناداه‬ ‫من‬ ‫ُجيب‬‫ي‬‫و‬ ، ً ‫خفيا‬ ‫دعاه‬ ‫من‬ ‫ُحب‬‫ي‬ ،‫العالمين‬ ّ ‫رب‬ ‫لله‬ ‫حمد‬‫ل‬‫ا‬ .‫العالمين‬ ّ ‫رب‬ ‫لله‬ ‫حمد‬‫ل‬‫ا‬ ، ً ‫ّا‬‫رضي‬ ‫الوعد‬ ‫صادق‬ ‫كان‬ ‫من‬ ‫ويهدي‬ ، ً ‫ّا‬‫وفي‬ ‫له‬ ‫كان‬ ‫من‬ ‫يكرم‬‫و‬ ، ً ‫ّا‬‫ي‬ِ‫حي‬ Web performance - 2 ‫في‬ ‫جزء‬‫ل‬‫ا‬ ‫الأول‬ ‫من‬ ‫هذه‬ ‫السلسلة‬ ‫حدثنا‬‫ت‬ ‫عن‬ ‫مجموعة‬ ‫من‬ ‫المفاهيم‬ ‫العامة‬ ‫حول‬ ‫ال‬ Web performance ‫ولماذا‬ ‫جب‬‫ي‬ ‫أن‬ ‫نهتم‬ ‫بهذا‬ ،‫الموضوع‬ ‫والآن‬ ‫سندخل‬ ‫في‬ ‫بعض‬ ‫التفاصيل‬ ‫بشكل‬ …‫عمقا‬ ‫أكثر‬ ‫عندما‬ ‫حدث‬‫ت‬‫ن‬ ‫عن‬ ‫ال‬ Web performance ‫فإننا‬ ‫حدث‬‫ت‬‫ن‬ ‫عن‬ ‫وسيلة‬ ‫قياس‬ ‫موضوعية‬ ‫للأداء‬ ‫بالإضافة‬ ‫إلى‬ ‫جربة‬‫ت‬ ‫المستخدم‬ ‫المتوقعة‬ ‫في‬ ‫الموقع‬ ‫خاص‬‫ل‬‫ا‬ ‫بنا‬ ‫بناء‬ ‫على‬ ‫ال‬ Business model ، ،‫خيلي‬‫ت‬ ‫أو‬ ‫حقيقي‬ ‫بشكل‬ ‫أسرع‬ ‫الإلكتروني‬ ‫الموقع‬ ‫جعل‬‫ن‬ ‫أن‬ ‫وهو‬ ،‫سابقا‬ ‫كرناه‬ ‫ذ‬ ‫ما‬ ‫يعني‬ ‫وهذا‬ ‫جعل‬‫ت‬ ‫التي‬ ‫الأساليب‬ ‫بعض‬ ‫استخدام‬ ‫خلال‬ ‫من‬ ‫خيلي‬‫ت‬‫و‬ ،‫الفعلية‬ ‫السرعة‬ ‫يادة‬‫بز‬ ‫حقيقي‬‫ل‬‫ا‬ ‫بشكله‬ :‫التالية‬ ‫الأسئلة‬ ‫إجابة‬ ‫يشمل‬ ‫كله‬ ‫للمستخدم…وهذا‬ ‫أسرع‬ ‫وكأنها‬ ‫تظهر‬ ‫البطيئة‬ ‫العمليات‬ ‫بعض‬ 1 . ‫بسرعة؟‬ ‫تحميله‬ ‫تم‬ ‫الموقع‬ ‫هل‬ 2 . ‫بسرعة؟‬ ‫المستخدم‬ ‫قبل‬ ‫من‬ ‫معه‬ ‫بالتفاعل‬ ‫يسمح‬ ‫الموقع‬ ‫هل‬ 3 . ‫حتاج‬‫ت‬ ‫ما‬ ‫عملية‬ ‫هناك‬ ‫بأن‬ ‫المستخدم‬ ‫لإعلام‬ ‫الوسائل‬ ‫بعض‬ ‫استخدام‬ ‫أو‬ ‫توفير‬ ‫يتم‬ ‫هل‬ ‫إلى‬ ‫وقت؟‬ ‫مثلا‬ ‫إظهار‬ loading spinner ‫؟‬
  • 2. 4 . ‫وهل‬ ‫وسلس؟‬ ‫سهل‬ ‫بشكل‬ ‫الصفحة‬ ‫في‬ ‫المعروضة‬ ‫البيانات‬ ‫بين‬ ‫التنقل‬ ‫عملية‬ ‫تتم‬ ‫هل‬ ‫عملية‬ ‫ال‬ scroll ‫تتم‬ ‫بشكل‬ ‫سلس‬ ‫أيضا؟‬ ‫ندركها‬ ‫أن‬ ‫جب‬‫ي‬ ‫التي‬ ‫العناوين‬ ‫من‬ ‫مهمة‬ ‫مجموعة‬ ‫هناك‬ ‫أن‬ ‫القول‬ ‫يمكن‬ ،‫أعلاه‬ ‫كر‬ ‫ذ‬ ‫ما‬ ‫على‬ ‫بناء‬ ‫أو‬ ‫أن‬ ‫ندرسها‬ ‫أو‬ ‫أن‬ ‫حدث‬‫ت‬‫ن‬ ‫عنها‬ ‫ضمن‬ ‫سياق‬ ‫حديث‬‫ل‬‫ا‬ ‫عن‬ ‫ال‬ Web performance ، ‫وهي‬ :‫يلي‬ ‫بما‬ ‫سردها‬ ‫ويمكن‬ ،‫الأداء‬ ‫مشاكل‬ ‫جة‬‫ل‬‫معا‬ ‫أو‬ ‫لقياس‬ ‫الرئيسية‬ ‫الأبواب‬ ● Reducing overall load time : ‫تقليل‬ ‫الوقت‬ ‫الإجمالي‬ ‫لتحميل‬ ‫الموقع‬ ‫الإلكتروني‬ ،‫مهمة‬ ‫نقاط‬ ‫بعدة‬ ‫التفكير‬ ‫عليك‬ ‫بهذا‬ ‫وللقيام‬ ،‫به‬ ‫التفكير‬ ‫يمكنك‬ ‫ما‬ ‫أول‬ ‫بك‬ ‫خاص‬‫ل‬‫ا‬ :‫وهي‬ ○ ‫ما‬ ‫هو‬ ‫الوقت‬ ‫الإجمالي‬ ‫اللازم‬ ‫لتحميل‬ ‫جميع‬ ‫ال‬ files ‫ية‬‫الضرور‬ ‫على‬ ‫جهاز‬ ‫المستخدم؟‬ ○ ‫ما‬ ‫هي‬ ‫جام‬‫ح‬‫الأ‬ ‫خاصة‬‫ل‬‫ا‬ ‫بهذه‬ ‫ال‬ files ‫؟‬ ○ ‫ما‬ ‫هو‬ ‫عدد‬ ‫هذه‬ ‫ال‬ files ‫؟‬ ‫تمثل‬ ‫والتي‬ ‫المشكلة‬ ‫هذه‬ ‫حل‬‫ل‬ ‫اتباعها‬ ‫يمكنك‬ ‫التي‬ ‫جيات‬‫ي‬‫الإسترات‬ ‫من‬ ‫العديد‬ ‫هناك‬ ،‫تقنيا‬ :‫هي‬ ‫جيات‬‫ي‬‫الاسترات‬ ‫هذه‬ ‫ومن‬ ،‫السابقة‬ ‫الأسئلة‬ ‫على‬ ‫إجابة‬ ‫ما‬ ‫بشكل‬ ○ ‫يمكن‬ ‫ما‬ ‫أصغر‬ ‫إلى‬ ‫الملفات‬ ‫جم‬‫ح‬ ‫تقليل‬ ○ ‫تقليل‬ ‫عدد‬ ‫ال‬ HTTP request ‫قدر‬ ‫الإمكان‬ ○ ‫مثل‬ ،‫ممكن‬ ‫وقت‬ ‫أقرب‬ ‫في‬ ‫الملفات‬ ‫تحميل‬ ‫في‬ ‫تساهم‬ ‫تقنيات‬ ‫استخدام‬ ‫استخدام‬ ‫ال‬ Preload .
  • 3. ● Making the site usable as soon as possible : ‫من‬ ‫البديهي‬ ‫أن‬ ‫الموقع‬ ‫كلما‬ ‫هذا‬ ‫جعل‬‫ل‬‫و‬ ،‫المستخدم‬ ‫وبين‬ ‫بينه‬ ‫الثقة‬ ‫زادت‬ ‫كلما‬ ،‫للاستخدام‬ ‫قابليته‬ ‫في‬ ‫أسرع‬ ‫كان‬ ‫ممكنا‬ ‫جب‬‫ي‬ ‫أن‬ ‫نهتم‬ ‫بكيفية‬ ‫تحميل‬ ‫ال‬ assets ‫خاصة‬‫ل‬‫ا‬ ‫بالموقع‬ ،‫الإلكتروني‬ ‫وهذا‬ ‫يعني‬ ‫ترتيب‬ ‫ال‬ assets ‫المراد‬ ‫تحميلها‬ ‫بشكل‬ ،‫منطقي‬ ‫حيث‬‫ب‬ ‫يتمكن‬ ‫المستخدم‬ ‫من‬ ‫إجراء‬ ‫أول‬ action ‫حتاجه‬‫ي‬ ،‫بسرعة‬ ‫وهذه‬ ‫فكرة‬ ،‫بسيطة‬ ‫فالملفات‬ ‫التي‬ ‫لن‬ ‫حتاجها‬‫ي‬ ‫المستخدم‬ ،‫فورا‬ ‫بال‬ ‫هذا‬ ‫وسيتم‬ ،‫المطلوبة‬ ‫الملفات‬ ‫تحميل‬ ‫من‬ ‫ننتهي‬ ‫حتى‬ ‫تحميلها‬ ‫تأجيل‬ ‫يمكننا‬ background ‫دون‬ ‫أن‬ ‫يشعر‬ ‫المستخدم‬ ،!‫بذلك‬ ‫ما‬‫ك‬ ‫يمكن‬ ‫فصل‬ ‫الملفات‬ ‫التي‬ ‫لا‬ ‫حتاجها‬‫ن‬ ‫جلبها‬‫ن‬‫و‬ ‫عند‬ ‫الضرورة‬ ‫فقط‬ ( lazy loading ،) ‫وهذا‬ ‫الوقت‬ ‫حتى‬ ‫يصبح‬ ‫كل‬ ‫شيء‬ ‫جاهزا‬ ‫للتفاعل‬ ‫يطلق‬ ‫عليه‬ time to interactive . ● Smoothness and interactivity : ‫تعد‬ ‫هذه‬ ‫النقطة‬ ‫من‬ ‫النقاط‬ ‫البديهية‬ ،‫والبسيطة‬ ‫يقصد‬‫و‬ ،‫مشاكل‬ ‫فيها‬ ‫وجد‬ ‫إن‬ ‫المستخدم‬ ‫يزعج‬ ‫قد‬ ‫ما‬ ‫أكثر‬ ‫من‬ ‫الوقت‬ ‫نفس‬ ‫في‬ ‫لكنها‬ ‫خاصة‬‫ل‬‫ا‬ ‫المكونات‬ ‫مع‬ ‫التفاعل‬ ‫على‬ ‫والقدرة‬ ‫والسلاسة‬ ‫السهولة‬ ‫مقدار‬ ‫هو‬ ‫النقطة‬ ‫بهذه‬ ‫بالموقع‬ ،‫الإلكتروني‬ ‫وهذا‬ ‫يشمل‬ ‫الكثير‬ ‫من‬ ‫الأشياء‬ ‫منها‬ ،‫مثلا‬ ‫هل‬ ‫ال‬ scroll ‫يعمل‬ ‫بشكل‬ ‫سلس؟‬ ‫هل‬ ‫ال‬ buttons ‫يمكن‬ ‫الضغط‬ ‫عليها؟‬ ‫هل‬ ‫ال‬ popup ‫تظهر‬ ‫للمستخدم‬ ‫بسرعة؟‬ ‫هل‬ ‫هناك‬ ‫مشاكل‬ ‫بال‬ animation ،‫؟‬ ‫هذه‬ ‫المشاكل‬ ‫كلها‬ ‫إن‬ ‫وجدت‬ ‫يمكن‬ ‫ال‬ ‫استخدام‬ ‫منها‬ ،‫سلس‬ ‫التطبيق‬ ‫من‬ ‫جعل‬‫ت‬ ‫والتي‬ ‫الطرق‬ ‫من‬ ‫والعديد‬ ‫بالكثير‬ ‫حلها‬ css animation ‫بدلا‬ ‫من‬ js Animation ، ‫وتقليل‬ ‫عمليات‬ ‫ال‬ repaints ‫لل‬ UI ‫من‬ ‫خلال‬ ‫ال‬ DOM ‫قدر‬ .‫الإمكان‬
  • 4. ● Perceived performance : ‫إن‬ ‫مقدار‬ ‫الإحساس‬ ‫بسرعة‬ ‫الموقع‬ ‫للمستخدمين‬ ‫وطبيعة‬ ‫تبني‬ ‫قد‬ ‫لأنك‬ ،!‫للموقع‬ ‫حقيقية‬‫ل‬‫ا‬ ‫السرعة‬ ‫من‬ ‫أهم‬ ‫الإحساس‬ ‫هذا‬ ‫على‬ ‫بناء‬ ‫إنفعالاتهم‬ ‫تعد‬ ‫لذلك‬ ،!‫جربته‬‫ت‬ ‫على‬ ‫بناء‬ ‫سيء‬ ‫يراه‬ ‫المستخدم‬ ‫لكن‬ ،‫القياس‬ ‫خلال‬ ‫من‬ ‫يع‬‫سر‬ ‫موقع‬ ‫الأمر‬ ‫هذا‬ ،‫لكن‬ ،‫الأهم‬ ‫تكن‬ ‫لم‬ ‫إن‬ ‫مهمة‬ ‫عملية‬ ‫المستخدمين‬ ‫قبل‬ ‫من‬ ‫الأداء‬ ‫ية‬‫رؤ‬ ‫خلال‬ ‫من‬ ‫الأداء‬ ‫قياس‬ ‫على‬ ‫تعتمد‬ ‫العملية‬ ‫هذه‬ ‫لأن‬ ‫وذلك‬ ،‫قياسه‬ ‫السهل‬ ‫من‬ ‫ليس‬ ‫حفاظ‬‫ل‬‫ا‬ ‫كيفية‬ ‫على‬ ‫هنا‬ ‫حرص‬‫ل‬‫ا‬ ‫يتم‬ ،‫لذلك‬ ،‫للموقع‬ ‫المستخدمون‬ ‫منها‬ ‫ينظر‬ ‫التي‬ ‫ية‬‫الزاو‬ ‫إظهار‬ ‫لذلك‬ ‫الوسائل‬ ‫ومن‬ ،‫الانتظار‬ ‫وقت‬ ‫في‬ ‫الموقع‬ ‫مع‬ ‫متفاعلا‬ ‫وإبقائه‬ ‫المستخدم‬ ‫على‬ ‫ال‬ spinner ‫أو‬ ‫مجموعة‬ ‫من‬ ‫ال‬ hints ‫المتعلقة‬ ‫خدمات…إلى‬‫ل‬‫با‬ ،‫آخره‬ ‫ومع‬ ‫أنك‬ ‫في‬ ‫مع‬ ‫بالتفاعل‬ ‫قمت‬ ‫أنك‬ ‫إلا‬ ،‫القياسية‬ ‫الناحية‬ ‫من‬ ‫الموقع‬ ‫سرعة‬ ‫يادة‬‫بز‬ ‫هنا‬ ‫تقم‬ ‫لم‬ ‫الواقع‬ ‫شعورا‬ ‫يعطيه‬‫و‬ ،‫عطل‬ ‫أي‬ ‫هناك‬ ‫يوجد‬ ‫ولا‬ ،‫يعمل‬ ‫زال‬ ‫ما‬ ‫الموقع‬ ‫بأن‬ ‫ليشعر‬ ‫المستخدم‬ …‫العمليات‬ ‫استمرار‬ ‫أو‬ ‫حدوث‬‫ب‬ ‫متغيرا‬ ● Performance measurements : ‫في‬ ‫هذه‬ ‫جزئية‬‫ل‬‫ا‬ ‫سنقوم‬ ‫بقياس‬ ‫الأداء‬ ‫بشكل‬ ‫في‬ ‫ستساعدنا‬ ‫التي‬ ‫الوسائل‬ ‫أو‬ ‫العمليات‬ ‫أو‬ ‫حسابات‬‫ل‬‫ا‬ ‫من‬ ‫مجموعة‬ ‫خلال‬ ‫من‬ ‫حقيقي‬ ‫هل‬ ،‫فاشلة‬ ‫أم‬ ‫حة‬‫ج‬‫نا‬ ‫هي‬ ‫هل‬ ،‫الأداء‬ ‫ناحية‬ ‫من‬ ‫يقدمها‬ ‫التي‬ ‫خدمات‬‫ل‬‫وا‬ ‫التطبيق‬ ‫تقييم‬ ‫مع‬ ‫ثباتها‬ ‫أو‬ ‫حسنها‬‫ت‬ ‫نضمن‬ ‫وهل‬ ،‫الوقت‬ ‫مع‬ ‫جودة‬‫ل‬‫ا‬ ‫مستوى‬ ‫على‬ ‫حافظة‬‫م‬‫ال‬ ‫استطعنا‬ …!‫سوء‬ ‫تزداد‬ ‫الوقت‬ ‫مع‬ ‫أنها‬ ‫أم‬ ،‫الوقت؟‬ ‫خصائص‬‫ل‬‫ا‬ ‫من‬ ‫والعديد‬ ‫الكثير‬ ‫هناك‬ ‫بأن‬ ‫القول‬ ‫يمكننا‬ ،‫نقاط‬ ‫من‬ ‫سبق‬ ‫ما‬ ‫على‬ ‫بناء‬ ‫والإضافات‬ ‫والوسائل‬ ‫التي‬ ‫يمكنها‬ ‫أن‬ ‫تؤثر‬ ‫على‬ ‫ال‬ Performance ‫بشكل‬ ‫حقيقي‬ ‫ومباشر‬ ‫أو‬
  • 5. ‫كز‬ ‫تر‬ ‫أعلاه‬ ‫وردت‬ ‫التي‬ ‫النقاط‬ ‫جميع‬ ‫فإن‬ ،‫لذلك‬ ،‫المستخدم‬ ‫قبل‬ ‫من‬ ‫وشعوري‬ ‫خيلي‬‫ت‬ ‫بشكل‬ ‫لبناء‬ ‫بالإضافة‬ ،‫التفاعل‬ ‫لبدء‬ ‫اللازم‬ ‫والوقت‬ ‫حتوى‬‫م‬‫ال‬ ‫لتحميل‬ ‫اللازم‬ ‫الوقت‬ ‫تقليل‬ ‫على‬ ‫وتهتم‬ …‫المستخدمين‬ ‫مع‬ ‫جيدة‬ ‫جربة‬‫ت‬ :‫مهمة‬ ‫ومفردات‬ ‫مصطلحات‬ ● latency : ‫يقصد‬ ‫بذلك‬ ‫الوقت‬ ‫المستغرق‬ ‫لإرسال‬ ‫حزمة‬ ‫من‬ ‫البيانات‬ ‫من‬ ‫نقطة‬ ‫إلى‬ ‫نقطة‬ ‫أخرى‬ ‫(من‬ ‫ال‬ source ‫إلى‬ destination ) ‫مع‬ ‫الوقت‬ ‫المستغرق‬ ‫لاستقبال‬ ‫النتيجة‬ ‫من‬ ‫قبل‬ ‫ال‬ source ،‫جددا‬‫م‬ ،‫باختصار‬ ‫هو‬ ‫الوقت‬ ‫المستغرق‬ ‫من‬ ‫حظة‬‫ل‬ ‫إرسال‬ request ‫من‬ ‫قبل‬ ‫المستخدم‬ ‫ولغاية‬ ‫عودة‬ ‫ال‬ response ،‫إليه‬ ‫وكلما‬ ‫قلت‬ ‫قيمة‬ ‫ال‬ latency ‫كلما‬ ‫كان‬ ‫الأداء‬ ،!‫أفضل‬ ‫وكلما‬ ‫زادت‬ ‫قيمة‬ ‫ال‬ latency ‫كلما‬ ‫كان‬ ‫الأداء‬ …‫أسوأ‬ ● preload : ‫هي‬ ‫قيمة‬ ‫يتم‬ ‫استخدامها‬ ‫أو‬ ‫وضعها‬ ‫داخل‬ ‫ال‬ rel attribute ‫في‬ ‫ال‬ link tag ، ‫هذه‬ ‫القيمة‬ ‫ببساطة‬ ‫تقوم‬ ‫على‬ ‫إعطاء‬ ‫ية‬‫أولو‬ ‫جلب‬‫ل‬ ‫ال‬ resources ‫المهمة‬ ‫خصوصا‬ ‫وعديدة‬ ‫كثيرة‬ ‫مزايا‬ ‫القيمة‬ ‫هذه‬ ‫وتقدم‬ ،‫وقت‬ ‫أسرع‬ ‫في‬ ‫للصفحة‬ ‫ية‬‫والضرور‬ ‫جم‬‫ح‬‫ال‬ ‫ذو‬ ‫الفيديو‬ ‫أو‬ ‫سكربت‬ ‫جافا‬‫ل‬‫ا‬ ‫ملفات‬ ‫أو‬ ‫خطوط‬‫ل‬‫ا‬ ‫ملفات‬ ‫أو‬ ‫الصور‬ ‫جلب‬ ‫عند‬ ‫الكبير…إلى‬ ،‫آخره‬ ‫من‬ ‫المزايا‬ ‫التي‬ ‫تقدمها‬ ‫أنك‬ ‫ستضمن‬ ‫تحميل‬ ‫ال‬ resource ‫المطلوبة‬ ‫من‬ ‫تحميله‬ ‫تم‬ ‫ما‬ ‫خزين‬‫ت‬ ‫وسيتم‬ ،‫بدونها‬ ‫كانت‬ ‫لو‬ ‫مما‬ ‫أفضل‬ ‫وبشكل‬ ‫المتوقعة‬ ‫ية‬‫بالأولو‬ resource ‫في‬ ‫ال‬ cache ‫خاص‬‫ل‬‫ا‬ ‫بالمتصفح‬ ‫ليقوم‬ ‫باستخدامها‬ ‫في‬ ‫صفحة‬ ‫أخرى‬ ‫عند‬ ،…‫حاجة‬‫ل‬‫ا‬ ‫وهذا‬ ‫كله‬ ‫يؤثر‬ ‫جابا‬‫ي‬‫إ‬ ‫على‬ ‫ال‬ performance ‫حسنه‬‫ي‬‫و‬ ‫بشكل‬ …‫ملحوظ‬
  • 6. ● lazy loading : ‫بكل‬ ‫بساطة‬ ‫هي‬ ‫جية‬‫ي‬‫استرات‬ ‫تفصل‬ ‫ال‬ resource ‫الغير‬ ‫مهمة‬ ‫في‬ ‫ال‬ render ‫أو‬ ‫التي‬ ‫لا‬ ‫توقف‬ ‫أو‬ ‫تؤثر‬ ‫على‬ ‫ال‬ render ‫خاص‬‫ل‬‫ا‬ ‫بالصفحة‬ ‫عن‬ ‫ال‬ resource ،‫المهمة‬ ‫ومن‬ ‫ثم‬ ‫جلب‬ ‫هذه‬ ‫ال‬ resource ‫عند‬ ‫حاجة‬‫ل‬‫ا‬ ،!‫فقط‬ ،‫مثلا‬ ‫قد‬ ‫إذا‬ ‫إلا‬ ‫للمستخدم‬ ‫بعرضها‬ ‫تقوم‬ ‫التي‬ ‫الصفحة‬ ‫في‬ ‫وصورة‬ ‫سكربت‬ ‫جافا‬ ‫ملف‬ ‫جلب‬ ‫تمنع‬ ‫قام‬ ‫بالضغط‬ ‫على‬ ‫زر‬ ‫عرض‬ ‫ال‬ modal ،… ‫هناك‬ ‫الكثير‬ ‫من‬ ‫الطرق‬ ‫للقيام‬ ‫بهذه‬ ،‫جية‬‫ي‬‫الاسترات‬ ‫لكنها‬ ‫بشكل‬ ‫عام‬ ‫تقوم‬ ‫على‬ ‫عمل‬ splitting ‫لل‬ js, css ‫وال‬ Html ‫حاجة‬‫ل‬‫ا‬ ‫عند‬ ‫فقط‬ ‫المطلوبة‬ ‫الملفات‬ ‫تضمين‬ ‫يمكن‬ ‫حيث‬‫ب‬ ،‫ممكن‬ ‫جم‬‫ح‬ ‫أصغر‬ ‫على‬ ‫لتكون‬ ‫مثل‬ ‫مسبقا‬ ‫والمعرفة‬ ‫الموجودة‬ ‫خصائص‬‫ل‬‫وا‬ ‫الوسائل‬ ‫لبعض‬ ‫بالإضافة‬ ،‫غيرها‬ ‫دون‬ ‫استخدام‬ ‫ال‬ module type ‫لملفات‬ ‫جافا‬‫ل‬‫ا‬ …‫سكربت‬ ● time to interactive : ‫هذا‬ ‫المصطلح‬ ‫يشير‬ ‫إلى‬ ‫مقياس‬ ‫حساب‬‫ل‬ ‫الوقت‬ ‫الزمني‬ ‫آخر‬ ‫هي‬ ،‫أدق‬ ‫تقني‬ ‫وبشكل‬ ،‫كامل‬ ‫بشكل‬ ‫للتفاعل‬ ‫قابلة‬ ‫الصفحة‬ ‫لتصبح‬ ‫المستغرق‬ long task ‫تم‬ ‫الإنتهاء‬ ‫منها‬ ‫يليها‬ 5 ‫ثواني‬ ‫بدون‬ ‫أي‬ ‫نشاط‬ ‫على‬ ‫مستوى‬ ‫ال‬ network ‫أو‬ ‫ال‬ thread ، ‫وال‬ long task ‫هي‬ ‫أي‬ ‫مدة‬ ‫زمنية‬ ‫تزيد‬ ‫أو‬ ‫تساوي‬ 50ms ‫تكون‬ ‫فيها‬ ‫ال‬ thread ‫مشغولة‬ ‫بدون‬ ‫أي‬ …‫قطع‬ …‫الله‬ ‫شاء‬ ‫إن‬ ‫الثالث‬ ‫جزء‬‫ل‬‫ا‬ ‫في‬ ‫يتبع‬