مقایسه زامارین و اندروید استودیو
بعد از اینکه مقاله مقایسه محیط های برنامه نویسی اندروید رو منتشر کردیم بازخورد خوبی از کاربران سایت گرفتیم چون خیلی ها اصلا نمیدونستند محیط های دیگری برای برنامه نویسی اندروید وجود دارد. در این مقاله میخواهم مقایسه زامارین و اندروید استودیو رو انجام دهم. تا ببینیم برای برنامه نویسی اندروید، بهتر است از اندروید استودیو استفاده کنیم یا به سمت زامارین برویم.
در اینترنت مقالات عجیب غریبی در مورد زامارین یا اندروید استودیو وجود دارد طوری که هر کسی به صورت کاملا بی انصافانه و بر اساس تعصب خودشون یکی رو زمین زدند. در این مقاله که با عنوان مقایسه زامارین و اندروید استودیو قرار نیست بگیم کدوم به درد نمی خورد. چون هر کدام قدرت خودش را دارد. مثلا اندروید استودیو توسط گوگل پشتیبانی می شود و زامارین توسط مایکروسافت، پس نمی توان گفت فعلا زبان یا تکنولوژی بدرد نمی خورد. پس همراه ما باشید تا مقایسه ای بین زامارین و اندروید استودیو انجام دهیم.
قبل از اینکه شروع به مقایسه زامارین و اندروید استودیو کنیم این نکته رو فراموش نکنیم که زامارین و اندروید استودیو، هر دو فوق العاده هستند اما ما باید بر اساس نیازمون یکی رو انتخاب کنیم. پس این فکر رو از سرتون در بیارید که مثلا اندروید استودیو خوب نیست یا زامارین راهی احمقانه هستش، هر دو در جایگاه خودشون واقعا خوب هستند و جای هیچ شکی نیست ولی باید بر اساس کارمون یکی رو انتخاب کنیم.
مقایسه زامارین و اندروید استودیو
اولین گام در مقایسه زامارین و اندروید استودیو، تعریف هر کدام به صورت جدا و مستقل می باشد. باید ابتدا بگیم چی هستند چه کاربردی دارند و به چه دردی می خورند بعد در مورد مزایا و معایب هر کدام صحبت کنیم و در آخر هم میگیم در چه زمانی باید کدام رو انتخاب کنیم.
زامارین چیست؟
اگر بخوام به صورت خودمونی بگم زامارین چیه، باید گفت یک تکنولوژی برای ساخت برنامه های موبایلی است. یکی از خوبی های زامارین اینه می تونی برای اندروید، ios و ویندوز موبایل، هر نوع اپلیکیشنی دوست داری بنویسی و دست به شدت باز است. زامارین ابزاری نوین (و زیر مجموعه کمپانی قدرتمند مایکروسافت) است که برای طراحی و ساخت نرم افزارهایی با قابلیت استفاده در تمام گوشی های موبایل تحت سیستم های عامل متفاوت بکار گرفته میشود.
به عبارت دیگر: زمانی که شما با استفاده از زبان C# (سی شارپ) اقدام به ساخت اپلیکیشنی در فضای زامارین می کنید، دیگر نیازی به تغییر یا بازنویسی آن (مثلاً به زبان جاوا و…) جهت استفاده در دیگر پلت فرم ها ندارید. در واقع میتوان گفت زامارین یک ابزار برنامه نویسی چند سکوییست.
Xamarin نام شرکتی است که ابزارهای توسعه نرم افزار تجاری تولید می کند. این شرکت با استفاده از پروژه متن باز Mono بستری را فراهم می آورد که بتوان با استفاده از #C و NET. بتوان برنامه هایی برای اندروید و OS X و IOS ساخت. Xamarin برای ساخت برنامه های اندروید محصول Xamarin.Android را به بازار عرضه کرده است.
مزایایی استفاده از زامارین
بعد از اینکه گفتیم xamarin چیست حالا میخواهیم مزایای زامارین رو مورد بررسی قرار دهیم و ببینیم برنامه نویسی زامارین چه مزایایی دارد. در بخش زیر تعدادی از مزایایی زامارین رو آورده ایم:
۱– امکان انتقال کدها میان اپلیکیشنهای ساخته شده با استفاده از زامارین صرف نظر از ساختار پلت فرمی که در آن قرار دارد.
۲– زامارین تنها چارچوبیست که در هر قالب پلت فرمی ویژگیهای اپلیکیشن های (native) آن پلت فرم را به خوبی به خود میگیرد. (native app به اپلیکیشن هایی گفته میشود که در محیط نرم افزاری مختص به پلت فرمی خاص ساخته میشود. مثلاْ برای استفاده در پلت فرم اندروید در اپلیکیشنی را در Android studio طراحی کنیم.)
۳– امکان ساخت اپلیکیشن های (IOS – Android – Windows phone ) با قابلیت انتقال کدهای یکسان (تا حدود ۹۶%)
۴– [portable class librariries] که به شما امکان استفاده مجدد از کدها را داده و درعین حال تعداد پروژه ها را کاهش میدهد.
۵– امکان اضافه کردن مؤلفه هایی شامل نمودارها، جداول، نمایه های زیبا، [UI control] ها و… بصورت مستقیم از [IDE].
۶– با قالب زامارین رابط طراحی هر سه پلتفرم بصورت مشترک با چارچوب اساسی [XAML] خواهد بود.
معایب استفاده از زامارین
بعد از اینکه در مورد مزایای زامارین صحبت کردیم حال تعدادی از مشکلات و معایب آن رو در بخش زیر قرار داده ایم:
- دارا بودن لایسنس: Xamarin.Android همانند Xamarin.IOS و Xamarin.OS x ابزارهای تجاری هستند و باید خریداری شوند. البته در کشور ما این مشکل حادی نیست.
- انتظار برای آپدیت: در اکثر مواقع وقتی که یک نسخه از اندروید به بازار عرضه می شود مدت زمانی طول می کشد که شرکت Xamarin نرم افزار خود را آپدیت کند تا این نرم افزار با آخرین نسخه اندروید سازگار باشد.
- کارایی (performance) و مدیریت حافظه: گاهی اوقات گفته می شود که استفاده از زبان #C برای توسعه برنامه های اندروید سرعت را کاهش می دهد ولی هنوز اندازه گیری و ارزیابی درستی از این قضیه به عمل نیامده است.
توجه: اگر می خواهید در مورد تکنولوژی زامارین بیشتر بدونید پیشنهاد میکنم مقاله زامارین چیست و مزیت های استفاده از آن رو حتما مطالعه کنید.
اندروید استودیو چیست؟
اندروید استودیو را می توان رسمی ترین محیط برنامه برنامه نویسی اندروید خواند. اندروید استودیو توسط شرکت بزرگ گوگل ساخته شده است و تمام اسناد رسمی به آن ارجاع داده میشوند. می توان گفت اندروید استودیو، بیشترین پشتیبانی را دریافت میکند. طوری که به صورت تخصص برای توسعه اندروید ساخته شده است و از حقم نگذریم کار شما را برای برنامه نویسی اندروید به شدت آسان می کند.
یکی از مشکلاتی که به اندروید استودیو می گیرند مشکلات زیاد هنگام نصب آن می باشد که می توانید برای این کار به مقالات آموزش نصب اندروید استودیو و مشکل در اجرای Android Studio رجوع کنید. در این مقالات به صورت کامل در مورد نصب و رفع مشکلات این محیط برنامه نویسی صحبت کرده ایم.
یکی از مزیت های استفاده از این IDE (محیط برنامه نویسی) این است که به راحت ترین شکل ممکن میتوانید از روش های نوین طراحی گوگل باخبر بشوید و کتابخانه های جدید را برای پروژه های خود پیدا کنید. اگر هم میخواهید به عنوان یک توسعه دهنده استخدام بشوید، یکی از راه های یادگیری، کار کردن با اندروید استودیو میباشد. همچنین اگر میخواهید در آینده اپلیکیشن خود را به فروش برسانید، یک ایده خوب استفاده از این محیط برنامه نویسی اندروید به همراه زبان جاوا است.
برای برنامه نویسی در محیط اندروید استودیو باید از زبان های جاوا و Android SDK استفاده کنید. اگر نمی دونید SDK چیست باید بگویم مخففSoftware Development Kit یا کیت توسعه نرم افزار میباشد. این SDK کار شما برای برنامه نویسی را راحتر می کنند. برای کار کردن با زبان جاوا باید از قبل این کیت یا همان SDK را روی کامپیوتر خود نصب کرده باشید. این محیط برنامه نویسی به شما اجازه میدهد که به چیز هایی مانند دکمه ها و دیگر المان های رابط کاربری دسترسی داشته باشید و خیلی راحت بتوانید آرایش این المان ها را در اپلیکیشن خودتان تغییر بدهید.
مزایای استفاده از اندروید استودیو
- ورود Gradle به اندوید استودیو
- سیستم خطا یابی پیشرفته
- پشتیبانی از آخرین نسخه جاوا
- Monitoring فوق العاده قوی
- امکانات جانبی پیشرفته (ساخت عکس از نوع xml و vector)
- فشرده سازی کد در اندروید استودیو حدودا ۴ برابر افزایش یافت
- مدیریت بهتر package با استفاده Project Structure
- استفاده از کد های C و C++ در اندروید
- طولانی بودن زمان index و build در گریدل بین ۳۰ تا ۴۰ ثانیه در صورتی که پروژه کمی سنگین باشد
- امکان مترال دیزان کردن به صورت ۰ تا ۱۰۰ وجود دارد.
- بازی سازی در آن آسان است.
- پشتیبانی از زبان Kotlin
معایب استفاده از اندروید استودیو
- بالا بودن حجم اندروید استودیو
- سنگین بودن اندروید استودیو باید از نظر سخت افزاری سیستم قوی با کش بالا داشته باشید
- بالا بودن حجم sdk در اندروید استودیو
- گیر کردن و کرش دادن اندروید استودیو (در ابتدا android studio با باگ صفحه سیاه معروف شده بود)
- حل کردن خطا های اندروید استودیو در بخش گریدل غیر ممکن بود (باز این عیب اندروید استودیو به ورژن های قدیمی برمی گردد)
- اندازه اصلی sdk در اندروید استودیو حدودا ۶۰ گیگ می باشد
زامارین یا اندروید استودیو
تا این لحظه حتما دستتون امده هر کدام چیا دارند و به چه دردی میخورند اما بین این دو باید کدوم رو انتخاب کنیم؟ واقعا سخته بخوایم بین زامارین یا اندروید استودیو یکی رو انتخاب کنیم. وقتی مقایسه زامارین و اندروید استودیو رو مطالعه می کنید متوجه می شوید که هر کدام قدرت خودش رو دارد و نمی توان گفت یکیشون به درد نمی خورد. واقعیت امر اینه که هر کدام در جایگاه خود فوق العاده هستند. اما واقعا بین زامارین یا اندروید استودیو کدام یک رو انتخاب کنیم. در بخش پایین چند نکته میگم و بر اساس این نکته ها یکی رو انتخاب کنید.
نکته اول: اگر شما سی شارپ کار هستید یعنی قبلا برنامه نویس سی شارپ بوده اید و به سی شارپ آشنا هستید بهتر هستش زامارین رو انتخاب کنید چون خیلی خیلی سریع به مقصد و هدف خود میرسید و راحتر می توانید پیشرفت کنید.
نکته دو: اگر حوصله درگیری با پیچیدگی های جاوا رو ندارید و براتون گنگ هستش بهتر هست بازم زامارین رو انتخاب کنید چون واقعیت این است که زامارین پیچیدگی های جاوا رو ندارد و شما رو زیاد اذیت نمی کند.
نکته سه: در صورتی که شامل دو گزینه بالا نمی شوید اندروید استودیو رو انتخاب کنید چون گزینه ای جذاب و دوست داشتنی هستش و می توان از آن برای نوشتن هر نوع اپلیکیشنی استفاده کرد. پس اگر سی شارپ کار نیستید و با پیچیدگی های جاوا مشکلی ندارد بهترین گزینه همین اندروید استودیو می باشد.
نتیجه گیری:
زامارین و اندروید استودیو واقعا فوق العاده هستند و شکی در این موضوع نیست و این شما هستید که بر اساس شرایط و وضعیت خود یکی رو انتخاب می کنید. اگر شما بخواهید مقایسه زامارین و اندروید استودیو رو انجام دهید به چه چیزهایی اشاره می کنید لطفا تجربیات خود در زمینه مقایسه زامارین و اندروید استودیو را در بخش نظرات همین مطلب بنویسید.
پیشنهاد: اگر به دنبال یادگیری برنامه نویسی اندروید هستید پیشنهاد میکنم حتما مقاله مقایسه محیط های برنامه نویسی اندروید رو مطالعه کنید کافیه روی تصویر زیر کلیک کنید.