دروس تقنية

26/09/2013 17:56:06

الفرق بين تطبيقات الويب ومواقع الويب

ظهرت مواقع الجيل الأول من مواقع الويب والتي عرفت لاحقاً باسم مواقع الجيل الأول web 1.0 لتكون صفحات جامدة تهدف لإعلام المستخدم معلومة محددة للزائر الذي بدوره لن يقدر على التفاعل الإيجابي مع المعلومات.

لم تتسم مواقع الجيل الأول من عالم الويب بالعلاقة الثنائية مابين الموقع والمستخدم بل كانت علاقة أحادية الطرف تشبه علاقة مشاهدي التلفاز مع قنوات البث الإذاعية فعندما تشاهد التلفاز لن تصل آراءك وملاحظاتك للقناة بسهولة كما هو حال اليوم شكراً لمفاهيم الويب 2.0 (المدونات,الشبكات الإجتماعية).

الويب 1.0:

عندما يقوم متصفح الويب بطلب تحميل صفحة من المخدم Server سيقوم المخدم برفع الملفات الخاصة بالموقع فقط بحيث ستظهر لك معلومة لايمكنك التفاعل معها يمكنك تشبيه الأمر بصفحات About me التي تهدف لإعطاءك معلومات عن صاحب الموقع أكثر مما تهدف للتفاعل مع المستخدم.

تطبيق الويب أم موقع الويب :

تطبيق الويب web application:

هو برنامج يمكن الوصول إليه من خلال متصفح ويب كمتصفح الفايرفوكس أو الكروم وغيره.

موقع الويب website:

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

السؤال الذي قد يتبادر إلى الأذهان هل موقع غوغل مثلاً هو موقع ويب أم تطبيق ويب إذن ؟

باستخدام التعريفين السابقين يمكن استنتاج أن أي موقع يقوم بإعلامك معلومات معينة هو موقع ويب وليس تطبيق ويب مثل مواقع الأخبار cnn.com أو حتى موقع الرقميات هو موقع ويب وليس تطبيق ويب بالنسبة للزوار.

ستجد بأن معظم المواقع هي هجينة مابين الإثنين فمثلا موقع الرقميات يتضمن أزرار لمشاركة أو طباعة المقالات التي تجعل منه تطبيق ويب بالنسبة للزائر كما أن موقع الرقميات يحوي برنامج لإدارة المحتوى CMS والذي يتعامل معه سيجد بأن الرقميات هي تطبيق ويب بالنسبة لمدير الموقع.

مثال الصفحة التالية لوحدها تشكل موقع ويب لاتشكل تطبيق ويب

 

مواقع عديدة مثل Ebay أو Paypal , Twitter, Facebook, YouTube و Flickr و Gmail كلها تندرج تحت تصنيف تطبيقات ويب بشكل كامل 100%.

تتألف مواقع الويب البسيطة من محتوى (نص,صورة,فيديو) ثابت بحيث يتم عرض كل محتويات هذا المحتوى لكل الزوار وقلما نجد تغير في عرض محتوى الموقع.

قد تعمل مواقع ويب متقدمة على إضافة خصائص تتعلق بالتجارة الإلكترونية أو إدارة المحتوى Content managment وكل ماهو علاقة بالمحتوى الديناميكي.

معظم المواقع الحديثة اليوم هي نتاج تهجين مابين مواقع وتطبيقات الويب فعلى سبيل المثال أفضل موقع يمكن طرحه هو موقع Fidelity.com فهو عبارة عن موقع ويب يتضمن تطبيقات ويب.

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

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

 

وجهة نظر الرقميات :

الفرق مابين صفحات الويب وتطبيقات الويب هو موضوع رمادي نوعاً ما ولايوجد فصل واضح بالمطلق ولكن وجهة النظر التالية هي وجهة نظر شخصية للغاية وليست قاعدة عامة :

يمكن تعريف موقع الويب website من خلال المحتوى الذي يقدمه content بينما يمكن تعريف تطبيق الويب web application من خلال التفاعل مع المستخدم.

حتى لو كان هناك تخزين للمعطيات في قاعدة بيانات database فإن المواقع الإخبارية تعرف بخرجها بالدرجة الأولى لذلك تعد هي مواقع ويب أكثر من كونها تطبيقات ويب.

بينما تعتمد تطبيقات الويب بالدرجة الأولى على معالجة المعطيات وتخزينها أيضاً والخرج الذي يتغير من مستخدم لآخر.

ناحية خاصة بالمبرمجين :

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

برمجياً يوجد عدة اختلافات مابين خصائص كل من المواقع والتطبيقات وهي كالتالي:

تطبيق الويب :

- أي Class أو تابع function يتم إنشاؤه سيتم تحويلها لملف DLL واحد.

- في مشروع من نوع تطبيق ويب يجب على المبرمج إختيار لغة برمجة واحدة إما C# أو VB.net.

- سيتم إنشاء ملفات ذات لاحقة .csproj أو .vbproj للدلالة على المشروع ككل.

- يجب أن تتم عملية Pre-Compile قبل أن نقوم بنشر النهائي deployment.

- عند النشر النهائي للمشروع فنحن بحاجة لنشر ملفات الصفحات .aspx فقط ولايوجد أي حاجة لنشر الملفات الخاصة بالأكواد بسبب توفرها في ملفات dll.

- عند إجراء أي تغير بسيط على أي صفحة فنحن بحاجة لإعادة الترجمة Re-Compile للمشروع ككل ومن ثم إعادة رفعه من جديد.

 http://wiki.oxygenelanguage.com/en-w/images/thumb/2/26/Oxygene_-_Web_-_New_ASP.NET_Web_Application_Project.png/750px-Oxygene_-_Web_-_New_ASP.NET_Web_Application_Project.png

موقع الويب :

- سيتم وضع جميع الصفوف class والتوابع function في مجلد خاص يدعى App_Code folder وسيتم ترجمته compiled لعدة ملفات DLL أثناء تشغيل الموقع.

- يمكن التعامل مع أكثر من لغة برمجة بنفس الوقت بحيث يمكن عمل صفحة تم برمجتها بلغة C# وأخرى بـ Vb.net.

- لايتم إنشاء أي ملف خاص بالمشاريع (ملفات ذات لاحقة .csproj أو .vbproj)

- عند إجراء أي تعديل فلايوجد أي حاجة لاعادة النشر deploy ولا لإعادة ترجمة المشروع compile مرة أخرى بالإضافة لعدم وجود أي حاجة إلا لرفع الملفات الخاصة المعدلة فقط ولاداعي لرفع المشروع ككل.

- يجب وضع ملفات aspx والملفات الخاصة بالأكواد البرمجية جنباً إلى جنب عند النشر النهائي.

 

http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-components-imagefileviewer/CommunityServer-Blogs-Components-WeblogFiles-00-00-01-38-63/4760.template1_2D00_1.png_2D00_550x0.png