ساخت اپلیکیشن اندروید با استفاده از Android Studio SDK یا راه های ثانویه مانند Cordova

با نام خالق زیبایی ها و سلام

خب برای توسعه دادن یه اپلیکیشن موبایل (اینجا بیشتر منظورم Android) دو تا راه وجود داره،

راه اول استفاده از SDK که خود google برای اندروید ارائه داده و همچنین استفاده از از IDE هایی مثل Android studio که بازم توسط خود google با همکاری JetBrain ارائه داده. این روش با استفاده از کد زنی به زبان جاوا انجام میشه

راه دوم استفاده از راهکارهای ثانویه و فریمورک هایی مثه Apache cordova ، phoneGap یا Xamarin

اگر تو وب به جستجو بپردازید بحث های مختلفی برای مقایسه این دو روش ارائه شده (من صرفا با استفاده از اون تحقیقاتم اینجا میخوام به نتیجه برسم و تجربه شخصی خودم نیست)،

یه تصویری که در این مورد خیلی جالبه رو پایین می بینید:

سمت راستی استفاده از روش های ثانویه و سمت چپی استفاده از روش های اول یعنی همون چیزی که خود Google یا Apple پیشنهاد کردند و ارائه دادند. (البته به نظر من این عکس کاملا صحیح نیست و استثنا نیز وجود داره)

در روش های دوم معمولا اگر دانش وب داشته باشیم خیلی سریع پیش میریم، چرا؟ چون از Html، CSS و JavaScript معمولا استفاده می کنند. که در نتیجه با توجه به استفاده از وب معمولا میشه ظاهری قشنگ تر را خیلی ساده تر از استفاده از روش پیشنهادی خود google بهش دست یافت.

بحث زمان و هزینه توسعه اپلیکیشن نیز استفاده از PhoneGap و موارد مشابه معمولا رنج زیادی از پلتفرم ها مثل Android ، Ios ، Windows Phone و … رو در بر میگیره که خب با زمان کمتر و هزینه خیلی کمتر میتونیم اپلیکیشن رو آماده کنیم (در حقیقت کد را در یک زمان مدیریت می کنیم و چندین خروجی برای چند پلتفرم داریم)

و اما محدودیت ها برای مثال Apple App Store روی تجربه کاربری کاربرپسند (user friendly) که در ساخت اپلیکیشن به کار رفته خیلی حساسه، خیلی از موارد اپ های ساخته شده با مواردی مثه PhoneGap را به دیلی رعایت نکردن معیار های طراحی ظاهری رد می کنه(reject).

ولی خب پیشنهاد میشه اگر میخواید یه اپ یا تجربه کاربری بسیار بالا و کاربرپسند تولید کنید بهتره سراغ رویکرد های native که خود شرکت اصلی مثه Google ارائه کرده برید. و اما اگر بودجه مالی و زمانی براتون خیلی مهمه و می خواید سریع به نتیجه برسید همون روش های ثانویه توصیه میشه(در cordova نیز تعدادی فریمورک موجوده برا مثال   jquery mobile, ionic, sencha, kendo UI ، همچنین کوردووا برای پشتیبانی از قابلیت های Native نیز پلاگین هایی را در نظر گرفته است که میتوان از آنها استفاده کرد)

 

در ادامه سعی می کنم در مورد Xamarin نیز بنویسم که به نظرم با روش های حالت دومی که اینجا در موردشون صحبت کردم یه مقدار تفاوت داره و اونم به دلیل C# base بودنش هست.