برمجة طريقة التطبيق المصغّر

في هذا الفصل، أريد أن ألقي نظرة على الدروس التي تعلّمتها من البحث عن التطبيقات الصغيرة من وجهة نظر مطور الويب، أو أريد الإجابة عن السؤال الذي يعنيه تطوير طريقة التطبيقات المصغّرة.

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

نموذج عرض النموذج

يعني النمط المعماري-عرض-نموذج (MVVM) الذي يسهل الفصل بين تطوير واجهة المستخدم الرسومية (العرض) عبر لغة ترميزية عن تطوير منطق الواجهة الخلفية (النموذج) أن العرض لا يعتمد على أي نظام أساسي محدد للنماذج. في حين أنّ هناك بعض العيوب الموثقة للنمط، فإنّها بشكل عام تعمل بشكل جيد جدًا في التطبيقات التي تتضمّن تعقيد التطبيقات الصغيرة. يمكن أن يظهر بشكل بارز في مكتبات النماذج الغنية (راجِع الفصل التالي).

التفكير حسب الصفحة

يشير تصحيح أخطاء التطبيقات المصغّرة إلى أنّها في الأساس تطبيقات متعدّدة الصفحات (MPA). وتتميز هذه الطريقة بمزايا عديدة، كأن تكون على سبيل المثال تسمح بالتوجيه البسيط وتصميم كل صفحة خالٍ من التعارضات. طبَّق المستخدمون بنى MPA بنجاح على تطبيقات الويب التقدّمية. ويساعد التفكير في الصفحات أيضًا في إدارة الموارد مثل ملفات CSS وJavaScript لكل صفحة، ومواد العرض الأخرى مثل الصور والفيديوهات. والأهم من ذلك، أن إنشاء هذه الطريقة يعني أنه يمكنك الحصول على تقسيم للرموز البرمجية المستندة إلى المسار مجانًا إذا لم يتم تحميل أي محتوى آخر. في هذه الحالة، تُحمِّل كل صفحة حسب التعريف فقط ما تحتاج إليه لتعمل.

عملية التصميم

لا تتضمن التطبيقات المصغّرة عملية إصدار مرئية. تستفيد أدوات التصميم الحديثة مثل Snowpack على الويب من نظام الوحدات المدمج في JavaScript (المعروف باسم ESM) لتجنُّب العمل غير الضروري والبقاء سريعًا بغض النظر عن حجم المشروع. مع أنّ تقنيات مثل حزم الويب لا تزال في بداياتها، يمكن بسهولة إضافتها إلى عملية التصميم.

إمكانات فعّالة

اكتسبت منصة الويب العديد من الإمكانات الجديدة مؤخرًا. أصبح بإمكانك الآن الوصول إلى الأجهزة عبر البلوتوث وUSB وHID وserial والاتصال القصير المدى (NFC) الآن. عندما تعمل التطبيقات المصغَّرة في WebViews وتعتمد على جسر JavaScript، تتوفّر هذه الإمكانات الفعّالة على الويب مباشرةً، لذا لا تبرمجة مقابل واجهة برمجة تطبيقات يوفّرها جسر JavaScript، ولكن مقابل واجهة برمجة تطبيقات المتصفّح بدون عنصر وسيط.

شكر وتقدير

راجع هذه المقالة جو ميدلي وكايس باسك وميلييكا ميهاجليا وآلان كينت وكيث غو.