RSS

Google Gears – خطوة على طريق كمال تطبيقات الويب

14 أبريل

إن بساطة بناء واجهات المستخدم بلغة HTML بالإضافة إلى سهولة لغات البرمجة العاملة على طرف المخدم بشكل عام مثل PHP أو ASP.NET والتي تتعامل بدورها بيسر مع قواعد البيانات مثل MySQL، كل هذا جعل من عملية تطوير مواقع الويب وتطبيقاتها شائعة جدا، حتى أنه بات باستطاعتك الآن الحصول على الكثير من طابع التعامل مع تطبيقات سطح المكتب، سواء لجهة التفاعلية أو سرعة الاستجابة وذلك بفضل تقنية AJAX التي أتاحت تغيير قطع وأقسام محددة بعينها من محتوى صفحات الويب استجابة لحدث معين قام به المستخدم دون الحاجة إلى إعادة تحميل كامل الصفحة مجددا. لكن مع كل هذا التقدم الحاصل كانت هناك مشكلة لا زالت تؤرق بال العاملين على تطوير هذا النوع من تطبيقات الويب وهي: كيف سنتصرف إن تعذر على زبون التطبيق الاتصال بشبكة الويب خلال فترة معينة من استثماره له؟

الإجابة على هذا السؤال تقتضي بتمكين تطبيقات الويب من العمل حتى دون وجود الاتصال بشبكة الويب أصلا! وهي الحلقة التي ظلت مفقودة حتى ظهور تقنية Google Gears. إن إطلاق Google Gears سيتسبب بثورة أشبه ما تكون بالثورة التي تسببت بها Google منذ بضعة سنوات حين أطلقت تقنية AJAX للمرة الأولى كحل متكامل يمكن استخدامه على نطاق عملي على الرغم من أن جميع مكونات تلك التقنية لم تتضمن في وقتها أي إختراع جديد على الإطلاق، فلا لغة JavaScript ولا تنسيق وثائق XML ولا حتى كائن XMLHttpRequest كانت أمورا جديدة، لكن طريقة تركيبها معا وربطها في بنية تقنية AJAX كانت هي الصرعة الجديدة التي أطلقتها Google واستخدمتها في العديد من تطبيقاتها مثل Google Maps و Gmail.


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

  • مخدم محلي LocalServer على حاسوب المستخدم: حيث يسمح هذا المكون من تقنية Google Gears لواجهة برمجة التطبيقات من أن تقوم بعملية حفظ للمصادر مثل الصور ضمن الذاكرة المخبئية المحلية (Cache)، وهو ما يتيح استخدامها لاحقا حين يتم تشغيل التطبيق في وضعية عدم توفر إتصال بشبكة الويب.
  • قاعدة بيانات Database: وهي عبارة عن قاعدة بيانات من نوع SQLite مدمجة ضمن متصفح المستخدم، وبالتالي تمكنك من إنشاء قواعد البيانات والإضافة إليها أو تعديل سجلاتها أو حذفها أو حتى تنفيذ الاستعلامات المختلفة على بياناتها، كل ذلك يتم إنطلاقا من الشيفرة البرمجية المكتوبة بلغة JavaScript ضمن هذه الصفحة.
  • WorkerPool: تقوم هذه الإضافة بتمكين لغة JavaScript التقليدية الموجودة ضمن الصفحة من إنشاء خيوط عمل متعددة تعمل بشكل متواز (مفسر لغة JavaScript التقليدي يعمل بشكل تسلسلي) مما يسمح على سبيل المثال بنقل كتل البيانات و تشغيل الخوارزميات التي تتطلب زمنا طويلا للتنفيذ دون أن يؤدي ذلك إلى جمود المستعرض وعدم استجابته ريثما تنتهي المهمة التي تقوم بإنجازها شيفرة JavaScript معينة.

لقد جعلت شركة Google مجموعة هذه المكونات متاحة في حزمة واحدة سهلة التنزيل والتنصيب على مستعرض الزبون سواء كان من نوع FireFox أو Internet Explorer.

إن توفير ميزة تعدد خيوط المعالجة للغة JavaScript وإتاحة ربطها مباشرة بقاعدة بيانات (وهما ميزتان لم تكونا متاحتين لهذه اللغة من قبل) ستفتح لهذه اللغة آفاق واسعة تتعدى بمراحل إطار استخداماتها السابقة والمتعارف عليها، وستطلق ثورة جديدة تكون فيها هذه اللغة هي مركز الاهتمام مجددا كما سيق وأن فعلت من قبلها تقنية AJAX بإعادة إحياء الاهتمام بلغة JavaScript وإمكانياتها.

