android-application-development-service

اندروید استودیو، اینتلیج آیدیا یا اکلیپس، مسئله این است !

استفاده از یک ابزار توسعه مناسب برای نوشتن نرم افزار هایی اندرویدی از الزامات کار هست. تو این مقاله ما سه محیط رایج توسعه اندروید رو براتون شرح میدیم و به شما کمک میکنیم بهترین محیط رو برای شروع کار برنامه نویسی انتخاب کنین.

امروزه با گسترش بازار ابزارهای اندرویدی، علاقه افراد برای ورود به این بازار و نوشتن برنامه های کاربردی برای این پلتفرم رو به افزایش است.
همیشه، ابزارهای مورد استفاده برای انجام هر کاری، تاثیر به سزایی روی راندمان و نتیجه نهایی کار ایفا می کنند. برای ورود به دنیای برنامه نویسی اندروید هم گام اول انتخاب محیط توسعه نرم افزار (IDE) می باشد. اکلیپس ، اینتلیج آیدیا و اندروید استودیو سه ابزار اصلی در توسعه برنامه های اندرویدی است.
در این مقاله سعی شده با ذکر مزایا و معایب هر کدام از این محیط های توسعه، کاربران را در انتخاب بهترین ابزار راهنمایی کرد.

قبل ازینکه به معرفی این محیطها بپردازیم یه سری موارد و اصطلاحات رایج رو باید با هم مرور کنیم.

  • هوش مصنوعی و قابلیت تکمیل خودکار ( AI & Auto Complete )
    این قابلیت به برنامه نویس این امکان رو میده که تنها با وارد کردن اول یک دستور، کل دستور رو ببینه و همینطور با وروردی ها و خروجی های اون دستور آشنا بشه. تا اینجا با مبحث تکمیل خودکار یا Auto Complete آشنا شدین. و اما هوش مصنوعی ! هوش مصنوعی کمک میکنه تا از بین تمام دستورات، بهترین دستوری که میتونه در اون خط قرار بگیره اول لیست بیاد! و یا اینکه در زمان پر کردن ورودی های یک تابع، با توجه به متغیرهای موجود، ببه صورت خودکار بهترین متغیر برای پرکردن اون بخش رو پیشنهاد بده و نیاز به بازنویسی مجدد نباشه.
  • اشکال یابی ( Debug )
    هیچ برنامه نویسی نیست که ادعا کنه برنامش در اولین اجرا بدون اشکال اجرا میشه و هیچ خطایی نمیده! اشکالیابی یکی از اصلی ترین فازهای برنامه نویسی محسوب میشه.
  • افزونه های کاربردی ( Plugins )
    هر محیط برنامه نویسی به نوبه خود همه امکانات رو نداره و از همه زبان ها پشتیبانی نمیکنه. پلاگین ها که به صورت فایل جداگانه قابل دانلود و نصب هستن کمک میکنن تا یک محیط برنامه نویسی به صورت تخصصی برای یک زبان خاص آماده بشه و کارایی رو افزایش میده.
  • کیت توسعه اندروید ( SDK )
    بطور کلی هر شرکت بزرگی که برای خود یک پلتفرم دارند ، یک Software Development Kit در اختیار برنامه نویس قرار میدهند تا بتوانند برنامه های آن را توسعه دهند. Android SDK شامل یک دیباگر، کتابخانه های اندروید، شبیه ساز سیستم عامل ، مستندات اندروید و فایل های نمونه و آموزشی است که به شما در ایجاد اولین برنامه هایتان کمک میکند.

Android-Mac-Eclipse_splash_screen

