تطبيق ويب

تطبيق الويب هو برنامج تطبيقي يُنشأ باستخدام تقنيات الويب ويعمل عبر متصفح الويب . [ 1 ] [ 2 ] ظهرت تطبيقات الويب خلال أواخر التسعينيات ، وسمحت للخادم بإنشاء استجابة ديناميكية للطلب، على عكس صفحات الويب الثابتة . [ 3 ]
تُوزَّع تطبيقات الويب عادةً عبر خادم ويب . وتستخدم هذه التطبيقات أنظمة متعددة الطبقات للتواصل بين متصفحات الويب وواجهة المستخدم وبيانات الخادم. ولكل نظام استخداماته الخاصة نظرًا لاختلاف طريقة عمله. ومع ذلك، توجد مخاطر أمنية عديدة يجب على المطورين الانتباه إليها أثناء التطوير؛ لذا فإن اتخاذ التدابير المناسبة لحماية بيانات المستخدم أمر بالغ الأهمية.
غالباً ما تُبنى تطبيقات الويب باستخدام إطار عمل خاص بها . وتُعدّ تطبيقات الصفحة الواحدة (SPAs) وتطبيقات الويب التقدمية (PWAs) نهجين معماريين لإنشاء تطبيقات ويب توفر تجربة مستخدم مشابهة للتطبيقات الأصلية ، بما في ذلك ميزات مثل سهولة التصفح، ودعم العمل دون اتصال بالإنترنت، وسرعة التفاعل.
غالبًا ما تُستضاف تطبيقات الويب بالكامل على خدمات سحابية بعيدة ، وقد تتطلب اتصالًا دائمًا بها، ويمكنها أن تحل محل تطبيقات سطح المكتب التقليدية لأنظمة تشغيل مثل مايكروسوفت ويندوز ، مما يُسهّل تشغيل البرمجيات كخدمة، حيث يمنح المطور القدرة على التحكم الدقيق في الفواتير بناءً على استخدام الخدمات البعيدة، بالإضافة إلى منع احتكار المورّد من خلال استضافة البيانات عن بُعد. توفر المتصفحات الحديثة مثل كروم بيئة معزولة (Sandboxing) لكل علامة تبويب، مما يُحسّن الأمان ويُقيّد الوصول إلى الموارد المحلية. لا يتطلب الأمر تثبيت أي برامج، حيث يعمل التطبيق داخل المتصفح، مما يُقلل الحاجة إلى إدارة عمليات تثبيت البرامج. مع استخدام الخدمات السحابية البعيدة، لا يحتاج العملاء إلى إدارة الخوادم، حيث يُمكن ترك ذلك للمطور والخدمة السحابية، ويمكنهم استخدام البرنامج على أجهزة كمبيوتر ذات موارد محدودة نسبيًا، مثل أجهزة العميل الخفيف . يمكن أن يظل رمز المصدر للتطبيق ثابتًا عبر أنظمة التشغيل وأجهزة المستخدمين باستخدام تصميم الويب المتجاوب ، حيث يكفي أن يكون متوافقًا مع متصفحات الويب التي تلتزم بمعايير الويب، مما يجعل الرمز قابلاً للنقل بدرجة عالية ويوفر وقت التطوير. تُسهّل العديد من أطر عمل جافا سكريبت وأطر عمل CSS عملية التطوير.
تاريخ
ظهر مفهوم "تطبيق الويب" لأول مرة في لغة جافا ضمن مواصفات سيرفلت الإصدار 2.2، التي صدرت عام 1999. في ذلك الوقت، كانت كل من جافا سكريبت و XML قد طُورتا بالفعل، ولكن كائن XMLHttpRequest لم يُضَف إلا مؤخرًا في متصفح إنترنت إكسبلورر 5 ككائن ActiveX . ابتداءً من أوائل العقد الأول من الألفية الثانية، بدأت تطبيقات مثل " ماي سبيس (2003)، وجيميل (2004)، وديج (2004)، وخرائط جوجل (2005)" في جعل جانب العميل فيها أكثر تفاعلية. يستطيع نص صفحة الويب الاتصال بالخادم لتخزين/استرجاع البيانات دون الحاجة إلى تنزيل صفحة الويب كاملة. عُرفت هذه الممارسة باسم Ajax عام 2005. لاحقًا، استُبدلت هذه التقنية بواجهات برمجة تطبيقات الويب (Web APIs) التي تستخدم JSON ، والتي يُمكن الوصول إليها عبر جافا سكريبت بشكل غير متزامن من جانب العميل.
في نماذج الحوسبة السابقة، مثل نموذج العميل والخادم، كان عبء معالجة التطبيق يُوزّع بين الكود الموجود على الخادم والكود المُثبّت محليًا على كل عميل. بعبارة أخرى، كان لكل تطبيق برنامج عميل مُجمّع مسبقًا يعمل كواجهة مستخدم ، وكان يجب تثبيته بشكل منفصل على جهاز كل مستخدم . عادةً ما تتطلب ترقية كود الخادم ترقية كود العميل المُثبّت على كل محطة عمل، مما يزيد من تكلفة الدعم ويُقلّل الإنتاجية . إضافةً إلى ذلك، كان كل من مكوني العميل والخادم مرتبطين ارتباطًا وثيقًا ببنية حاسوب ونظام تشغيل مُحدّدين ، مما جعل نقلهما إلى أنظمة أخرى مكلفًا للغاية، باستثناء التطبيقات الكبيرة جدًا.
في وقت لاحق، عام 1995، قدمت نتسكيب لغة برمجة جافا سكريبت ، التي تتيح للمبرمجين إضافة عناصر ديناميكية إلى واجهة المستخدم تعمل على جانب العميل. وباختصار، بدلاً من إرسال البيانات إلى الخادم لإنشاء صفحة ويب كاملة، يمكن للبرامج النصية المضمنة في الصفحة التي تم تنزيلها تنفيذ مهام متنوعة، مثل التحقق من صحة المدخلات أو إظهار/إخفاء أجزاء من الصفحة.
يشير مصطلح " تطبيقات الويب التقدمية "، الذي صاغته المصممة فرانسيس بيريمان ومهندس جوجل كروم أليكس راسل في عام 2015، إلى التطبيقات التي تستفيد من الميزات الجديدة التي تدعمها المتصفحات الحديثة، والتي تعمل في البداية داخل علامة تبويب متصفح الويب ولكن يمكن تشغيلها لاحقًا بشكل كامل دون اتصال بالإنترنت ويمكن تشغيلها دون إدخال عنوان URL للتطبيق في المتصفح.
بناء
عادةً ما تكون تطبيقات الحاسوب التقليدية أحادية الطبقة، حيث تعمل حصريًا على جهاز المستخدم. في المقابل، تُسهّل تطبيقات الويب بطبيعتها بنية متعددة الطبقات. ورغم وجود العديد من الاختلافات الممكنة، فإن البنية الأكثر شيوعًا هي التطبيق ثلاثي الطبقات . في شكله الأكثر شيوعًا، تُسمى هذه الطبقات الثلاث: العرض ، والتطبيق ، والتخزين . تشير الطبقة الأولى، وهي العرض، إلى متصفح الويب نفسه. وتشير الطبقة الثانية إلى أي محرك يستخدم تقنية محتوى الويب الديناميكي (مثل ASP ، وCGI ، وColdFusion ، وDart ، و JSP/Java ، و Node.js ، وPHP ، وPython ، أو Ruby on Rails ). وتشير الطبقة الثالثة إلى قاعدة البيانات التي تخزن البيانات وتحدد بنية واجهة المستخدم. باختصار، عند استخدام النظام ثلاثي الطبقات، يرسل متصفح الويب طلبات إلى المحرك، الذي يقوم بدوره بمعالجتها من خلال إجراء استعلامات وتحديثات على قاعدة البيانات، ثم يُنشئ واجهة المستخدم.
قد لا يكون الحل ثلاثي الطبقات كافيًا عند التعامل مع التطبيقات الأكثر تعقيدًا، وقد يستدعي الأمر استبداله بنهج متعدد الطبقات؛ وتتمثل أهم مزاياه في كيفية تقسيم منطق الأعمال (الموجود في طبقة التطبيق) إلى نموذج أكثر دقة. [ 4 ] ومن المزايا الأخرى إضافة طبقة تكامل، تفصل طبقة البيانات وتوفر واجهة سهلة الاستخدام للوصول إلى البيانات. [ 4 ] على سبيل المثال، يمكن الوصول إلى بيانات العميل عن طريق استدعاء دالة "list_clients()" بدلًا من إجراء استعلام SQL مباشر على جدول العميل في قاعدة البيانات. وهذا يسمح باستبدال قاعدة البيانات الأساسية دون إجراء أي تغيير على الطبقات الأخرى. [ 4 ]
يرى البعض أن تطبيقات الويب ذات بنية ثنائية الطبقات. قد يكون هناك عميل "ذكي" يُنفّذ جميع العمليات ويستعلم من خادم "بسيط"، أو عميل "بسيط" يعتمد على خادم "ذكي". [ 4 ] يتولى العميل طبقة العرض، بينما يتولى الخادم قاعدة البيانات (طبقة التخزين)، أما منطق الأعمال (طبقة التطبيق) فيكون على أحدهما أو كليهما. [ 4 ] مع أن هذا يُحسّن قابلية توسع التطبيقات ويفصل بين العرض وقاعدة البيانات، إلا أنه لا يسمح بالتخصص الحقيقي للطبقات، لذا فإن معظم التطبيقات ستتجاوز هذا النموذج مع مرور الوقت. [ 4 ]
حماية
تُعدّ الاختراقات الأمنية في هذا النوع من التطبيقات مصدر قلق بالغ، إذ قد تشمل معلومات المؤسسة وبيانات العملاء الخاصة. ويُشكّل حماية هذه الأصول جزءًا أساسيًا من أي تطبيق ويب، وهناك بعض الجوانب التشغيلية الرئيسية التي يجب تضمينها في عملية التطوير. [ 5 ] ويشمل ذلك عمليات المصادقة، والترخيص، وإدارة الأصول، وإدخال البيانات، والتسجيل، والتدقيق. وفي بعض الأحيان، يكون دمج الأمن في التطبيقات منذ البداية أكثر فعالية وأقل تأثيرًا على المدى البعيد.
تطوير
يُصبح تطوير تطبيقات الويب أسهل باستخدام أطر عمل تطبيقات الويب . تُسهّل هذه الأطر عملية التطوير السريع للتطبيقات ، إذ تُمكّن فريق التطوير من التركيز على أجزاء التطبيق التي تُناسب أهدافه الخاصة، دون الحاجة إلى حلّ مشكلات التطوير الشائعة، مثل إدارة المستخدمين. [ 6 ]
بالإضافة إلى ذلك، هناك إمكانية لتطوير التطبيقات على أنظمة تشغيل الإنترنت ، على الرغم من أنه لا توجد حاليًا العديد من المنصات القابلة للتطبيق التي تناسب هذا النموذج.
انظر أيضاً
مراجع
- ↑ "تطبيق ويب | التعريف، التاريخ، التطوير، الأمثلة، الاستخدامات، والحقائق | بريتانيكا" . www.britannica.com . موسوعة بريتانيكا . تم الاطلاع عليه بتاريخ 4 نوفمبر 2024 .
- ↑ "ما هو تطبيق الويب؟ - شرح تطبيقات الويب - AWS" . شركة أمازون لخدمات الويب . تم الاطلاع عليه بتاريخ 4 نوفمبر 2024 .
- ↑ "تطبيقات الويب" . DocForge . مؤرشف من الأصل في 19 أبريل 2015. تم الاطلاع عليه في 9 نوفمبر 2024 .
- 1 2 3 4 5 6 بيترسن، جيريمي (4 سبتمبر 2008). "فوائد استخدام منهجية الطبقات المتعددة لتطبيقات الويب" . مؤرشف من الأصل في 1 ديسمبر 2017. تم الاطلاع عليه في 24 نوفمبر 2017 .
- ↑ "أهم النصائح لتطوير تطبيقات آمنة" . Dell.com. مؤرشف من الأصل بتاريخ 22-05-2012 . تم الاطلاع عليه بتاريخ 22-06-2012 .
- ↑ متعدد (ويكي). "إطار عمل تطبيقات الويب" . دوكفورج . مؤرشف من الأصل بتاريخ 2020-06-20 . تم الاسترجاع بتاريخ 2010-03-06 .
روابط خارجية
- توصية مسودة HTML5 ، تغييرات على HTML وواجهات برمجة التطبيقات ذات الصلة لتسهيل تأليف التطبيقات المستندة إلى الويب.
- مجموعة عمل تطبيقات الويب في اتحاد شبكة الويب العالمية (W3C)
- تطبيقات الويب التقدمية (PWAs) على موقع Web.dev من تطوير مطوري جوجل .
- هندسة البرمجيات
- تطبيقات الويب
- تطوير مواقع الويب
- تقنيات واجهة المستخدم
