android-studio-vs-eclipse
0 Liked

الفرق بين Android Studio vs Eclipse

ماهو Android Studio؟

الاندرويد ستديو هو محرر او مجموعة  ادوات IDE لتطوير برمجيات الاندرويد مبني على بيئة IntelliJ IDEA, تم اطلاقه لاول مرة من قبل قوقل في منتصف 2013 كنسخة مبدئية للمطورين, وتم اطلاق النسخة النهائية منه في ديسمبر 2014 باصدار 1.1.

ما الفرق بين Android Studio vs Eclipse

 

دعم الـ Gradle

gradle

 ماهو الـ Gradle ؟ دعني اشرح لك ماهو بالطريقة التالية:

في السابق كان كل شي تحتاج له اداة علشان تبرمج; فـ مثلاً: لبرمجة برنامج اندرويد بسيط يجب عليك اولاً ان تكتب ملفات الجافا وبعد ذلك تستخدم اداوات لتحويل الملفات هذه ودمجها مع ملفات ال resourses مثل الصور والنصوص وغيرها, فـ كل شيء كان يتم عن طريق سطر الاوامر, امر متعب صحيح؟

بعد كذا وجد Eclipse, هذا البرنامج ساعد المبرمجين, دمج لهم جميع الادوات التي يحتاجونها وسهل لهم الشغل, فمثلاً لا يحتاج منك ان تفصل شغلك وتستخدم ادوات خارجية, كل شي جاهز في برنامج واحد ومقسم في مجلدات, فقط برمج واستورد مكتباتك وملفاتك والبرنامج يتكفل بكل شي.

واخيرا الـ Gradle , الجردل هو نظام بناء متقدم, دمج جميع الخصائص التي يحتاجها المبرمج في نظام واحد, وماجاء به  الاندرويد ستديو هو انه  يستخدم Gradle والشيء الجميل في الجردل هو نظام الـ Plugins, بمعنى اذا احتجت اي مكتبه لايحتاج منك ان تحملها كملف jar وتضيفها لمشروعك, فقط تستوردها مباشره عن طريق سطر برمجي واحد, واخيراً ما يميز  الـ Gradle هو الـ Dependencies ساشرحه بالتفصيل بالاسفل.

Dependency

لنفرض مثلا اردت بناء تطبيق لساعات الاندرويد او نظام التلفاز, اذا اردت استخدام الـ Eclipse فانت مجبر على بناء مشروعين منفصلين عن بعض, الاول للجوال والاخر للساعة, وكل مشروع سينتج عنه Apk; وايضا لابد ان تربط المشروعين ببعض عن طريق العديد من الاوامر اذا اردتهم ان يعملوا بشكل متزامن, والسبب؟ ان الـ Eclipse لايدعم الـ Gradle.

ولكن اذا اردت استخدام الاندرويد ستديو الذي يدعم بالتاكيد الـ Gradle فتستطيع بناء اكثر من برنامج في نفس المشروع, بمعنى تستطيع بناء برنامج للجوال والساعة والتلفاز او اي جهاز اخر في مشروع واحد وبملف Apk واحد! هل تخيلت الفرق؟!

Live Preview

android-studio-4

المقصود بالـ Live preview هو امكانية عرض الواجهات التي قمت بتصميمها على مختلف احجام الشاشات( من 2.3 انش وحتى 10 انش), وايضا بامكانك كتابة الكود ومشاهدة التغيرات التي تحصل مباشرة على الواجهة امامك, هذا الامر كان متعب في الـ Eclipse او بالاصح اذا اردت مشاهدة التغيرات او التعديلات التي قمت بكتابتها, تنتقل من تبويب الى اخر, اما في الـ Android studi فالوضع جدا اسهل.

واجهة المستخدم

Screenshot-from-2014-04-24-210304

المقارنه في هذا الموضوع نوعا ما صعبة, فالـ Eclipse مصمم ليناسب جميع الانظمة ويدعم معظم لغات البرمجة من بينها الجافا بالتاكيد, الواجهات والقوائم نوعا ما متشعبه لتخدم الجميع, بينما الاندرويد ستديو فهو مصمم خصيصا للاندرويد, اي جميع الخصائص والقوائم تخدم الموضوع هذا بالتحديد.

دعم الـ NDK

Android3

