محرك تطبيقات قوقل App Engine هو أحد منتجات بيئة قوقل السحابية والتي تُمكن المطورين من بناء وتشغيل تطبيقات الويب وتطبيقات الجوال، يتميز هذا المنتج بالأداء العالي الذي يتضاعف بحسب الضغط عليه، وقد يكفيك أن تعلم أن اللعبة الشهيرة Angry Bird وبرنامج سناب تشات وغيرهما تحلق من خلال محرك تطبيقات جوجل!
فلماذا لا نستفيد من هذه الخدمة الرائعة والمتينة لإستضافة ملفات المدونات بروابط مباشرة ؟
كيف يعمل محرك تطبيقات قوقل ؟
بصراحه لا أعلم بشكل عميق :) ، ولكن الفكرة البسيطة التي تكونت لدي هو أن المطور عندما ينتهي من تطبيق الويب أو تطبيق الجوال على حاسوبه يقوم برفع تطبيقه إلى محرك التطبيقات ليتم تشغيل التطبيق من خلاله، قوقل وفرت المحرك لأشهر لغات البرمجة مثل: PHP ، Python ، Ruby و Java ... وغيرها
هذا التصور المبدئي سيكون كافياً بإذن الله لنقترب أكثر نحو هدفنا وهو حجز مساحة لموقع نستضيف فيه ملفات ثابتة كصفحات الويب، والجافاسكريت، والأنماط، والصور ... الخ.
كيف سنستفيد من App Engine في حفظ الملفات الثابتة؟
سنكون مضطرين لاتباع أسلوب مطوري التطبيقات فننشيء تطبيق وهمي ومُعد مسبقاً مبني بواسطة لغة بايثون Python يحتوي على مجلد سنسميه www ليكون هذا الملجد هو موقعنا الذي نضع فيه مجلدات وملفات الإضافات تماماً كما كنا نفعل في طيب الذكر Google Code . مع العلم أننا لن نكتب أي جملة برمجية !
مميزات App Engine وقيود استخدام الحساب المجاني؟
الأداء : رائع بكل ما تحمله هذه الكلمة من حماس!
- السعة التخزينية لكود التطبيق والملفات الثابتة : 1 قيقابايت
- سعة نقل البيانات : 1 قيقابايت للداخل / 1 قيقابايت للخارج يومياً
طبعاً السعة التخزينية كافية جداً مهما كان حجم المدونة ، ولكن سعة نقل البيانات قد لا تكون ملائمة للمواقع الكبيرة والساخنة من حركة الزوار، عموماً يمكنك محرك تطبيقات قوقل من متابعة جميع تفاصيل نشاط ملفات موقعك باستمرار!
متطلبات التعامل مع App Engine
للإستفادة من محرك تطبيقات قوقل يجب علينا ما يلي :
- فتح حساب مجاني في بيئة قوقل السحابية : App Engine
- تنزيل وتثبيت لغة البرمجة بايثون : Python
- تنزيل وتثبيت حزمة التطوير SDK الخاصة بلغة بايثون: App Engine SDK for Python
أولاً: فتح حساب وإنشاء مشروع جديد
- سجل دخول لخدمة App Engine بحساب قوقل، إذا لم يظهر حسابك بعد تسجيل الدخول حدث الصفحة.
- اضغط على "Create Project" لإنشاء مشروع جديد.
- ستنبثق نافذه أكتب اسماً للمشروع Project name
- سيتولد معرف المشروع تلقائياً، اضغط على "Edit" لتغييره بحيث يسهل تذكره
- احفظ معرف المشروع Project ID سنحتاجه لاحقاً
- الآن اضغط "Create" لإنشاء المشروع .
- انتظر ... !
- تذكر عنوان الموقع سيكون كالتالي: ProjectID.appspot.com
- هذا العنوان سيشير إلى المجلد الرئيسي الذي سنسميه www كما أسلفت
- بالطبع حسب هيكلة المجلد من الداخل تستطيع استنتاج رابط كل مجلد فرعي!
![]() |
إنشاء مشروع محرك تطبيق جديد |
![]() |
اختر اسماً للمشروع ومعرف فريد |
ثانياً: تنزيل وتثبيت لغة بايثون Python
لن نتعامل مع هذه اللغة البرمجية نهائياً !
- قم بتنزيل الإصدار الثاني من البرنامج: Python 2.xx .
- ثبت البرنامج باتباع الإشاردات دون تدخل .
- هذا كل شيء :)
![]() |
اختر الإصدار الثاني - لن يعمل إذا اخترت الثالث! - |
ثالثاً: تنزيل وتثبيت App Engine SDK for Python
لا تثبت الحزمة قبل لغة بايثون، لأن الحزمة ستبحث عن اللغة أثناء التنصيب وتتعرف عليها؛ وبذلك لن تضطر فعل ذلك يدوياً لاحقاً!
- نزل الحزمة الخاصة بالبايثون: App Engine SDK for Python
- ثبت الحزمة متبعاً الإشاردات المعتادة
- سيظهر اختصار على سطح المكتب لبرنامج Google App Engine Launcher .
شرح رفع الملفات إلى محرك التطبيقات
بما أننا لن نتعامل مع لغة بايثون كما أسلفت فسوف نستخدم تطبيق بايثون فارغ ومعد مسبقاً في كل مشروع جديد ، هذا المشروع يحتوي على:
- مجلد www يمكن وضع فيه الملفات الثابتة وسوف تعمل بإذن الله دون مشاكل.
- ملف app.yaml وهو ملف إعداد التطبيق، سنحتاج ربطه بالمشروع بكتاية معرف المشروع!
- ايقونة لموقع التطبيق favicon.ico ، ليس ضرورياً ولكن عملت معي بشكل جيد فأضفتها للمعلومة .
![]() |
مشروع تطبيق بايثون جاهز للاستخدام مع كل مشروع |
خطوات رفع الملفات:
- نزل نسخة من التطبيق الجاهز من هنا: Box أو: Mega
- فك الضغط عن التطبيق
- ضع جميع مجلدات وملفات الموقع (الإضافة) في المجلد: www
- افتح ملف app.yaml لتحريره
- غير اسم التطبيق باستبدال كلمة YourProjectID بمعرٍّف المشروع. (حافظ على المسافة)
- احفظ الملف - الآن التطبيق جاهز للرفع لدمجه بالمشروع.
- افتح التطبيق Google App Engine Launcher
- نفتح التطبيق من: القائمة "File" اختر: "Add Existing Application"
- استعرض التطبيق وافتحه.
- الآن اضغط على الزر "Deploy"
- سيتم رفع جميع الملفات وستنبثق نافذه لمتابعة العملية.
- إذا كانت هذه المرة الأولى سيتم فتح المستعرض لإعطاء الصلاحية للبرنامج ، قم بإعادة الضغط على "Deploy" .
- رابط الموقع سيكون: ProjectID.appspot.com
شرح استخدام App Engine بالفيديو
وأخيراً
هناك الكثير لتكتشفه حول إمكانيات محرك تطبيقات قوقل خصوصاً فيما يتعلق بالإحصائيات ، فصفحة المشروع تعطيك تفاصيل كاملة حول المساحة التخزينية الكلية، وكمية إستهلاك البيانات سواء الواردة أم الصادرة، وإلى تفاصيل دقيقة حول نشاط كل ملف مثل عدد الزيارات وزمن الوصول للملف. وأنصح بشده تجربة مشروع تجريبي ثم تصفح زوايا لوحة تحكم المشروع ، كذلك الحال تجربة خيارات البرنامج ...
بالنسبة للمتقدمين فإن نقطة إرتكاز الفكرة قائمة على ملف app.yaml ، فعند تغيير اسم المجلد www أو حذفه فيجب تعديل الملف بحسب هذه التغييرات، إذا كنت ستتوسع في استخدام محرك التطبيقات لبناء تطبيق أو تطبيق ويب فيجب البحث عن دروس غير هذا الدرس فهذه التدوينة موجهه لغرض بسيط ومحدد وليست متعلقه بشرح الخدمة لذاتها !
بالنسبة للمتقدمين فإن نقطة إرتكاز الفكرة قائمة على ملف app.yaml ، فعند تغيير اسم المجلد www أو حذفه فيجب تعديل الملف بحسب هذه التغييرات، إذا كنت ستتوسع في استخدام محرك التطبيقات لبناء تطبيق أو تطبيق ويب فيجب البحث عن دروس غير هذا الدرس فهذه التدوينة موجهه لغرض بسيط ومحدد وليست متعلقه بشرح الخدمة لذاتها !
نسخة من ملف الإعداد :
التعليقات: 10
السلام عليكم أخي الغالي ، شكراً لك على الموضوع المميز
ولكن كيف يمكن رفع خط معين على جوجل كود ؟؟
الملف محمى بكلمة مرور https://mega.nz/#!0cYWRbIT
وعليكم السلام ورحمة الله
@قوالب برق: حياك الله أخي الكريم ، قوقل كود لم يعد متاحاً ، وان كنت تقصد محرك تطبيقات قوقل الذي هو مادة هذا الموضوع فالخطوط لم تعمل معي إلا على نفس رابط موقعك في محرك التطبيقات ، ولم تقبل الربط الخارجي ، ولم أحاول البحث حول حل هذه الإشكالية.
@محمد الجندي: تم تعديل الرابط مع إضافة مفتاح التشفير م2
حياكم الله
السلام عليكم
تم التعديل على ملف الاعداد ، الان ستعمل الخطوط باذن الله م5
سؤال يا ستاذ جاسر معلش انا مش محترفة زى حضرتك انا لسه على ادى
السعة التخزينية لكود التطبيق والملفات الثابتة : 1 قيقابايت يومياً
دى انا عرفاها يعنى دى المساحة المسموحة لينا بالتخزين عليها منقدرش نزود عنها
بس يعنى ايه سعة نقل البيانات : 1 قيقابايت للداخل
يعنى ان مقدرش ارفع ملفات اكتر من 1 جيجا فى اليوم؟؟ ما كده كده انا مساحتى كلها 1 جيجا مش هينفع ارفع ازيد من كده؟؟
ويعنى ايه سعة نقل البيانات : 1 قيقابايت للخارج يومياً
دى انا مش فهماها خالص
ياريت حضرتك توضحها بشكل بسيط
وشكرا..
سعة التخزين 1 قيقا لجميع الملفات ، [color="blue"]وليس يومياً [/color] هذا خطأ مني أثناء تحرير الموضوع، تم تعديله والشكر لكِ ج7 .
أما سعة نقل البيانات الداخلة والخارجية فهي يومية ، وهذه مثل سرعة نقل البيانات أثناء تصفحنا الإنترنت فعندما نقوم "بتنزيل" ملف فنعبر عنها بسرعة التنزيل (الداخل) ، أو نقوم "برفع" ملف من الجهاز لموفع ما فالسرعة هنا هي سرعة رفع (الخارج).
بتعبير أخر مشروعك سيكون في خادم (كمبيوتر) يرسل ويستقبل بيانات خلال شبكة الانترنت ، فإذا استقبل بيانات كانت بيانات داخله عليه، وإذا أرسلها كانت خارجة منه .
الرجاء السؤال اذا لم تتضح الصورة
شكرا لحضرتك يا استاذ جاسر على اسلوبك المميز والسهل والبسيط فى الفهم
انا دلوقت فهمت معنى سعة نقل البيانات الداخلة والخارجية
بس ياريت حضرتك توضحلى اكتر بالنسبة لطريقة حسابها
هل سعة نقل البيانات الداخلة والخارجية بيتم حسابها بنائا على
عدد الزوار للمدونة ؟
ولا على حسب وقت تصفح المدونة للزائر؟
وايه النتائج المترتبطة فى حالة تخطى المساحة المسموح بيها؟
هل المدونة مش هتظهر للزائر ؟
ولا هتظهر وهيكون تصفحها بطيئ؟
واسفة ان كونت بزعج حضرتك مره تانيه وشكرا.
حياك الله ..
بناء على عمليات الطلب ( نقرات - استغراض ... الخ ) ، مثلاً لو عندك إضافة تحتوي على صورة فإن الزائر سيقوم باستعراضها في متصفحه وسيتم احتساب حجم الصورة من سعة البيانات الخارجة ، ولكن لمرة واحد فقط ؛ لأن المتصفح سيقوم بحفظها في الذاكرة فإذا عاد الزائر مرة أخرى فلن يحسب شيء لأن الصورة محفوظة لديه في الذاكرة العشوائية.
الوقت لا يهم ، ولكن منطقياً الزائر عندما يعجبه الموقع سيتصفحه بالنقر هنا وهناك ، وهو المطلوب ت1
لو تم استهلاك سعة البيانات فإنه ببساطة ستتوقف الملفات ، فمثلاً لو كاتت ملفات خاصة بإضافة " المواضيع ذات العلاقة " ستتوقف الاضافة فقط ، أما المدونة فليس لها علاقة بالموضوع إلا بالقدر الذي ترتبط بها الإضافة .
عموما كما ذكرت في الموضوع سعة 1 قيقا يوميا ممتازه للمدونات المتوسطة ، والجميل في محرك التطبيقات انه يوقر لوحة مراقبة وستعلمين بمدى استهلاك المدونة ...
خدمة محرك التطبيقات سريع جداً جداً جداً مقارنة بكل المواقع الاخرى لأن فكرة الموقع بأسرها تتمحور حول "الاعتمادية والتواجدية" !
أنا لم أفتح هذه المدونة إلا لأنني أحب الإزعاج الذي يفيدني ويفيد إخواني ج5
بارك الله فيك وجزاك خير الجزآء اوضحت كل شئ
شكوا الله يبارك فيك
إرسال تعليق