السلام عليكم ورحمة الله وبركاته اخواني الكرام عندما اقوم بفتح برنامج Android Studio اجد ملف يسمى Gradle ولكن الى الان لم افهم ما هو هذا الملف ولماذا يستعمل ارجو من لديه خبرى ان يقوم بالافادة وجزاه الله خير
ما هو ملف Gradle في اندرويد
وعليكم السلام ورحمه الله
فكرة عامة عن جرادل:
عندما تقوم ببناء مشروع جديد فإنه من المحتمل أن تقوم بتضمينه مكتبات jar خارجية مساعدة كحال معظم المشاريع المكتوبة بلغة جافا،
ولنفترض أنك تريد نقل مشروعك لجهاز أخر فمن المرجح أنك ستواجه بعض الأخطاء البرمجية في حال لم تكن تلك المكتبات المستخدمة موجودة على الحاسب الجديد.
وعندها تقوم بالبحث عن اسماء المكتبات المستخدمة في المشروع في الحاسب الأول، لتضمنها في مشروعك على الحاسب الثاني لمعالجة الأخطاء وعمل كومبايل له لبناء المشروع.
هذه العملية تم توفير أدوات لها وتعرف بأدوات بناء المشروع build tools والتي أشهرها ant و maven و أحدث تلك الأدوات gradle
وإذا تكلمنا عن جرادل تحديدا فإنه لم يعد المبرمج يحتاج لتذكر ما هي المكتبات المرتبطة بمشروعه، بل يكفي أن يقوم بكتابة اسم المكتبة المطلوبة في ملف جرادل داخل المشروع
وعندما يقوم المبرمج بنقل المشروع لجهاز أخر فإن ملف جرادل يتم تنفيذه من قبل أداة اسمها جرادل يقوم بالبحث عن المكتبة بشكل تلقائي، فإذا لم يجدها فإنه يحاول البحث عنها في الإنترنت وتحميلها وتضمينها في المشروع بشكل آلي.
تعد جرادل أداة لبناء المشاريع، وليست مرتبطة ببرمجة اندرويد لكن اشتهرت بعد أن تم اعتمادها في برنامج اندرويد ستديو لبناء تطبيقات اندرويد،
أكثر من ذلك فإن جرادل يمكنها أن تقوم بتنفيذ اجرائية يمكنك أن تحددها أنت في بناء مشروع ما، مثلا لنفترض أنك أنتهيت من بناء موقع انترنت وتريد أن تنجزه وتضعه قيد الاستثمار (deployment)
ولنفترض بأن عملية الـ deployment لهذا الموقع يحتاج عمل كومبايل لملفات java لتوليد ملف jar ووضعه في مجلد معرف مسبقا على السيرفر.
إذا أنت بحاجة لعمل
إنشاء مجلد
عمل كومبايل لملف java توليد ملف الجار .jar
نسخ ملف الجار إلى المجلد المطلوب.
هنا يمكنك الاستفادة من امكانيات جرادل وكتابة الأعمال المطلوبة بلغة شبيهة بالجافا (groovy language) وعند عملية الـ deployment ما عليك سوى تنفيذ ملف الجرادل ليتكفل بالباقي.
بالعودة لأندرويد ستديو، لنفترض أنك تريد اضافة مكتبة داخل لمشروعك للتعامل فرضا مع عنصر json ووضع المكتبة في مجلد libs فإنه يمكن اضافة المكتبة إلى مشروعك وإضافته إلى ملف جرادل بأمر بالصيغة التالية:
dependencies { compile files('libs/json jar name') }
المثال السابق بالكود:
مثال أخر: يستطيع اندرويد ستديو باستخدام جرادل بناء تطبيق أندرويد موجه للهواتف والساعات والتلفزيون بنفس الوقت مع بعض التعديلات، ولو افترضنا أنك تبني تطبيق للهواتف والساعات والتلفزيون وفي جميع تلك النسخ تستخدم ملف HelloWorld.java متطابق فما الحاجة من تكراره ثلاث مرات في ثلاثة مشاريع متشابهة، هنا يأتي دور جرادل أثناء بناء نسخ التطبيق ليقول للنظام خذ الملفات مشتركة والخاصة بالهاتف لبناء تطبيق هاتف، وخذ الملفات المشتركة والخاصة بالتلفزيون لبناء تطبيق تلفزيون, .... وهكذا.
وسبب بطء أول تشغيل لأندرويد ستديو هو تنزيل المكتبات التي قد يحتاجها لبناء تطبيق ما، ووضع المكتبات على حاسبك.
يمكن القراءة للتعلم أكثر عن جرادل وإمكانياته من الرابط التالي
https://docs.gradle.org/cur...
كلمة أخيرة: من الضروري معرفة التعامل مع جرادل، لكن ذلك لا يعني دعوة لإتقانه، لأن الشخص الذي يريد برمجة أندرويد سيجد نفسه أنه بالإضافة إلى برمجة أندرويد بالجافا يحتاج لتعلم جرادل والذي هو بدوره يحتاج لتعلم لغة جروفي, هذا سيؤدي لسلسلة طويلة من التعلم لذلك من وجهة نظري فإن تعلم أساسيات جرادل لعمل تطبيق اندرويد يكفي، وباقي الأمور يمكن تعلمها عند الحاجة.
التعليقات