الجيل المقبل من YSlow بالطاقة بواسطة YUI

18 يوليو 2011 في الساعة 9:17 من قبل دوران مارسيل | في التنمية ، الأداء | 4 تعليقات

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

YSlow للجوال يعمل بمثابة بووكمركلت ، مما يجعل من الممكن لتعمل على متصفحات أخرى غير فايرفوكس (باعتبارها في الإضافة) أو الكروم (امتدادا) .

وأعيد تصميم جزئيا بنية YSlow للعمل عبر منصة وYUI كان عاملا أساسيا في جعل sandboxing، عبر متصفح التجريد والوصول YQL بسيط ممكن.

Sandboxing

من أجل أن تكون جزءا لا يتجزأ من على صفحة ودون التدخل في تحليل الأداء وبدون العبث مع الصفحة نفسها، YSlow هو بووكمركلت أن يقحم جافا سكريبت والمغلق في أي صفحة من خلال الاستفادة من قوة sandboxing YUI:

بووكمركلت URL:

 جافا سكريبت: (وظيفة (ذ، ص، س) {
     ع = y.body.appendChild (y.createElement ('IFRAME'))؛
     p.id = 'YSLOW-بووكمركلت'؛
     p.style.cssText = 'عرض: لا شيء؛
     س = p.contentWindow.document؛
     o.open (). الكتابة ('
         <HEAD>
         <onload الجسم = "
             YUI_config = {
                 فوز: window.parent،
                 الوثيقة: window.parent.document
            
             فار د = الوثيقة؛
             d.getElementsByTagName (\ "رئيس \ ') [0]
                 . appendChild (
                     d.createElement (\ "السيناريو \ ')
                 ). SRC = \ 'http://d.yimg.com/jc/yslow-bookmarklet.js \ ".
         >
     ')؛
     o.close ()
 } (الوثيقة))

رمز أعلاه:

  • يخلق IFRAME فارغة؛
  • يلحق ذلك إلى هيئة صفحة؛
  • يخفي * IFRAME؛
  • يحصل المعالج لها نافذة؛
  • يكتب في مضمونها على جثة IFRAME؛
  • هذا الجسد هو فارغ ولكن لديه onload الحدث
  • و onload الحدث يحدد كيفية حقن YSlow JS:
    • يحدد YUI_config ، لذلك win و doc يشير إلى الصفحة التي يجري تحليلها window و document على التوالي
    • يقحم حيوي URL YSlow عن طريق إنشاء script عنصر إلى IFRAME في head

يتم عرض * على IFRAME بحلول الوقت الذي يتم تحميل جميع الموجودات عرض YSlow

وهذا وضع إطار أو نافذة مدمجة يجري تحليلها في الصفحة. وهذا IFRAME بمثابة بيئة سندبوإكسد YSlow وسوف يقيم فيها. منذ تم إنشاؤه بشكل حيوي IFRAME دون src السمة، وسوف يحصلون على الأم (التي يجري تحليلها في الصفحة) لأنه ليس هناك سياسة الأصل نفسه انتهاك يحدث هناك.

و YUI_config الكائن هو مفيد لأنه يضع win و doc إلى الأصل في IFRAME (التي يجري تحليلها في الصفحة)، وبالتالي لن تكون ملزمة أي مثيل YUI جديد للوثيقة الأم بواسطة الأسلاك، والتقصير أي دعوة إلى Y.all و Y.one من خلال Y.config.win أو Y.config.doc من YUI use الاستدعاء.

تتم معالجة العرض YSlow من قبل IFRAME window و document المراجع، والسماح للسيناريو YSlow الرئيسي لجعل العلامات وكذلك جلب مثل CSS الخارجية ضمن هذا الإطار من دون أن يتعارض مع الأنماط في الصفحة الأصل. YSlow بمسح الصفحة الأصل من أجل الحصول على جميع العناصر (الصور والنصوص والروابط، وخلفية، صور، فلاش، الخ) اللازمة لتحليل الأداء في وقت لاحق. يتم ذلك عن طريق الوصول إلى Y.config.win و Y.config.doc ، نظرا لأنها تشير إلى الصفحة الرئيسية.

عبر متصفح التجريد

كونه بووكمركلت، يفترض YSlow للجوال للعمل على أي * المتصفح. YUI تجرد عبر متصفح القضايا من خلال تطبيع الاختلافات المتصفح، مما أدى إلى مصدر برنامج نظيفة وسهلة القراءة وللصيانة،.

لم YSlow استدار بالكامل لYUI 3 - فقط طبقة وحدة تحكم (المكون من التطبيق المقبلة) في الوقت الراهن - ولكن لا يزال، وتتم جميع تلاعب DOM والتعامل مع الحدث و node و event وحدات. في الإصدارات المستقبلية وضعنا خطة لمنفذ ميزات أكثر YSlow إلى YUI 3.

ويدعم حاليا * ليس جميع المتصفحات

YQL

YSlow يحلل صفحات عن طريق فحص رؤوس HTTP للمكونات الموجودة على الصفحة. رؤوس استجابة HTTP غير متوفرة في الصفحة، وبالتالي هذه المكونات في حاجة إلى أن يطلب مرة أخرى من أجل الحصول على المعلومات YSlow رأس استجابة. ويمكن تحقيق هذا عن طريق طلب قائمة عناوين مكون من خلال مدعوم (اياكس) ولكن للأسف بسبب نفس الأصل تقييد السياسة ، لم يكن ذلك ممكنا إلا إذا كل المكونات في نفس المجال مثل الصفحة التي من غير المحتمل جدا.

للمشكلة مشتركة لنفس الأصل سياسة تقييد يستخدم JSONP، حيث خادم خارجي يعمل بمثابة وكيل لطلب لائحة عناوين مكونات واسترجاع رؤوس على الاستجابة HTTP باسم YSlow. نظرا لشعبية YSlow والاخيرة تحليل أداء جهود النقالة، ونتوقع حركة المرور الكثيفة جدا لYSlow لبووكمركلت موبايل. من أجل دعم حركة المرور هذه، YQL هو الحل الذي اعتمدته YSlow للتحجيم من خلال جدول البيانات المفتوحة اسمه data.headers ، الذي باسترداد رؤوس استجابة والمضمون للحصول على قائمة معينة من عناوين المواقع في حين انتحال من قبل المستخدم وكيل لضمان محتوى غير متوقع استردادها.

و الاستعلام YQL عنصر يعمل كل عمل من إدارة الاستعلامات YQL بينما تطلب إدارة JSONP تحت غطاء محرك السيارة، مما يجعل من رمز وحدة تحكم YSlow أبسط من ذلك بكثير وسهلة للحفاظ.

مستقبل التعزيزات: YSlow جديد لواجهة ودية موبايل

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

أداء أداة الأداء

وقدم للنشر YSlow موبايل النظر بعناية تأثيرها على أداء وقت تحميل الصفحة التي يجري تحليلها. تم التدقيق في 3 وحدات YUI المستخدمة في YSlow لتشمل وحدات فقط الحاجة إلى تحميل YSlow في أسرع وقت ممكن. ملف البذور YUI ومحمل لم تكن مدرجة منذ تم الجمع بين جميع الوحدات الضرورية، والوحدات الفرعية معا بعد أداء رايان غروف في زن نصائح، التي جعلت من الممكن لتحميل كل شيء معا في طلب واحد واحد صغير: yslow-bookmarklet.js: 204KB، 66KB ( غزيب) حيث:

  • YUI: 75KB، 27KB (GZIP)
  • YSlow: 129KB، 39KB (GZIP)

المزيد عن YSlow

ابق على اطلاع دائم على موعد مع الإعلان عن أحدث YSlow من قبل:

مارسيل دوران نبذة عن الكاتب: مارسيل دوران هو الرصاص أمامية لفريق ياهو أداء استثنائيا. لقد كان في تحسين أداء الشبكة على مواقع الازدحام الشديد في صفحة الجبهة ياهو وفرق البحث حيث طبق وبحث الممارسات أداء أفضل على شبكة الإنترنت مما يجعل الصفحات بشكل أسرع. وتكرس الآن هو إلى YSlow وغيرها من أدوات تطوير الأداء، والبحوث والتبشير الملائكي. هدفه هو جعل شبكة الإنترنت أسرع من أنه يمكن أن يكون، وتعتقد انه لا يوجد شيء مثل "مجرد أجزاء قليلة من الثانية لن يضر".

تقاسم وتوسيع نطاق: مع الإشارة المرجعية متواجد حاليا | يسو أنها! | صديق!

4 تعليقات »

آر إس إس للتعليقات على هذه الوظيفة. TrackBack أوري

  1. ويمكن أن تستخدم بالتأكيد أنماط النقال الآن

    تعليق بواسطة خوان - 19 يوليو 2011 #

  2. جيدة أنباء مارسيل. الحفاظ على العمل الجيد!

    تعليق من قبل لوندغرين إدواردو - 21 يوليو 2011 #

  3. [...] من الجيل المقبل من YSlow بالطاقة بواسطة YUI [...]

    بينغبك بواسطة أفضل الممارسات لتسريع موقع الويب الخاص بك «شاندارا - 25 يوليو 2011 #

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

    تعليق من قبل تشابمان كليف - 27 يوليو 2011 #

ترك التعليق

ملاحظة: التعليقات خاضعة للإشراف على أجهزة توقيت والعشرين. الرسائل غير المرغوب فيها حذف.

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <B> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <I> <q cite=""> <strike> على <strong>

استضاف برنامج رائع

جميع الحقوق محفوظة © 2006-2012 ياهو! جميع الحقوق محفوظة. سياسة الخصوصية - شروط الخدمة

مدعوم من وورد في ياهو! استضافة المواقع .