Skip to content

ما هي تطبيقات الويب أحادية الصفحة (SPA) ؟

ما هي تطبيقات الويب أحادية الصفحة (SPA) ؟

19 نونبر 2018 | 00:00

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

هذه العملية تتكرر في كل مرة ننقر فيها على رابط معين.

اليوم ومع تطور لغة البرمجة جافاسكريبت وتحسن أداء المتصفحات، باتت معظم تطبيقات الويب المعروفة عبارة عن تطبيقات أحادية الصفحة (Single Page Applications)، أو على الأقل جزء كبير منها.

كيف ذلك ؟

في تطبيقات الويب أحادية الصفحة، تقوم المتصفحات بتحميل أكواد HTML ،CSS و جافاسكريبت مرة واحدة فقط، وعوضا عن أن ننتظر الخادم لكي يقوم بالعمل كله، فإننا (كعملاء أو Clients) نطلب منه فقط البيانات (على شكل Json مثلا) التي نريدها والمتصفح هو الذي يتولى ترتيبها (على شكل HTML) وعرضها للمستخدمين.

في السابق، كان المتصفح يقوم فقط بعرض ما يتوصل به من HTML، أما الآن فهو الذي يولد هذا HTML ويحدد بنيته عن طريق جافاسكريبت ثم بعد ذلك يتم تحديث واجهة المستخدم (User Interface) بسرعة وبدون إعادة تحميل الصفحة.

التقنية التي تستخدم لطلب وإرسال البيانات من وإلى الخادم ـ بدون إعادة تحميل الصفحة ـ تسمى Asynchronous Javascript and Xml ويشار إليها باختصارا بكلمة Ajax.

Single Page Applications

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

لمزيد من المعلومات حول هذا الموضوع، يمكنكم قراءة هذا المقال المفصل :

أمثلة لبعض من تطبيقات الويب أحادية الصفحة المعروفة

تطبيقات الويب أحادية الصفحة الناجحة والمعروفة كثيرة ومن غير الممكن أن نمر عليها جميعها، ولكن نذكر فقط بعضا من تلك التي لا يكاد يمر على أحد منا يوم دون استخدامها :

إيجابيات تطبيقات SPA

السلبيات أو التحديات التي تفرضها تطبيقات SPA

النهاية

مع تطور المتصفحات الذي يوازيه تطور في جافاسكريبت على جميع الأصعدة، أضحى جزء كبير من العمل يتم على مستوى الواجهة الأمامية لتطبيقات الويب، وأصبح في غاية الأهمية أن يصوب المطورون جهودهم نحو كتابة أكواد جافاسكريبت محسنة (Optimized) قدر الإمكان. ولا أخفيكم سرا أن مستقبل تطبيقات الويب كامن في هذه المتصفحات التي توفر واجهات برمجية كثيرة على الرغم من أن كثيرا منها لا يزال غير مدعوم بالشكل الكافي حاليا. تلك الواجهات البرمجية ستساعد مطوري الويب في بناء تطبيقات ذات طابع أصيل وبتجربة استخدام قريبة مما نجده في Native Applications، وتطبيقات الويب التقدمية ـ التي تعد شكلا متطورا من تطبيقات الويب أحادية الصفحة ـ بدأت بالفعل في جعل هذا الهدف واقعا أمامنا.

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