السلام عليكم
خطر على بالى هذا السؤال , لماذا لا تأتى المكتبات الأكثر شهرة فى العالم مدمجه مع المتصفحات بشكل افتراضى و يمكننا تضمينها عبر رابط
browser://jquery.v.10.js مثلا ؟؟
لو أن ذلك ممكن ستتضاعف سرعة معظم مواقع الإنترنت التى نتصفحها .
"لم لا تقدم المتصفحات فكرة مدير حزم؟"
يوجد مدير حزم مثل npm و اسمه bower
Web Components هي مجموعة APIs يتم تطويرها للمتصفحات لتزيد من إمكانياتها.
Custom Elements هو أحد هذه الإمكانيات و أعتقد أنها مستقبل تطوير واجهات الويب.
أما بالنسبة لـCustom Elements و Polymer فهي جاهزة للاستخدام:
أما بالنسبة لـ JQuery فلا تصلح لتطوير أغلب تطبيقات الويب, بالطبع هناك استثنائات.
غالبا ستحتاج إطار عمل متكامل مثل: AngularJS, Backbone, Ember.
و باﻹضافة ستحتاج إلى إطار عمل ينظم عملك و يسرعه مثل: Yeoman.
bower ليس مخصصا للمتصفحات، ففكرته مختلفة
أولا يجب هو مخصص للتطوير المحلي، فيجب أن تثبته في حاسوبك، وتحدد المكتبات وهو يحملها لحاسوبك وليس لمتصفح العميل
Bower مدير حزم لمكتبات مشروعك من طرف الواجهة (frontend)، لا علاقة له بالمتصفحات... هو أقرب إلى أداة بسيطة تحمل المكتبات إلى مجلد خاص في مشروعك وتحل التعارض بين الإصدارات. ما أقصده هو وجود شيء مثل هذا على مستوى المتصفح، أي أن يقوم المتصفح بتخزين المكتبات وإدارة إصداراتها وتزويد الموقع بها من جهاز المستخدم.
أعتقد أن الحل حالياً أن تجمع المكتبات التي تستخدمها, مثلاً JQuery, AngularJS, X-Tags و تجعل برنامج يصغرها و يجمعها في ملف واحد و يسميها على حسب محتواها مثلا: 0d75ae33.vendor.js
و بهذه الطريقة سيحمله المتصفح أول مرة المستخدم يزور الصفحة و يخزن الملف و ﻻ يحمل الملف مرة أخرى إلا إذا تغير اسمه, مثلاً: 0d75a231.vendor.js
و بهذه الطريقة تضرب 3 عصافير بحجر واحد:
بدل من 3 ملفات ملف واحد
الملف حجمه أصغر
الملف يحمل مرة واحدة فقط و لا يحمل مرة أخر إلا إذا تغير محتواه
و طبعاً تضع script tags آخر الصفحة حتى يعمل المتصفح compile للملفات بعد أن يعرض محتوى الصفحة.
التعليقات