تمكنك تقنية Google Gears من بناء تطبيقات ويب تستطيع من خلالها حفظ مدخلات المستخدم حتى في حال إنقطاع الاتصال بشبكة الويب وذلك ضمن قاعدة SQLite للبيانات والتي توفرها هذه الحزمة، ريثما يعود الاتصال بمخدم الويب متوفرا، حيث يتم حينها نقل البيانات من الذاكرة المحلية المرحلية المؤقتة إلى تطبيق الويب الفعلي الموجود على الشبكة من خلال عملية مزامنة باستخدام تقنية AJAX.

لقد تم ضبط حزمة Google Gears (لغايات تتعلق بأمان التطبيقات) بحيث لا تقوم بمزامنة محتوى قاعدة البيانات المحلية المؤقتة سوى مع تطبيق ويب موجود على ذات اسم النطاق الذي أنشأ قاعدة البيانات تلك أول مرة (كما هي الحال أيضا مع ملفات تعريف الإرتباط Cookies).

تجدر الإشارة هنا إلى أن قاعدة SQLite للبيانات تتمتع بكامل مواصفات قواعد البيانات المعيارية ويتم التخاطب معها باستخدام لغة SQL، حيث يمكن أن تتضمن كل قاعدة بيانات عددا من الجداول بالإضافة إلى دعم العلاقات ما بين تلك الجداول وتوفير توابع SQL الشائعة إضافة إلى ترتيب وتجميع نتائج الاستعلامات وغيرها الكثير، هذا عدى عن أن شركة Google قامت بإضافت ميزة البحث بالنص الكامل full-text search إليها. لذا فإن قاعدة SQLite للبيانات تمثل بحق قاعدة بيانات كاملة المواصفات يمكن استخدامها في تطوير تطبيقات مبنية بالكامل باستخدام لغة JavaScript.

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

في الختام تعتبر Gears هدية Google إلى مطوري الويب، والتي ستسمح لهم باقتحام عالم العمل دون إتصال، وها قد بدأ مطوروا مواقع الويب بتفحصها واستخدامها في تطبيقاتهم، وابتداع آليات عمل جديدة تقربنا خطوة أخرى إلى الأمام تجاه نقل تطبيقات سطح المكتب إلى عالم تطبيقات الويب، وسنرى خلال الأشهر والسنوات القليلة القادمة كيف ستقلب هذه الأداة البسيطة نسبيا الطاولة على تطبيقات سطح المكتب العتيدة، وستفسح المجال لثورة تؤدي إلى ظهور تطبيقات ويب أكثر جدية واعتمادية مقارنة بما سبق وأن رأيناه حتى الآن.

مراجع للاستزادة:

http://gears.google.com/

http://code.google.com/apis/gears/

http://www.onlamp.com/pub/a/onlamp/2007/06/28/the-power-of-google-gears-part-1.html

http://www.onlamp.com/pub/a/onlamp/2007/07/12/the-power-of-google-gears-part-2.html

 
2 تعليقان

Posted by في 14 أبريل 2010 in تقنيات الويب

 

الأوسمة: , ,

2 responses to “Google Gears – خطوة على طريق كمال تطبيقات الويب

  1. ziouche walid

    14 أبريل 2010 at 10:03 صباحًا

    السلام عليكم
    بارك الله فيك على المقال الثري
    ولكن الذي أعرفه أن تقنية جوجل هذه توقف الدعم عنها بسبب قدوم الـhtml5 ؟
    ويمكنك التأكد من هذا من خلال هذه المصادر:
    http://www.h-online.com/open/news/item/Google-officially-jams-Gears-936582.html
    و
    http://thenextweb.com/apps/2009/12/01/google-letting-gears-declares-html5-future/
    نرجوا المزيد من التوضيح، وشكرا جزيلا لك …

     
    • خالد الشمعة

      14 أبريل 2010 at 11:20 صباحًا

      أوافقك الرأي تماما، وشكرا على الرابطين المفيدين، على كل حال لا تزال Google Gears خيار متوافر حاليا في حين أن HTML 5 لا تزال تقنية واعدة ينقصها الدعم في الشريحة الأوسع من المتصفحات المتوفرة، لكنني على يقين تام بأنها من أفضل التقنيات التي يمكنك الاستثمار في تعلمها، فهي بحق ثورة في عالم الويب، لذا انتظروا مني تدوينة حول HTML 5 في المستقبل القريب إن شاء الله

       

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

 
%d مدونون معجبون بهذه: