كيفية إنشاء تطبيقات سريعة للغاية
هدف المطور هو زيادة أداء التطبيق وتحسين تجربة المستخدم. غالبًا ما يقف الوقت في مواجهة المطورين حيث يتنفس أصحاب المصلحة في أعناقهم ، وتهدد المنافسة بإخراج تطبيقات أفضل مما يمكنهم إنتاجه ويلمح المستخدمون إلى التبديل إلى تطبيقات منافسة. لذلك فإن فرق إدارة المشروع دائمًا ما تبحث عن الأساليب التي من شأنها مساعدتهم على إنشاء التطبيقات بسرعة – بسرعة مذهلة. ونعم ، فقط السرعة لا تكفي. عليهم التركيز على جعل هذه التطبيقات مرنة ، مع زمن انتقال منخفض ، وتوفير أوقات عرض رائعة.
اختيار المكدس المناسب للتكنولوجيا
المكدس التكنولوجي عبارة عن مجموعة من لغات البرمجة والأدوات والتقنيات ومنتجات البرامج التي يستخدمها المطورون لإنشاء تطبيق ويب وظيفي. يمكن تصنيف هذا على أنه مكدس جانب الخادم (النهاية الخلفية) ، ومكدس جانب العميل (الواجهة الأمامية) والمكدس الأوسط. نظرًا للعدد الكبير من مكتبات الأحجار الكريمة ، فإن RoR هي الأطر الأكثر استخدامًا لتطوير التطبيقات بسرعة. على سبيل المثال ، إذا كنت بدأت للتو في عملك ، فيمكنك اختيار أداة لغة / إطار عمل / CMS تتيح لك تجميع نموذج أولي. الأدوات ذات أقصر مدة تعلم ، كان ذلك أفضل لك.
الابتعاد عن التحسين المبكر
قال دونالد كنوث ذات مرة ، “التحسين المبكر هو أصل كل الشرور”.
يقضي المطورون الكثير من الوقت في التفكير في الأجزاء غير الحرجة من البرنامج ، بدلاً من تطوير الأجزاء المهمة من الكود. إنهم لا يعطون أهمية للأجزاء الحرجة من الكود ، ولا يعملون على الكود الذي يحتاج إلى تحسين.
قلة الخبرة يمكن أن تسبب ذلك. لمنع حدوث أشياء مماثلة لفريقك ، تأكد من قيام الفريق بكتابة الإصدار الأول من الكود دون القلق بشأن أدائه. لاحقًا ، باستخدام ملف التعريف ، يمكن للفريق التحقق من مكان الاختناقات.
بهذه الطريقة يمكنهم التحقق من المناطق التي تحتاج حقًا إلى الاهتمام ولا تهتم بما لا تحتاج إليه.
على أرض PHP ، هناك بعض الأدوات التي يمكنك استخدامها لتوصيف التعليمات البرمجية الخاصة بك. وهي xdebug و xhprof و Symphony profiler و Tideways و Blackfire.io ومكون ساعة الإيقاف.
افعل فقط ما تريد القيام به
غالبًا ما تقوم الكود الخاص بك بأشياء معينة تتجاوز نطاق ما كنت تتوقعه من القيام به. خاصة عندما يتعلق الأمر باستخدام المكتبات والأطر المعقدة. في بعض الأحيان ، يمكنك تحميل فئات لم تكن تخطط لاستخدامها ، أو فتح اتصال قاعدة بيانات لم تكن هناك حاجة إليه لتوليد نتائج لطلب معين.
تحتاج إلى تجنب حدوث ذلك لأن ذلك قد يقف في طريق أدائك. إليك بعض النصائح حول كيفية تحقيق أداء أفضل:
أ) التحميل التلقائي – بمساعدة ميزة التحميل التلقائي ، تحتاج فقط إلى القلق بشأن تلك الملفات التي تحتاج إلى تضمينها في البرنامج النصي الخاص بك. صحيح أن التحميل التلقائي كان محاولة معقدة بعض الشيء في الماضي ، ولكن بمساعدة أدوات مثل معايير Composer و PSR-0 و PSR-4 ، تم تكوين التحميل التلقائي لقطعة من الكعكة.
ب) حقن التبعية – على الرغم من وجود نمط تصميم شائع جدًا في Java ، إلا أن Dependency Injection حصل على الكثير من الجذب في عالم PHP أيضًا. هذا لأن أطر مثل Symphony و Laravel و Zend تستخدمها على نطاق واسع. من خلال حقن التبعية ، يمكن للمطورين حقن المكونات من خلال طريقة العائق وتمكين المطور من التفكير من حيث التبعيات. يساعدهم هذا في إنشاء مكونات صغيرة معزولة حيث يكون التركيز على شيء واحد فقط.
ضغط
يمكنك تقليل حجم البيانات باستخدام تقنيات الضغط المتوفرة للمحتوى. تتميز خدمات REST بحمل أقل ، وتأكد من أن الصور الموجودة في البيانات بحجم صحيح ، لأن الصور التي يصعب تحميلها يمكن أن تؤثر حقًا على تحميل التطبيقات. تأكد أيضًا من تشغيل ضغط HTTP عند الاستخدام مع خادم ويب.
استخدم طريقة التخزين المؤقت للقيام بمهام متكررة
ليس هناك شك في أن تطبيقات الويب معقدة حقًا هذه الأيام ، ويجب أن تكون مؤهلة بما يكفي لتوليد استجابة لكل طلب يأتي. طريقة ذكية للقيام بمهمة متكررة من خلال التخزين المؤقت. هذه تقنية مستخدمة على نطاق واسع ويمكن العثور عليها في كل مكان. في برمجة الويب ، توجد مستويات مختلفة من التخزين المؤقت التي يمكنك استخدامها مثل Byte Code Cache وذاكرة التخزين المؤقت للتطبيق وذاكرة التخزين المؤقت HTTP وذاكرة التخزين المؤقت للوكيل. يمكن أن يؤدي ذلك إلى تجنب الرحلة المفرطة عبر البنية التحتية للمحتوى وشبكة الجوال.
شبكة توصيل المحتوى (CDN)
قلل وقت استجابة الشبكة والجلب المسبق للمحتوى وتحسين توجيه الشبكة والمزيد من خلال شبكات CDN أو شبكات توصيل المحتوى. هذه يمكن أن تسرع التطبيق الخاص بك إلى حد كبير. بعض شبكات CDN الأكثر استخدامًا هي Akamai و Edgecast و Limelight و Amazon CloudFront وحتى شركات الاتصالات مثل AT&T و Level3.
إذا كانت الواجهة الخلفية عبارة عن صاعق للأداء
إذا كنت تشعر أن خادم الواجهة الخلفية يستغرق وقتًا طويلاً في الأداء ، فقم بتهيئة بنية البرنامج بحيث لا تؤثر قابلية النقل وقابلية الاستهلاك وقابلية التغيير وقابلية التوسع على أداء التطبيق. ربما يتعين عليك إجراء تقييم معماري لتحديد أي جزء من التطبيق يفقد السرعة. إذا كنت تختار خدمة جهة خارجية لهذا الغرض ، فتأكد من طرح جميع الأسئلة الصحيحة عليهم قبل التعاقد معهم.
التحميل الكسول للأصول
يمكن لأصول التحميل عند الطلب أو كسول التحميل تحسين أداء تطبيق الويب الخاص بك. ومع ذلك ، هذا ينطبق بشكل أساسي على الصور. يمكن أن يؤدي التحميل البطيء للصور إلى وقت تحميل أسرع لصفحتك ،
تقليل الحمل على الخادم وتقليل استخدام الذاكرة في المتصفح. يمكن أن يتم التحميل الكسول من خلال الإضافات أو الإضافات ذات الصلة. إليك مكون إضافي سيتعامل مع التحميل البطيء للصور لـ React – رد فعل-تحميل كسول.
استخدم معرفات الصفيف عند استخدام مكتبات معالجة DOM
قد يكون استخدام معرفات المصفوفات مفيدًا بشكل كبير في تحسين أداء المواقع الديناميكية إذا كنت تستخدم React أو Angular أو Ember أو أي مكتبة معالجة أخرى في DOM. تشير معرفات المصفوفات إلى محركات معالجة DOM عندما يمكن تعيين عقدة معينة إلى أي عنصر معين في المصفوفة. بدون هذه الميزة ، تقوم المكتبات بتدمير العقد الموجودة وإنشاء أخرى جديدة ، مما يضعف الأداء.
“اتبع هذه النصائح ، فقط ركز على كتابة الأكواد الصحيحة لمشروعك ، ويمكنك تحقيق مستوى رائع من الأداء وقابلية التوسع لتطبيقك”
Flickr.com / بيورن جروينوالد