ساخت و توسعه نرمافزارهای Native به این معناست که برای برنامه نویسی و توسعه نرمافزار خود از زبانهای اصلی سیستم عامل استفاده کنید. مثلا برای توسعه نرمافزار اندروید باید از زبان برنامه نویسی Java و برای توسعه نرمافزار آیفون باید از زبان برنامه نویسی Objective-C استفاده کنید.
بهتر است بخوانید : زبان برنامهنویسی جاوا در برابر پایتون، قابلیتهای این زبانهای برنامهنویسی چیست؟
بزرگترین مزیت این حالت بازدهی (performance) بالای نرمافزار است، زمانی که شما برنامه خود را بصورت Native مینویسید کدهای شما به زبان ماشین کامپایل خواهند شد(Dalvik bytecode در اندروید) که همین موضوع باعث میشود شما حداکثر بازدهی ممکن از نرمافزار را داشته باشید. بازدهی بالا میتواند شامل افکتهای انیمیشن، روان کار کردن بخشهای مختلف برنامه، امکان استفاده از multi touch و خیلی موارد دیگه باشه که بدلیل دسترسی مستقیم به موقعیتهای حافظه و سختافزار گوشی اتفاق میفته.
توسعه نرمافزارهای Native آسان نیست! چرا؟
چون باید برنامهای که میخواهید بنویسید، برای هر platform بشکل مجزا بنویسید. با اینکه امروزه منابع زیادی برای یادگیری برنامهنویسی در اینترنت وجود دارند اما باز هم یادگیری برنامهنویسی بصورت Native شاید برای همه قابل فهم و انجام نباشه و همین موضوع کمی کار رو سخت میکنه. اگر شما بخواهید نرمافزار خود را برای پلتفرمهای مختلف مانند اندروید، ios و یا ویندوز طراحی کنید باید کدی که مینویسید را به زبان برنامهنویسی هر کدام از پلتفرمها مجددا بنویسید! شاید منطق و الگوریتم همگی یکی باشند اما مسلما SDK و APIهای که برای هرکدام استفاده میکنید متفاوت خواهند بود و از همه مهمتر باید وقت بیشتری برای کدنویسی آن بگذارید.
پس اگر میخواهید برنامه نویسی Native انجام دهید به خاطر داشته باشید برای هر Platfrom باید زبان برنامهنویسی آن را یاد بگیرید و مجددا کدهای برنامه خود را بنویسید.
مزایا
- بدلیل کامپایل شدن برنامه دارای سرعت بالایی هستند
- دسترسی به تمامی امکاناتی که سیستم عامل به برنامهنویس میدهد
- پشتیبانی از APIهای مختلف
معایب
- دوباره نویسی کدهای برنامه برای پلتفرمهای مختلف
- هزینه تمام شده بالا بدلیل زمان توسعه برنامه
منبع : مجید آنلاین