مقدمه برنامه نویسی اندروید با c++
زمانی که اقدام به طراحی یک اپلیکیشن اندروید کنید، به این معناست که برای سیستم عامل اندروید برنامه نوشتهاید و در کل این کار برنامه نویسی اندروید نامیده میشود. درست است که زبان اصلی برنامه نویسی اندروید زبان جاوا معرفی شده است، اما خوشبختانه به وسیله زبانهای دیگر نیز میتوان عمل برنامه نویسی اندروید را انجام داد. قبل از هر چیزی بیایید ببینیم سیستم عامل اندروید چیست و چه کار میکند تا پس از آن بتوانیم به برنامه نویسی اندروید با c++ بپردازیم.
سیستم عامل اندروید چیست؟
امکان ندارد از گوشی هوشمند استفاده کرده باشید و اسم اندروید به گوشتان نخورده باشد. این سیستم عامل محبوب در بین برندهای مختلف گوشی مورد استفاده قرار می گیرد و توانسته است کاربران زیادی را به خود جلب کند. اندروید رایگان و متن باز است و به همین دلیل بسیاری از برنامه نویسان اندروید قادر هستند از سورس کدهای دیگران به راحتی در اپلیکیشن خود استفاده کنند.
از آن جایی که اندروید متن باز است، از چند زبان برنامه نویسی دیگر به جز زبان جاوا برای برنامه نویسی و طراحی اپلیکیشن پشتیبانی می کند که آن را تبدیل به یکی از محبوب ترین سیستم عامل ها در طراحی اپلیکیشن برای آن کرده است. این سیستم عامل در گوشی های هوشمند برندهای محبوب مانند سامسونگ، شیائومی و ال جی وجود دارد، جالب است بدانید که این سیستم عامل تنها در گوشی های هوشمند وجود ندارد و همچنین می توان آن را در تبلت، تلویزیون، ساعت های مچی، کنسول های بازی و غیره پیدا کرد.
سیستم عامل اندروید برخلاف سیستم عامل ios که تنها در گوشی های اپل می توان آن را پیدا کرد، در چندین برند مختلف از گوشی های همراه حضور دارد و شاید همین دلیل باعث شده است این سیستم عامل از محبوبیت بیشتری برخوردار باشد. ممکن است پیش خود فکر کنید که این ها چه ربطی به برنامه نویسی اندروید با c++ دارند، اما بهتر بود که از تاریخچه این سیستم عامل محبوب باخبر شویم و حالا نوبت آن است که به معرفی زبان برنامه نویسی c++ بپردازیم.
قبل از این توجه کنید که هدف از این پست نحوه استفاده از زبان c++ برای برنامه نویسی اندروید است، چنانچه می خواهید درمورد برنامه نویسی اندروید آموزش هایی مرتبط دریافت کنید، پیشنهاد می کنیم به فرادرس مراجعه نمایید. برای مشاهده آموزش ها می توانید بر روی لینک زیر کلیک کنید.
زبان برنامه نویسی سی پلاس پلاس
زبان سی پلاس پلاس یکی از زبانهای برنامه نویسی سطح بالا است که در زمینه برنامه نویسی کامپیوتری کاربرد دارد. این زبان با اینکه از خانواده زبان C محسوب میشود اما تفاوتهای زیادی با آن دارد و همینطور قابلیتهای بسیاری دارد که زبان C آن را ندارد. به زبان سی پلاس پلاس زبان سطح میانی نیز گفته میشود زیرا قابلیتهای زبان سطح بالا و سطح پایین را هم داراست. این زبان برنامه نویسی نیز رایگان و متن باز است و کاربردهای فراوانی دارد که یکی از آنها برنامه نویسی اندروید با c++ میباشد. در ادامه به دیگر کاربردهای این زبان میپردازیم.
کاربردهای زبان برنامه نویسی c++
این زبان عمدتاً کاربردهای فراوانی دارد که مهمترین آن طراحی سیستم عاملها و ساخت بازیها میباشد. علاوه بر آن از این زبان برای طراحی و برنامه نویسی مرورگرهای وب، انیمیشن سازی، ساخت برنامه برای موبایل و تبلت استفاده میشود. در صنعت نیز از زبان c++ برای صنایع فضایی و ساخت خودروها، صنایع پزشکی و مهندسی، ساخت برنامههای سازمانی و دولتی، اینترنت اشیاء و غیره استفاده میکنند.
زبان برنامه نویسی سی پلاس پلاس به عنوان زبان پایه بسیاری دیگر از زبانهای برنامه نویسی محسوب میشود، به طوری که اگر این زبان را یاد بگیرید دیگر نیازی به مطالعه زیاد برای یادگیری دیر زبانهای برنامه نویسی نخواهید داشت، چرا که مهم اصول برنامه نویسی است و تنها نوع نگارش دستورات در دیگر زبانها متغیر است.
مزایای زبان برنامه نویسی c++
برخی افراد ممکن است مزایا و کاربرد این زبان را نتوانند از هم تشخیص دهند، اما باید بدانید که زبان سی پلاس پلاس علاوه بر کاربردهایی که در بالا به آنها اشاره کردیم، دارای مزایای زیادی نیز هست که در ادامه به برخی از آنها اشاره میکنیم. از جمله مهمترین مزایایی که زبان برنامه نویسی c++ در مقایسه با دیگر زبانها دارد، داشتن سرعت فوقالعاده عالی در اجرای برنامههاست. این زبان برای کسانی که عاشق سرعت هستند بهترین است و همیشه تأخیر کمی دارد. به همین دلیل از این زبان برای طراحی بخشهای مختلف از برنامهها جهت اجرای سریع در سرور استفاده میشود.
همانطور که در ابتدای مطلب برنامه نویسی اندروید با c++ گفتیم زبان برنامه نویسی سی پلاس پلاس یک زبان سطح بالا است که به آن سطح میانی نیز می گویند. چرا که این زبان ویژگیهای زبانهای سطح پایین را نیز داراست. این بدین معناست که این زبان به سخت افزار نزدیک است و برخلاف زبانی مانند پایتون که بسیار نزدیک زبان انسان هستند تا زبان ماشین، برای نوشتن برنامههای سیستمی کاملاً مناسب است. دارای امنیت بالایی است و در زمینه امنیت سیستم نیز بسیار کاربرد دارد. این زبان یکی از امنترین و آسانترین زبانهای برنامه نویسی معرفی شده است.
برنامه نویسی اندروید با c++
تا به اینجا در مورد معرفی و مزایای سیستم عامل اندروید و زبان سی پلاس پلاس صحبت کردیم، اما بهتر است بالاخره به این سؤال جواب دهیم، آیا میتوان به کمک سی پلاس پلاس اپلیکیشن برای اندروید طراحی کرد یا خیر. بیشتر ما زمانی که با زبان سی پلاس پلاس کار میکنیم فکر میکنیم که این زبان تنها برای نوشتن برنامههای سیستمی مورد استفاده قرار میگیرد، در حالی که برنامه نویسی اندروید با c++ هم به کمک برخی ابزارها قابل انجام است. استفاده از زبان جاوا برای طراحی برخی از اپلیکیشن ها مانند بازی چندان پیشنهاد نمیشود، به همین دلیل برنامه نویسان از کیت توسعه بومی یا NDK استفاده میکنند.
در ادامه در مورد آن بیشتر توضیح خواهیم داد. از آنجایی که زبان c++ نسبت به زبان جاوا بیشتر به سیستم نزدیک است، طراحی اپلیکیشن با سی پلاس پلاس باعث میشود که اپلیکیشن بتواند ارتباط سریعتری با سیستم برقرار کند و طبیعتاً بر روی سرعت لود اپلیکیشن تأثیر خواهد گذاشت.
اندروید NDK چیست؟
برخی از موتورهای بازی سازی مانند unity و unreal برای طراحی اپلیکیشن قدرتمند از زبانی مانند c++ استفاده میکنند. اما از آنجایی که امکان طراحی مستقیم اپلیکیشن با این زبان وجود ندارد، از یک واسط به نام NDK استفاده میشود که مخفف Android Native Development Kit است. این خصوصیت جایگزین JDK در اپلیکیشن های طراحی شده با زبان جاوا است. در هنگام برنامه نویسی اندروید با c++، خصوصیت NDK با SDK ادغام میشود و به تنهایی کاربرد ندارد.
از جمله ویژگیهایی که هنگام طراحی اپلیکیشن میتوان مشاهده نمود، افزایش سرعت لود اپلیکیشن ها است زیرا هنگام استفاده از زبان سی پلاس پلاس به عنوان زبان اصلی طراحی اپلیکیشن، دیگر نیازی نیست کدها توسط مفسر ترجمه شوند و مستقیماً به ارتباط با CPU ارسال میشوند، طبق این ویژگی شما قادر خواهید بود کارهایی با برنامه نویسی اندروید با c++ انجام دهید که در حالت عادی هنگام طراحی اپلیکیشن به زبان جاوا امکان پذیر نیست!
آیا استفاده از NDK عاقلانه است؟
پس از همه مزایایی که از NDK گفته شد احتمال اینکه هنوز به استفاده از NDK ترغیب نشوید وجود دارد! بهتان حق میدهم چرا که درمورد معایب استفاده از NDK صحبتی نشده است و به همین دلیل نمیتوانید کاملاً به زبان سی پلاس پلاس اعتماد کنید. از دیگر مزایایی که در مورد برنامه نویسی اندروید با c++ به وسیله NDK میتوان نام برد امنیت بالای اپلیکیشن های طراحی شده توسط آن است. این اپلیکیشن ها هرگز کرک نمیشوند و نخواهند شد.
از نمونه بازیهای مهم و هیجان انگیز که به همین روش طراحی شده است و دارای امنیت بسیار بالایی میباشد، میتوان به بازی کالاف دیوتی موبایل (ندای وظیفه) اشاره کرد. موتورهای بازی سازی ابتدا تلاش خود را میکنند تا یک برنامه نویس اندروید با زبان c++ پیدا کنند تا بتوانند اپلیکیشن های خود را به این زبان بسازند. اما مشکل اینجاست که استفاده از NDK هنوز آن طور که باید در ایران جا نیافتاده و هنوز هم وقتی به برخی افراد درمورد برنامه نویسی اندروید با c++ توضیح میدهیم، آنان فکر میکنند در حال شوخی با آنها هستیم!
معایب برنامه نویسی اندروید با c++
شاید پیش خود فکر کنید این نوع برنامه نویسی چه معایبی می تواند داشته باشد؟ پاسخ ساده است! در این صورت دیگر اپلیکیشنی که طراحی کرده اید Native نخواهد بود، یعنی به زبان رسمی که باید با آن طراحی می شدند نشدند! مهم ترین مشکلی که ممکن است در این صورت با آن مواجه شوید این است که اپلیکیشن طراحی شده احتمال این را دارد که performance یا بازدهی خوبی نداشته باشد.
استفاده از NDK برای برنامه نویسی اندروید با c++
قبل از هرچیزی بایستی اندروید استودیو را نصب کنیم. پس طبق تصویر زیر بر روی Configure کلیک می کنیم.
حال در ادامه گزینه SDK Manager را انتخاب می کنیم. قصد ما استفاده از NDK است؛ پس اول باید این ویژگی را به اندروید استودیو اضافه کنیم. پس از انتخاب گزینه بالا صفحه ای مشابه تصویر زیر باز می شود.
در بخش Android SDK به تب SDK Tools بروید، حال اینجا باید تیک سه گزینه NDK و LLDB و Cmake را فعال کنید، سپس بر روی ok کلیک کنید تا دادهها دریافت شوند و بر روی سیستم نصب شوند. بدین ترتیب توانستید NDK را بر روی سیستم نصب کنید. برای استفاده کردن از NDK در پروژه خود تنها کافیست مراحل زیر را طی کنید. یک پروژه جدید ایجاد کنید، در بخش انتخاب نوع پروژه با صفحه زیر مواجه خواهید شد. مشاهده میکنید که Native ++C به پروژه اضافه شده است. آن را انتخاب کنید و بر روی Next کلیک کنید.
حال جزئیات پروژه را همانند دیگر پروژه های اندرویدی مانند نام، نام بسته و غیره وارد کنید و بر روی گزینه Next کلیک کنید.
در این بخش کامپایلری که می خواهیم برنامه توسط آن کامپایل شود انتخاب می کنیم. در این آموزش ما از تنظیمات پیش فرض استفاده کرده ایم و بدون تغییر دادن گزینه ای بر روی Finish کلیک کنید تا پروژه ایجاد شود.
پس از آنکه پروژه ایجاد شد، ساختار درختی آن مشابه تصویر زیر خواهد بود که علاوه بر دایرکتوری معمولی در که در پروژه های اندرویدی با زبان جاوا وجود داشت، یک فایل CPP نیز وجود دارد که کدهای سی پلاس پلاس را در خود ذخیره می کند.
بدین ترتیب موفق شدید برنامه اندرویدی خود را به وسیله برنامه نویسی اندروید با c++ بنویسید. چنانچه به زبان سی پلاس پلاس تسلط داشته باشید به راحتی می توانید برنامه های دلخواه خود بنویسید و کامپایل کنید. اما اگر زبان C++ را بلد نیستید نگران نباشید! فرادرس آموزش های بسیاری در زمینه آموزش زبان c++ دارد که می توانید از آن ها استفاده کنید و در طی مدت زمان کوتاهی این زبان برنامه نویسی را به خوبی یاد بگیرید. برای دریافت و مشاهده آموزش ها بر روی لینک زیر کلیک کنید.
سخن آخر در مورد برنامه نویسی اندروید با c++
در این آموزش در مورد برنامه نویسی با سی پلاس پلاس برای اندروید صحبت کردیم که یکی از مباحث مهم در زمینه برنامه نویسی است، چرا که اگر هر فردی بتواند با زبان غیر Native برنامه بنویسد پس قطعاً در حوزه خود خبره است! بیشتر بازیهای آنلاینی که بایستی از امنیت بالایی برخوردار باشند و کرک نشوند تا تقلبی در بازی صورت نگیرد، توسط موتورهای بازی و به زبان سی پلاس پلاس انجام میپذیرد. شما نیز یاد گرفتید که چگونه یک پروژه را به زبان C++ در اندروید استودیو شروع کنید؛ امیدواریم که این مطلب برای شما مفید باشد. موفق باشید.
2 پاسخ
عالی و کاربردی 👌 مرسی
سپاس