اذا كنت لاتعرف ماهو الـ Native development kit فهي مكتبات مبرمجة بلغة C/C++ يمكن عمل لها compile لـ  ARM, MIPS or x86 native code ومن ثم تنصبيها باستخدام الـ Android Native Development Kit, عادتا من يستخدم الـ NDK هم مطورين الـ ios اذا ارادوا استيراد اكواد جاهزة قاموا ببرمجتها دون الحاجة الى اعادة كتابتها من جديد بالجافا, او مطورين برامج real-time multimedia, فمعالجة النوع هذا من البيانات بالتحديد صعب باستخدام الجافا وبالتالي الحل استخدام C/C++. هذه المكتبات يمكن استدعائها باستخدام كود جافا واستخدامها ضمن مشاريع الاندرويد.

للاسف Android Studio لايدعم الـ NDK بخلاف Eclipse, فاذا كان مشروعك يتضمن هذا النوع من المكتبات فاستخدم الـ Eclipse افضل لك.

Google Cloud Platform

google-cloud-platform

الاندرويد ستديو يدعم بشكل مباشر Google Cloud Platform, هذه المنصة تسمح لك بتشغيل اكواد server-side باستخدام Google App Engine , بشكل متزامن مع المهام الاخرى, مثال تستطيع رفع نسخة احتياطية لبيانات المستخدم على السيرفر بشكل متزامن مع المهام الاخرى.

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

خلاصة المقارنة

EclipseAndroid Studioالخاصية
ANTGradleنظام البناء
لانعمدعم الـ dependencies
لانعمبناء اكثر من مشروع بملف APK واحد
لانعممحرر بواجهة رسومية
نعمنعمتوقيع ملفات APK وتوليد مفاتيح التواقيع
نعملادعم NDK
نعمنعمدعم لمختلف الانظمة Windows, OSx, Linux

الخاتمة

هل يجب علي الانتقال من الـ Eclipse الى Android studio؟ جرب وشاهد بنفسك البرنامج ومن ثم حدد خيارك; اتوقع انه سيعجبك. اما اذا لم تستخدم الـ Eclipse من قبل فاستخدم مباشرة الـ Android studio.

14 Comments

  • Youssef idrees

    February 25, 02 2015 10:17:37

    جميل جميل
    معلومات جديدة و رهيبة

  • omniay223

    February 25, 02 2015 04:51:13

    جا بالوقت المناسب .. الله يجزاك الجنة يارب

  • Hussain Talal

    March 04, 03 2015 08:48:05

    ما شاء الله ..
    شرح ممتاز ومعلومات قيمة ..

    الله يعطيك ألف عافية 🙂

  • tarek abou elnasr

    March 05, 03 2015 03:24:14

    معلومات روعه …. جزاك الله كل الخير ……

  • abdelnaser

    March 08, 03 2015 11:49:47

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

  • ِِAbdullah Ayyad

    April 07, 04 2015 11:37:59

    شكرا لك على المعلومات المفيدة
    لكن الإثنان سئ من ناحية السرعة و الأداء ،أيضا يستنزف موارد الحاسوب بشكل كبير من ناحية RAM بالإضافة الى الإستخدام المتواصل في القراءة والكتابة للقرص الصلب .

    • Abdullah Alhazmy

      August 02, 08 2015 09:11:30

      اتفق معاك استهلاك الرام عالي نوعا ما خاصة اذا قارنا الاندرويد ستديو مع الاكليبس

  • عمر عبد اللطيف

    May 13, 05 2015 10:35:45

    جزاك الله الف خير

    • Abdullah Alhazmy

      August 02, 08 2015 09:10:49

      ويجزاك بالخير

  • Amjad

    June 17, 06 2015 09:38:41

    شكرًا من القلب عبدالله ، مقارنة ممتازة الله يجزاك كل خير

    • Abdullah Alhazmy

      June 19, 06 2015 04:59:39

      العفو, ويجزاك بالخير

  • King

    June 29, 06 2015 03:34:47

    جزاك الله خير

    • Abdullah Alhazmy

      August 02, 08 2015 09:10:34

      ويجزاك بالخير

  • khaled

    July 27, 07 2015 02:59:32

    يعطيك العافية على المقالة الحلوة …
    بس عندي كم تعليق اخلفك الرآي فيهم مثل
    ١- dependencies
    ال ant تدعم ال dependencies
    http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html
    ٢- بناء اكثر من مشروع بملف APK واحد
    كيف لا يدعم اخي انت تعمل دعم لاي نوع جهاز تريد من خلال التعريفات التي تضيفها في الmanifest

Leave a Reply