اکلیپس eclipse :
اکلیپس یکی از محیط های توسعه است که کاربرد زیادی هم داره و تقریبا از دو مورد دیگه قدیمی تره! نکته ای که باید مد نظر قرار بدین اینه که بعد از نصب اکلیپس، خوده اکلیپس، قابلیت چندانی رو به کاربر نمیده و افزونه هایی که به صورت جدا دانلود و نصب میشه محیط اکلیپس رو آماده میکنه برای برنامه نویسی واسه زبان های مختلف.
اکلیپس نسبت به بقیه محیطها از هوش پایینی برخورداره. حتی در مقام مقایسه با دو محیط مورد بحث دیگه میشه گفت یه مقدار بی شعوره! ازطرفی سختی نصب یه پلاگین جدید برای یه فرد تازه وارد در اون به شدت احساس میشه. اکلیپس در هنگام اجرا هم یه مقدار سنگینه. از طرفی برای اشکال یابی شما حتما باید پروژه رو دوباره کامپایل کنین تا بتونین اقدام به اشکال یابی کنین. همینطور در هنگام اشکال یابی شما فقط با یه سری متغیر رو به رو میشین و تنها میتونین خروجی توابعتون و متغیرها رو بررسی کنین و در هنگام اشکال یابی نمیتونین کدی رو تغییر بدین و خروجی رو بررسی کنین.
معایب :

  • هوش بسیار پایین
  • تکمیل خودکار ضعیف
  • سختی نصب پلاگین
  • کم بودن پلاگین های مفید برای اندروید
  • عدم وجود امکانات ویژه برای توسعه اندروید
  • اشغال کردن زیاد رم و سرعت پایین
  • سختی اضافه کردن کتابخانه های جدید به پروژه
  • اشکال یابی ضعیف

مزایا :

  • بر حسب تجربه برای برنامه نویسی اندروید نمیتونم هیچ گونه مزیتی رو برای اکلیپس در نظر بگیرم !

 

intellij_splash

اینتلیج آیدیا Intellij IDEA :

یک محیط توسعه عالیه که توسط جت برینز توسعه داده شده. با اینتلیج عملا شما قادر به انجام هر پروژه با هر زبان برنامه نویسی هستین! از طراحی سایت و برنامه نویسی سرور بگیر تا توسعه انواع بازی و برنامه. اینتلیج هم به نوبه خود در نصب اول همه زبان ها و پلتفرمها رو شناسایی نمیکنه و با نصب پلاگین های مختلف، میتونین محیط اون رو برای زبان جدیدتون آماده کنین. در مقام مقایسه با اکلیپس، اینتلیج از هوش بسیار بسیار بالایی برخورداره! قابلیت پر کردن خودکار اون هم به شکل غیر قابل باوری کار میکنه و گاهی وقتا از خودت میپرسی : ” الان این از کجا فهمید باید این متغیر اینجا قرار بگیره ؟! ” یکی از معایب اینتلیج اینه که خیلی سنگینه و رم زیادی رو اشغال میکنه و مجبورین به ازای هر دو ساعت کار باهاش یه دفه ببندین و دوباره بازش کنین تا منابع رم رو خالی کنه! اینتلیج به معنای واقعی کلمه شبیه یک پنل هواپیماست که شما فقط بخشی از امکانات اون رو برای توسعه اندروید مورد استفاده قرار میدین. از طرفی یک سری امکانات خاص ویژه رو برای توسعه اندروید در اختیارتون میزاره! مثلا قابلیت اضافه کردن آیکن برنامه در سایزهای مختلف که شما فقط بهش یک آیکن میدین و اون به صورت خودکار در سایزهای مختلف براتون به پروژه اضافش میکنه. یکی دیگه از ویژگی های خوب اینتلیج قابلیت اتصال به دیتابیسه ! این یعنی شما به راحتی میتونین دیتابیس برنامه نصب شده روی شبیه ساز یا گوشی موبایل خودتونو بررسی کنین و نسبت به صحت اطلاعات و فرمان ها و توابعتون آگاه بشین. یکی از دیگه از عالی ترین قابلیت های اینتلیج اینه که خروجی ظاهری صفحات برنامتون رو میتونین در سایزهای مختلف گوشی و تبلت مشاهده کنین. از لحاظ سختی اضافه کردن ماژول و کتابخانه های جدید هم باید بگم از اکلیپس کمی ساده تره ولی بازم سخته! یکی دیگه از امکانات عالی اینتیج توانایی مشاهده داخل کتابخانه های jar هست. شما میتونین داخل انواع کتابخونه ها رو ببینین و گاها چیزهای زیادی ازشون یاد بگیرین.

