>> تقنيات الويب لبرامج سطح المكتب ...
2006-12-27 (1427-12-6)- التعليقات (4)منذ بداية الانترنت تطورت مجموعة التقنيات التي يجب على مبرمجي الويب تعلمها لكي يبقو على خط المنافسة و الطلب المتزايد على المواقع الأكثر فعالية و الأسهل استخداما كما هو الحال اليوم في مواقع ويب 2 ...
عندما بدأت الانترنت لم يكن هناك سوى HTML ثم رويدا رويدا بدأت التقنيات بالتوسع و التعدد تبعا للأفاق الجديدة التي ابتكرت في استخدام هذه الشبكة و للتنافس المحموم بين عمالقة الصناعة البرمجية مثل نتسكيب رائدة الجافاسكربت و ماكروميديا رائدة الفلاش و أدوبي و أشهر شركات النسخ في ريدموند ايضا ....
و اليوم أصبح على المطورين للويب الإلمام بعدد لا بأس به من التقنيات مثل HTML CSS JavaScript و تقنيات التطوير جهة المزود مثل بي اتش بي …. و مع كثرة الطلبات التي تصلني لعمل برامج موجهة مبدئيا لسطح المكتب كبرامج ادارة الأعمال …كنت افكر في امكانية عمل هذه البرامج بالتقنيات التي تعودنا عليها في الويب بدلا من استخدام برامج مثل اكسس2003 (جربت اكسس 2007 و واجهته الجديدة جذابة جدا) و الاضطرار الى تعلم VBA ؟
هذه الفكرة ليست جديدة فبرنامج مثل ماكروميديا دريمويفر يستخدم HTML و JavaScript للقيام بجميع وظائفه (تقريبا)...ونظريا معظم أعمالنا على الويب متركزة على قواعد البيانات و عملياتها الاربع المعروفة : انشاء , تحديث, استعلام و حذف …. و هذا ما يجعل تقنيات الويب خيارا غير سيء لكن هنالك مشكلة بيئة التطوير و كيف نحافظ على مزود للويب و مزود لقواعد البيانات عاملين على منافذ الجهاز من دون أي مشاكل أمنية عندما يتصل الجهاز بالانترنت … كذلك كيف نحمي ملفات قاعدة البيانات من العبث سواء المباشر مثل تعديل السجلات مباشرة او الحذف الكلي و ماذا عن تنصيب و توزيع البرامج المبنية على هذه الطريقة …
من فترة و انا أحوم في الانترنت بحثا عن حلول و تجارب لآخرين في هذا المجال … و ما وجدته الى الان يبعث على التفائل : فمبدئيا و كما هو معروف يمكنك عمل برامج نوافذ باستخدام بي اتش بي عبر PHP-GTK ... لكن هذا ليس ما نريد فطريقة عمل واجهة المستخدم مبنية على استعمال gtk و ليس HTML مع ان مشاريعا مثل WinBinder (ويندوز فقط) تسهل عمل هذه البرامج كثيرا بعدم اعتمادها على PHP-GTK و توفيرها لمحرر نماذج جيد … لكن في النهاية ليس ما أريد … كل هذه تبعث على التفائل لأنها تدلني على وجود اهتمام بمثل هذه المسألة و هذا يعني اننا سنرى الفرج قريبا … ربما في الفقرة القادمة
أهم شيء وجدته هو مشروع ابولو من ادوبي و ان كنت لم أعره اهتماما من قبل الا اني الان انتظر الاصدار الاول منه (البيتا) بفارغ الصبر و المتوقع اصداره بداية 2007 ... باختصار ابولو يتيح لك انشاء برامج سطح المكتب بالاعتماد على فلاش هتمل جافاسكربت و كل المجموعة و الذي يقوم بعمله ابولو هو توفير واجهة موحدة للتعامل مع نظام التشغيل و الاستفادة من وظائفه الاساسية …كما هو موضح هنا : 
و باختصار يمكنك تخيله كنظام تشغيل جديد كالتالي : 
و هذا مثير جدا … عمموما ما زلت ابحث في المسألة و سأوافيكم بما يستجد لدي و أرجو من كل من لديه خبرة او تجربة في هذا المجال ان يتحفنا بها ….
كل ما لدي موجود تحت هذا الوسم في del.icio.us :
desktop_web_applications
طيب وليه وجع الدماغ ده …؟؟ ما تشتغل على بي اتش بي جتك … صراحة رائعة و بتوفر علينا كمبرمجي بي اتش بي تعلم لغات جديدة .. كنت فترة اتجهت الى الجافا .. ولكن لاقيت انها وجع دماغ و دخلت منها الى متاهة الجي اس بي ..
تقنيات فليكس ممتازة .. لكن صراحة لا ارى انها تصلح ان تكون عوضا عن لغة برمجة فهناك ما هو اكثر بمراحل من الحذف والاضافة الى قواعد البيانات … اللهم الا اذا كانت برمجيات صغيرة و ضعيفة نوعا ما . اضف الى ذلك ان اتجاه التطوير فيها مركز على الويب .. و لا اعتقد ان مطوريها يفكرون فيها بهذا الشكل ..
حياك الله أخي المارشال و شكرا لزيارتك …
كما قلت بالأعلى بأني أود استخدام HTML , CSS و JavaScript لتشكيل واجهة البرنامج و أي لغة سيرفر أخرى مثل بي اتش بي للعمل مع قاعدة البيانات … المشكلة في جي تي كى هي ان واجهة المستخدم يجب ان تبنى من مكتبات جي تي كى و أدواتها (للتقريب لنقل انها مشابهة لما تراه في محرر فيجوال بيسك من مربع نص و ليبل و و ) و هنا تفقد بي اتش بي جي تي كي ميزتها لصالح لغة أسهل و أفضل مثل فيجوال بيسك ….
من فترة بدأت بالتركيز على هذا و أرى الان انه اسلوب متبع في كثير من البرامج (سكايب على سبيل المثال) لكني لم أجد الكثير من الكلام عن أفضل الطرق لعملها الى الان …
تحياتي …
جاري ارسال التعليق.... 
مثال آخر على هذه الفكرة هو نظام المساعدة لبرنامج فلكس Adobe Flex Builder 2 (لا أعرف اذا كان هذا حال جميع البرامج المبنية على اكلبس او لا…) عمموما هذا يبدو الرابط لإحدى صفحات دليل المساعدة:
http://127.0.0.1:60250/help/topic/com.adobe.flexbuilder.help/html/00000500.html#420241