لا يستطيع أي أحد إنكار اعتمادنا على الإنترنت وتقنيات الويب بشكلٍ عام، إذ أثّرت بنا هذه التقنيات في كل المجالات، ولا سيما المجالات التجاريّة، فكلّ نشاط تجاري أو شركة أصبحت تمتلك تطبيق ويب أو أكثر، بهدف الترويج لخدماتها والتواصل مع عملائها. فما هي تطبيقات الويب، وكيف يمكنك تطوير تطبيق خاصّ بك أو بعملك؟
جدول المحتويات:
- ما هي تطبيقات الويب Web Applications؟
- الفرق بين تطبيقات الويب ومواقع الويب والتطبيقات الأصيلة
- مميزات تطبيقات الويب
- سلبيات تطبيقات الويب
- ما هي أنواع تطبيقات الويب؟
- ما هي التقنيات المستخدمة في تطوير تطبيقات الويب؟
ما هي تطبيقات الويب Web Applications؟
تطبيق الويب Web Application هو تطبيق يتم تشغيله على خادم ويب Web Server باستخدام تقنيات الويب. يتألف تطبيق الويب عادةً من جزأين، جزء من طرف العميل Client-side وجزء آخر من طرف الخادم Server-side، ويقصد بكلمة “العميل” هنا التطبيق الذي يشغله المستخدم على جهازه لاستخدام الخدمة أو البرنامَج، إذ إن جميع البيانات مخزنة على خوادم التطبيق، وليس على جهاز المستخدم بشكل محلي.
تطوَّر تطبيقات الويب لمختلف الأغراض، فهي غير محددة لهدف واحد معيّن بشكل مماثل، لتنوع استخدامات تطبيقات الحاسوب وتطبيقات الهواتف المحمولة -بالرغم من وجود بعض الحالات التي يجب أن تفضّل أحدها عن الآخر- فمن الممكن أن يكون تطبيق الويب يحتوي على متجر إلكتروني أو صندوق للبريد الإلكتروني أو منصة تواصل اجتماعي.
تعمل الـ Web Applications بشكل مشابه للمواقع الإلكترونية إلى حدٍّ ما، إذ يُرسل التطبيق طلبًا إلى الخادم عن طريق مستعرض الويب عند وقوع حدث Event ما مثل: نقرك على صفحة جديدة أو إنشاء ملف جديد أو غيره. يعالج الخادم الطلب بإجراء بعض التعديلات على البيانات، مثل إضافة عملية شراء جديدة إلى حساب المستخدم، يتم بعدها تحديث التطبيق من طرف العميل (المستخدم) بالتغييرات التي جرت.
ما الفرق بين تطبيقات الويب ومواقع الويب والتطبيقات الأصيلة؟
غالبًا ما تكون تقنية تطبيقات الويب معرضًة للخلط مع مصطلحي مواقع الويب وتطبيقات الحاسوب أو الهاتف المحمول، رغم الاختلافات الجوهرية بينهم. لكن ما الفرق بين كلا منهم؟
أولًا: التطبيقات الأصيلة Native Applications
نقصد بالتطبيقات الأصيلة في هذا السياق كلًّا من تطبيقات الحاسوب وتطبيقات الهاتف المحمول، تعمل التطبيقات الأصيلة بشكل محلي على الجهاز الذي ثبتت عليه، وتأخذ مساحة معينة من القرص الصلب، وتعمل بالاعتماد على موارد الجهاز (وحدة معالجة، ذاكرة عشوائية) دون أن تتطلب الاتصال بالإنترنت عادةً، مثل برنامج فوتوشوب أو مشغل الوسائط المتعددة. إلّا أن بعض هذه التطبيقات تتطلب اتصالًا بالإنترنت للوصول لجميع ميزاتها ووظائفها وفقًا لطبيعة التطبيق، مثل متصفحات الإنترنت، وتطبيقات المراسلة مثل تلغرام Telegram.
تختلف تطبيقات الويب عن التطبيقات الأصيلة بكونها لا تتطلّب تثبيتًا على جهازك لتعمل محليًّا، ولا تتطلب أي مساحة تخزين على القرص الصلب، بل تأخذ مساحة على خادم التطبيق، إذ تعمل عن طريق متصفح الويب دون الاعتماد على موارد الجهاز، ولا تعمل الـ Web Applications دون اتصال بالإنترنت بخلاف التطبيقات الأصيلة، وبذلك يمكن الوصول إليها عبر أي جهاز متصل بالإنترنت، وليس من الضروري أي يكون حاسبك الشخصي.
ثانيًا: مواقع الويب Websites
ربما تكون الفروق هنا أقلّ وضوحًا مع تطبيقات الويب، لكنها ما زالت موجودة. موقع الويب هو مجموعة من الملفات التي تحتوي مختلف البيانات (صور ونص ومقاطع فيديو)، وتتألف عادةً من عدد معين من الصفحات. يهدف موقع الويب لعرض بعض المعلومات للزائرين بشكل بصري أو مكتوب، وقد يكون الموقع يمثّل مدونة إلكترونية، أو دعائيًّا لإحدى الشركات، وتعرض هذه البيانات بشكل ساكن Static.
تختلف تطبيقات الويب عن مواقع الويب باحتوائها على عناصر محتوى يمكن للمستخدم التأثير عليها وتغييرها، بينما تعرض مواقع الويب محتوًى ساكنًا مماثل لجميع زوار الموقع. تطبيق الويب يحتوي غالبًا على تجربة مميّزة لكل مستخدم وكنتيجة لذلك فهو يتطلب تحققًا من هوية المستخدم. تقدم الـ Web Applications وظائفًا معقّدة بالمقارنة مع الوظيفة البسيطة التي يقدمها الموقع الإلكتروني ألا وهي عرض المحتويات.
تُعدّ مستندات جوجل Google Docs مثالًا على تطبيقات الويب، بينما يُعدّ مايكروسوفت وورد من التطبيقات الأصيلة. في حين أن أداة أنا لإدارة المشاريع وفرق العمل مثالًا على الـ Web Applications، وتُعدّ مدونتك الشخصية موقع ويب.
مميزات تطبيقات الويب
1. تكلفة منخفضة
تتميز تطبيقات الويب بانخفاض تكلفة تطويرها، إذ إنّ عملية التطوير تأخذ وقتًا أقصر بشكل ملحوظ مقارنةً بتطوير التطبيقات الأصيلة -ما ينعكس على التكلفة الكلية. فضلاً عن أن عملية تخصيص وتعديل الشيفرة المصدرية وتحديث التطبيق بسيط وسريع مقارنةً بالبدائل الأخرى.
2. تعمل على آخر الإصدارات دائمًا
لا تتطلب تطبيقات الويب تحديثًا من المستخدم عند كل إصدار جديد مثل التطبيقات الاعتياديّة، التي تحدّثها على متجر Google Play أو App Store، بل يكفي أن يحدّث خادم تطبيق الويب إصدار التطبيق، لتنتقل التغييرات تلقائيًّا لجميع أجهزة المستخدمين، إذ يستخدم الجميع الإصدار ذاته من التطبيق في أي وقت من الأوقات.
3. قابلية اكتشافها
لا يمكن فهرسة التطبيقات الأصيلة في محركات البحث، ففرص تعرف المستخدم إليها ضئيلة للغاية عن طريق البحث عنه، بواسطة محركات البحث الاعتيادية، فالوسيلة الوحيدة للتعرف على تطبيقك الأصيل، إمّا بالإعلان عنه أو نجاحه على متاجر التطبيقات، وهو ما يزداد صعوبةً يومًا بعد يوم وَسْط هذه المنافسة. هذا الأمر لا ينطبق على تطبيقات الويب، إذ يتم فهرسة محتوياتها كأيّ موقع ويب اعتيادي.
4. عملية التثبيت والتنزيل
لا تشغر تطبيقات الويب مساحة على ذاكرة الجهاز أو تستهلك أيًّا من موارد جهازك، وذلك لأنها لا تتطلب أي عملية تنزيل وتثبيت مثل التطبيقات الأصيلة الاعتيادية. تفتح هذه المِيزة الإمكانات لمزيد من المزايا المفيدة، مثل إمكانية الوصول إليها من أي مكان عن طريق اتصال بالإنترنت، بغض النظر عن نظام التشغيل أو طبيعة الجهاز (حاسوب أو هاتف محمول أو جهاز لوحي).
سلبيات تطبيقات الويب
لا يخلو الأمر من بعض السلبيات، ففي بعض الحالات قد لا يكون استخدام تطبيقات الويب الحل الأمثل للهدف الذي تريد الوصول إليه، وقد تكون النتيجة النهائية أفضل بمرات، إن تم تطوير التطبيق بكونه تطبيقًا أصيلًا. نذكر أبرز سلبيات الـ Web Applications:
1. الاعتماد على الإنترنت
اعتماد تطبيقات الويب على الاتصال بالإنترنت بشكل كامل لتشغيلها أمر إيجابيّ وسلبيّ في ذات الوقت، إذ يسهل الوصول إليها من أي مكان وجهاز، ولكنه يجعل من استخدام التطبيق أمرًا مستحيلًا في غياب الإنترنت، ما يكون مزعجًا للمستخدم في حال انقطاع اتصال الإنترنت، ورغبته بالوصول لبعض البيانات الموجودة ضمن التطبيق. هذا يعني أيضًا، أنّ أي مشكلة في خوادم تطبيق الويب أو موقع الويب نفسه، ستتسبّب بتعطل التطبيق لدى جميع المستخدمين.
2. انخفاض الكفاءة
تأتي سهولة استخدام تطبيق الويب دون تثبيته أو تحميل أي موارد إضافية، على حساب كفاءة تشغيل التطبيق وسرعة استجابته عمومًا، وبالأخصّ إذا كان حجم تطبيق الويب كبيرًا. تطبيقات الويب أبطأ بشكل ملحوظ من التطبيقات الأصيلة، وهذا أحد الأسباب بعدم استبدالها للتطبيقات الأصيلة حتى الآن. لذا عليك أن تسأل نفسك قبل تطوير تطبيق الويب عن متطلبات التطبيق وحجمه، وفيما إذا كان ذلك سيمثل مشكلة متعلقة بأدائه.
3. القصور في الأمان
تأتي تطبيقات الويب بطبقة اعتيادية من الأمان باستخدام بروتوكول HTTPs. وكما ذكرنا سابقًا، فتطبيق الويب هو تقنيًّا موقع ويب، لذا يستخدم شهادة SSL كمعظم المواقع الموجودة في يومنا هذا. لكن ذلك لا يعني أن تطبيقات الويب أكثر أمانًا، أو حتى تُجاري التطبيقات الأصيلة في درجة الأمان، إذ تفتقر الـ Web Applications لأدوات التحكم بالجودة.
ما هي أنواع تطبيقات الويب؟
إن قررت أن تطبيق الويب هو أفضل حلّ لنشاطك التجاري، فالخطوة التالية تتمثّل باختيار نوع تطبيق الويب الأمثل، إذ تحدد استخداماتك وحجم مشروعك نوع التطبيق، الذي يؤثر بشكلٍ مباشر على تكلفة مشروع تطويره ومدة التنفيذ. نستعرض أبرز أنواع تطبيقات الويب:
أولًا: تطبيقات الويب الساكنة
تتميز تطبيقات الويب الساكنة Static Web Apps ببساطتها والجهد القليل المبذول في تطويرها، وتُعدّ هذه التطبيقات مثالًا جيّدًا لعرض بعض المعلومات البسيطة عن نشاطك التجاري، دون أي تفاعل أو دخل مطلوب من المستخدم. على سبيل المثال، قد يكون التطبيق يدل على معلومات عن كتابك الإلكتروني وموعد نشره، وروابط توجه الزائر لطلب الكتاب.
ثانيًا: تطبيقات الويب الديناميكية
يعدّ أي تطبيق يمكن التحكم بطريقة عرض محتوياته، سواءً أكان من طرف خادم التطبيق أو من طرف المستخدم تطبيق ويب ديناميكي Dynamic Web Apps. يسمح هذا النوع من التطبيقات بمزيد من التخصيص، والتعديل على مكونات التطبيق في المستقبل، كما تستخدم تقنيات أكثر تعقيدًا وتقدّمًا مقارنةً بتطبيقات الويب الساكنة. يحتوي هذا النوع من التطبيقات على عدّة تصنيفات فرعية منها:
1. تطبيقات الويب التقدمية
تُعدّ تطبيقات الويب التقدمية Progressive Web Apps أو اختصارًا PWAs، أشهر أنواع الـ Web Applications الديناميكية. وهي تطبيقات بنيت باستخدام تقنيات الويب (HTML/CSS وJavaScript)، ولكن تعمل كتطبيقات الحاسوب الأصيلة Native Apps. هذا يعني أن تطبيقات الويب التقدمية يمكن تشغيلها دون اتصال بالإنترنت، وتستطيع إنجاز معظم المهام التي تنفذها تطبيقات الحاسوب، بفضل بناءها على واجهات برمجيّة Application Program Interface أو API.
نستطيع القول أن تطبيقات الويب التقدمية هي نتاج تقنيتين مشابهتين ألا وهما: تطبيقات الويب الاعتيادية وتطبيقات الحاسوب الأصيلة. إذ توفر الـ Web Applications التقدمية تجربة مشابهة بتجربة التطبيقات الأصيلة، لكن مع استخدام تقنيات الويب. شَهِد هذا النوع من التطبيقات انفجارًا هائلًا في الشعبية، نظرًا لانخفاض تكلفة تطويره وسهولة تشغيله على جميع المنصات باستخدام الشيفرة المصدرية ذاتها.
ترث تطبيقات الويب التقدمية معظم مزايا تطبيقات الويب الاعتيادية، بالإضافة لبعضٍ من مزايا التطبيقات الأصيلة، مما يجعل منها خيارًا مفضلًا لمعظم الشركات، التي ما زالت محدودة في التمويل أو تبحث ببساطة عن حل تقني سريع التطوير، وسهل الصيانة والتحديث.
2. تطبيقات الويب وحيدة الصفحة
تتألف تطبيقات الويب وحيدة الصفحة Single Page Web Apps اختصارًا SPAs من صفحة واحدة فقط، للتفاعل مع المستخدم وعرض المعلومات. هذا يعني سرعة تنفيذها وتجاوبها، نظرًا لمحدودية البيانات المرسلة والمستقبلة، كما أن تنفيذ المنطِق Logic والعمليات الحسابية، تجرى باستخدام موارد الجهاز.
هذا النوع من تطبيقات الويب سهل التطوير والتحديث، ولكنه لا يخضع لقواعد تهيئة محركات البحث SEO. لذا، فهو غير مناسب للمتاجر الإلكترونية، بل للأدوات الذكية أو منصات التواصل الاجتماعي. مثال على هذه التطبيقات هو خرائط جوجل Google Maps.
ما هي التقنيات المستخدمة في تطوير تطبيقات الويب؟
تعمل الـ Web Applications باستخدام تقنيات الويب المختلفة، هذا يعني أن عملية تطويرها تنطوي في أغلب الأحيان على تطوير الواجهات الأمامية Front-end للمستخدم، بالإضافة لتطوير الوجهات الخلفية Back-end، واستخدام أطُر العمل البرمجية Frameworks الخاصة بهما.
أولًا: تطوير الواجهات الأمامية
1. HTML وCSS
تُعدّ كلّ من لغة توصيف النص الفائق HTML وCSS، هما اللبنتين الأساسيتين لهيكلة وتنسيق واجهات الويب الأماميّة. لا تندرج هاتين اللغتين ضمن فئة لغات البرمجة، إذ إن هدفها هو وصف طريقة عرض وتنسيق مكونات صفحة الويب، كما أنها لا تحتوي على أيّ توابع للقيام بالعمليات المنطقية والحسابية.
يمثل الملف المكتوب بلغة HTML أساسًا للموقع وهيكلته (بشكلٍ مشابه لمخططات أولية لبناء منزل ما)، بينما تعتني CSS بتنسيق وتزيين الهيكل هذا (بشكلٍ مشابه لطلاء جدران المنزل بالألوان). تُستخدَم CSS ضمن بعض أطر العمل، التي تسهّل من عملية تنسيق المحتوى.
2. جافاسكربت JavaScript
تقدّم لغة جافاسكربت الأدوات التي تسمح لنا بتضمين العمليات الحسابية والمنطقية إلى الواجهة الأمامية. مع أنها لم تكن محبوبةً من قِبل المبرمجين في أيامها الأولى، لكنها سرعان ما اكتسبت شعبية كبيرة، وأصبحت اللغة الأساسية لتطوير واجهات الويب. وتجدر الإشارة إلى أن استخدامها لا يقف هنا فحسب، بل تستخدم أيضًا في تطوير الألعاب والواجهات الخلفية أيضًا.
3. بوتستراب Bootstrap
بوتستراب إطار عمل للغة CSS مفتوح المصدر، يتضمن على بعض القوالب CSS/HTML التي تحتوي أزرارًا وعناصر مستخدم أخرى، بالإضافة لبعض الأدوات بلغة جافاسكربت، لإنشاء العناصر التفاعلية. يساعد هذا الإطار أيضًا المطوّرين على إنشاء المواقع والتطبيقات، المتجاوبة Responsive مع مختلف الأنظمة وشاشات العرض.
4. رياكت React
رياكت مكتبة مفتوحة المصدر للبرمجة بلغة جافاسكربت للواجهات الأمامية، إذ تسمح للمطورين ببناء مكوّن ما، واستخدامه عدّة مرات دون الحاجة لبناءه من جديد، مما يوفر الكثير من الوقت والجهد خلال عملية التطوير.
ثانيًا: تطوير الواجهات الخلفية
1. بايثون Python
تحظى لغة بايثون بشعبية كبيرة وسط المبرمجين، بسبب تنوع استخداماتها ومكتباتها، ومجال تطوير الويب ليس غريبًا عن هذه الاستخدامات. بساطة الشيفرة البرمجية المكتوبة بلغة بايثون وسهولة تعلمها، تجعل منها خيارًا ممتازًا للمبتدئين في مجال البرمجة.
2. روبي Ruby
روبي لغة مفتوحة المصدر متعددة الأغراض وعالية المستوى، تم تطويرها باستلهام بعض من أساسياتها من لغات معروفة، مثل بايثون Python وبيرل Perl وليسب LISP. لم تكُن روبي اللغة الأكثر شعبيّة بالضرورة سابقًا، ولكنها حظيت بطلب متزايد في السنوات الأخيرة، بفضل إطلاق إطار العمل Ruby On Rails اختصارًا ROR أو ريلز Rails في 2004.
3. PHP
تعد PHP من أعرق لغات البرمجة وأكثرها استخدامًا في تطوير الواجهات الخلفية على الويب، إضافةً لبعض الاستخدامات الأخرى، إذ تشير الإحصائيات إلى أن PHP تشغّل ما نسبته 78.1% من إجمالي مواقع الويب حول العالم. كما أنها لغة البرمجة التي كُتبت بها منصة ووردبريس WordPress، وهي منصة مستخدمة بكثرة لإدارة المحتوى CMS. تستخدم هذه اللغة إطار Laravel معظم الأحيان.
4. SQL
بالإضافة لبرمجة المنطق والعمليات الحسابية لمعالجة البيانات في خوادم التطبيق، تحتاج إلى لغة SQL لإدارة قواعد البيانات Data bases والتعديل عليها. قد تستطيع التخلي عنها في حال كان مشروعك صغيرًا، ولا يتطلب تخزين البيانات بشكل مكثّف، ولكنك ستكون في حاجتها معظم الأوقات.
5. جانغو Django
جانغو إطار عمل مفتوح المصدر لتطوير الواجهات الخلفية لمواقع وتطبيقات الويب بلغة بايثون، ويعدّ من أشهرها وأكثرها استخدامًا، إلا أنه ليس الوحيد، فهناك عدّة أطر أخرى أكثر بساطة أو تخصيصًا حسب استخدامك، مثل فلاسك Flask وAIOHTTP وCherryPy وغيرها.
في الأخير، تُعدّ تطبيقات الويب حلًا مثاليًا لمشروعك، إذا كنت ترغب بتقديم خدمات أو وظائف محددة، ولا تحتاج أن يؤدي التطبيق آلاف الوظائف في وقت واحد أو يتعامل مع قواعد بيانات ضخمة. يمكنك توفير الوقت والجهد المستغرق لتطوير تطبيق خاص لأعمالك، والاعتماد على أحد تطبيقات الويب الاحترافية التي يقدِّمها المطورون المحترفون على منصة بيكاليكا، متجر المنتجات الرقمية الجاهزة.
تم النشر في: أبريل 2022
تحت تصنيف: تطوير الويب | تطبيقات الويب