معایب :

  • اشغال زیاد رم
  • سختی اضافه کردن کتابخانه ها و ماژول های جدید

مزایا :

  • هوش بسیار بالا
  • دسترسی به دیتابیس
  • راحتی اضافه کردن پلاگین های کاربردی
  • امکانات خوب برای طراحی ظاهری صفحات برنامه
  • امکانات اضافه برای توسعه اندروید
  • توانایی مشاهده داخل کتابخانه های jar

 

studio_splash

اندروید استودیو :

اندروید استودیو توسط گوگل ارائه شده و به طور خلاصه میشه گفت اندروید استودیو همون اینتلیجه ! اندروید استودیو از بیس اینتلیج استفاده میکنه. بسیاری از امکانات اینتلیج که مربوط به توسعه برای سایر زبان ها هست رو نداره برای همین خیلی سبک و روونه و کاملا بهینه شده برای یک کار، توسعه اندروید!
از طرفی به دلیل تخصصی بودن برای اندروید، یه سری قابلیت های خاص رو به کاربر میده. تمپلیت های آماده یک پروژه یکی ازین نمونه هاست که شما میتونین تنها با چند کلیک یه پروژه اماده نقشه داشته باشینو یا یه صفحه لاگین و ورود رو آماده کنین. سوای مزایایی که برای اینتلیج بر شمردیم، اندروید استودیو از یک ساختار جدید سیستم تولید ( Build System ) استفاده میکنه به نام gradle . توضیح اینکه gradle چیه خودش یه مقاله جدا رو می طلبه ولی به طور خلاصه میشه گفت چیزه خوبیه ( برای آشنایی با gradle این لینک رو بهتون پیشنهاد میکنم). استفاده از گردل باعث شده که شما بتونین کتابخانه هایی که از ساختار gradle پشتیبانی میکنن تنها با اضافه کردن یک خط به پروژه اضافشون کنین و دردسر اضافه کردن ماژول ها رو به جون نخرین. البته لازم به ذکره که اگه با gradle یا maven کار نکردهب اشین، برای شروع یه کم اذیت میشین! همونطور که گفته شد اندروید استودیو یه سری از قابلیت های اینتلیج رو نداره! و یکی ازون قابلیت ها مشاهده و اتصال به دیتابیسه که یکی از معایبشه. یکی دیگه از امکانات اندروید استودیو قابلیت اتصال مستقیمش به سرویس های گوگل مثل گوگل کلاود و گوگل کد هست.

معایب:

  • عدم امکان مشاهده دیتابیس

مزایا :

  • هوش بسیار بالا
  • راحتی اضافه کردن پلاگین های کاربردی
  • امکانات خوب برای طراحی ظاهری صفحات برنامه
  • امکانات بسیار اضافه برای توسعه اندروید
  • توانایی مشاهده داخل کتابخانه های jar
  • استفاده از ساختار gradle
  • اتصال مستقیم به سرویس های گوگل مانند گول کلاود و …

 

نتیجه گیری نهایی :
نتیجه گیری نهایی با توجه به گفته های بالا بر عهده خودتونه، ولی اگه نظر منو که سه سال در زمینه برنامه نویسی اندروید تجربه دارم بخواین بدونین ۱۰۰% اندروید استودیو رو پیشنهاد میکنم! به شخصه راحتی ای که در هنگام کار با اندروید استودیو داشتم تو سایر محیط های توسعه تجربه نکردم و دلیله دیگم برای این حرف اینه که اندروید استودیو توسط گوگل پشتیبانی میشه و داره تخصصی برای توسعه اندروید بهینه میشه. و به مرور به امکاناتشم افزوده میشه.

دیدگاه کاربران