آموزش cordova — راهنمای کار با آپاچی کوردوا (Apache Cordova)

آپاچی کوردوا
آپاچی کوردوا


امروزه استفاده از اپلیکیشن‌های موبایل بسیار فراگیر شده است و می‌توانید بسیاری از نیازهای خود را به وسیله یک اپلیکیشن موبایل برطرف کنید. منظور از اپلیکیشن‌های موبایل، اپلیکیشن‌هایی است که قابلیت نصب روی دستگاه‌های قابل حمل نظیر تلفن‌های همراه هوشمند، تبلت‌ها و ساعت‌های هوشمند را دارند.

بنابراین پلتفرم‌های مختلفی وجود دارد که می‌توان از آن‌ها برای نصب اپلیکیشن‌ استفاده کرد. توسعه اپلیکیشن برای هر یک از این پلتفرم‌ها به طور جداگانه می‌تواند کاری طاقت فرسا و زمان‌بر باشد. همچنین ممکن است بودجه و منابع کافی به منظور توسعه جداگانه برای پلتفرم‌های مختلف را در اختیار نداشته باشید. اینجا همان جایی است که آپاچی کوردوا می‌تواند به کمک شما بیاید.

آپاچی کوردوا (Apache Cordova) یک پلتفرم متن باز است که برای ساخت اپلیکیشن‌های موبایل با استفاده از اچ تی ام ال (html)، سی اس اس (CSS) و جاوا اسکریپت استفاده می‌شود.

کوردوا به عنوان پلی بین وب اپلیکیشن‌ها و دستگاه‌های قابل حمل نیز ایفای نقش می‌کند. کوردوا یک واسط برنامه ‌نویسی کاربردی فراهم می‌کند که می‌توان به کمک آن به قابلیت‌های دستگاه نظیر دوربین، سیمکارت یا لیست مخاطبین دسترسی پیدا کرد. وب اپلیکیشن‌ها به صورت پیش فرض نمی‌توانند به عملکردهای دستگاه نظیر دوربین دسترسی داشته باشند. کوردوا این مشکل را حل کرده و قابلیت‌های دستگاه قابل حمل را در اختیار وب اپلیکیشن قرار می‌دهد.

وب اپلیکیشن‌هایی که با کوردوا توسعه داده می‌شوند را می‌توان مانند یک Native App روی دستگاه‌های قابل حمل نصب کرد. به عبارت دیگر در نهایت می‌توانید یک فایل Apk برای نصب روی دستگاه‌های اندرویدی داشته باشید یا یک فایل IPA برای نصب روی دستگاه‌های مجهز به سیستم عامل iOS.

در این مقاله قصد داریم به آموزش cordova پرداخته و شما را با ویژگی‌های این ابزار بیشتر آشنا کنیم.

تاریخچه کوردوا

آیا کوردوا همان فون گپ است؟
آیا کوردوا همان فون گپ است؟


توسعه دهندگان هنگام جست‌وجو برای حل مشکلاتی که حین توسعه پیش می‌آید، ممکن است با دیدن عناوین کوردوا و فون گپ (PhoneGap) مقداری گیج شوند! برای حل این مشکل بهتر است قبل از یادگیری و کار با کوردوا، تاریخچه‌ای از آن را مطالعه کنید.

ابتدا خبری از نام کوردوا نبود و پروژه به صورت آزمایشی توسط مهندسین یک شرکت کانادایی به نام Nitobi در اواخر سال ۲۰۰۸ انجام شد. بعدها آن‌ها توانستند حاصل تلاش‌های خود را به صورت یک فریم ورک درآورده و نام پروژه خود را نیز فون گپ گذاشتند. علت این نامگذاری این بود که پروژه آن‌ها توانسته بود خلأ بین امکانات دستگاه قابل حمل و وب اپلیکیشن‌ها را پر کند.

با پیشرفت پروژه و افزایش قابلیت‌های آن در سال ۲۰۱۱، شرکت بزرگ ادوبی این پروژه را خریداری کرده و فریم ورک فون گپ به بنیاد آپاچی اهدا شد. در نهایت این پروژه به کوردوا تغییر نام داد.

از آنجایی که هم اکنون هم فون گپ وجود دارد و هم آپاچی کوردوا، ممکن است هنگام جست‌وجو با مشکلاتی روبرو شوید. ممکن است لازم باشد برای پیدا کردن مستندات موردنیاز خود، هر دو گزینه را به عنوان کلمه کلیدی در هنگام جستجو بکار بگیرید. در واقع کوردوا یک نسخه متن باز از پروژه اولیه است، در حالی که فون گپ تحت برند ادوبی به حیات خود ادامه می‌دهد.

بهره مند شدن از بعضی از سرویس‌ها در فون گپ با پرداخت پول به ادوبی انجام می‌شود، مانند سرویس PhoneGap Build.

با این وجود، تفاوت اندکی میان فون گپ و کوردوا وجود دارد. تفاوت‌های بسیار کوچکی در ظاهر خط فرمان وجود دارد اما عملکرد هر دو به یک صورت است.

در نظر داشته باشید که نمی‌توانید دو پروژه را به صورت ترکیبی در یک اپلیکیشن به کار بگیرید.

ویژگی‌ های مهم کوردوا

در این قسمت از آموزش cordova، به معرفی مهم‌ترین ویژگی‌های آن خواهیم پرداخت.

مهم‌ترین ویژگی‌های کوردوا را می‌توان در موارد زیر خلاصه کرد:

۱. مؤلفه‌های هسته‌ای کوردوا:

کوردوا مؤلفه‌های گوناگونی را فراهم می‌کند که می‌توانند نیازهای مربوط به توسعه یک اپلیکیشن موبایل را رفع کنند. این مؤلفه‌ها، پایه‌های یک اپلیکیشن را ساخته و به شما کمک می‌کند تا روی طراحی منطق اپلیکیشن تمرکز کنید.

۲. خط فرمان کوردوا:

با استفاده از این ابزار می‌توانید فرآیند‌های مختلف را اجرا کرده و پلاگین‌های مختلف را برای پلتفرم‌های گوناگون نصب کنید. از خط فرمان برای ساخت و اجرای پروژه‌ها استفاده شده و اجرای فرآیند‌های مختلف در آن بسیار ساده است.

۳. پلاگین‌های کوردوا:

این پلاگین‌ها، رابط برنامه نویسی کاربردی را برای دسترسی اپلیکیشن ما به امکانات دستگاه فراهم می‌کنند. پلاگین‌ها برای دسترسی به امکاناتی مانند دوربین، باتری، مخاطبین و غیره استفاده می‌شوند.

مزایای کوردوا

مهم‌ترین مزایای آپاچی کوردوا عبارت‌اند از:

· کوردوا متن باز است

· یادگیری کوردا آسان است

· توسعه اپلیکیشن برای پلتفرم‌های مختلف به وسیله آن به آسانی انجام می‌شود

· بدون نیاز به یادگیری یک زبان برنامه نویسی جدید می‌توان با استفاده از کوردوا برای چند پلتفرم یک اپلیکیشن طراحی کرد

· توسعه اپلیکیشن در کوردوا به سرعت انجام می‌شود

· ساخت نمونه اولیه (Prototype) با استفاده از کوردوا به آسانی صورت می‌گیرد

· پلاگین‌های از پیش توسعه داده شده‌ای برای استفاده از امکانات دستگاه نظیر موقعیت مکانی و دوربین در کوردوا تعبیه شده است

· کتابخانه‌ها و فریم ورک‌های فراوانی توسط جامعه توسعه دهندگان برای کوردوا نوشته شده است

روش‌های اصلی برای توسعه محصول با کوردوا

در آموزش cordova، دو روش اصلی برای توسعه شرح داده می‌شود.

روش cross-platform: اگر قصد دارید تا اپلیکیشن شما تا حد ممکن در تمام پلتفرم‌ها بدون کمترین مشکلی اجرا شود بدون این که نیاز باشد تا قواعد مربوط به توسعه برای هر پلتفرم را رعایت کنید، باید مسیر cross-platform را در پیش بگیرید. مهم‌ترین ابزاری که از توسعه در این مسیر پشتیبانی می‌کند، خط فرمان کوردوا یا همان Command-Line Interface است. با استفاده از این ابزار می‌توانید اپلیکیشن‌های سطح بالایی را طراحی کرده و برای پلتفرم‌های مختلف بسازید. این مسیر، مسیری است که اکثر توسعه دهندگان در پیش می‌گیرند.

روش platform-centered: اگر قصد دارید تا اپلیکیشن خود را برای یک پلتفرم خاص توسعه دهید، باید مسیر platform-centered (توسعه مبتنی بر یک پلتفرم خاص) را در پیش بگیرید. در این مسیر، قادر خواهید بود تا کد خود را به گونه‌ای بنویسید که قابلیت‌های پایه‌ای آن پلتفرم خاص با قابلیت‌های کوردوا ترکیب شود. اگرچه می‌توانید این روش توسعه را برای طراحی اپلیکشین به منظور استفاده در پلتفرم‌های مختلف نیز در پیش بگیرید، اما روند توسعه بسیار زمان‌بر خواهد بود.

معمولاً توصیه می‌شود که روش اول را در پیش بگیرید، چرا که در آن مسیر جابجایی بین پلتفرم‌های مختلف نسبتاً سرراست است. اما اگر با در پیش گرفتن مسیر دوم کار خود را شروع کنید، قادر نخواهید بود تا برای توسعه بین پلتفرم‌های مختلف جابجا شوید. علت این مشکل این است که خط فرمان کوردوا، شخصی‌سازی‌هایی که برای یک پلتفرم خاص در نظر گرفته‌اید را در هنگام اجرا مدنظر خود قرار نخواهد داد.

برای نصب و کار با کوردوا به چه پیش نیازهایی احتیاج است؟

زبان‌هایی که باید پیش از یادگیری کوردوا آن‌ها را یاد بگیرید: اچ تی ام ال، سی اس اس و جاوا اسکریپت
زبان‌هایی که باید پیش از یادگیری کوردوا آن‌ها را یاد بگیرید: اچ تی ام ال، سی اس اس و جاوا اسکریپت


برای کار با کوردوا نیاز است تا با زبان‌های زیر آشنا باشید:

· اچ تی ام ال

· سی اس اس

· جاوا اسکریپت

همچنین اگر با فریم ورک‌هایی که برای ساخت وب اپلیکیشن‌های تک صفحه‌ای استفاده می‌شوند کار کرده باشید (مانند فریم ورک‌های انگولار، ری اکت و ویو) ، می‌توانید راحت‌تر کار با کوردوا را یاد بگیرید. در همین زمینه برای کسب آمادگی به منظور شروع آموزش cordova، می‌توانید به صفحات زیر در فرادرس مراجعه کرده و آموزش‌های مرتبط با زبان‌ها و فریم‌ ورک‌هایی که برای کار با کوردوا موردنیاز هستند را یاد بگیرید.

علاوه بر این، قبل از نصب و اجرای هر چیزی که با کوردوا در ارتباط باشد، باید کیت توسعه نرم افزار (Software Development Tool یا SDK) برای هر پلتفرمی که قصد توسعه اپلیکیشن برای آن دارید را نصب کنید.

چون تمرکز آموزش ما روی توسعه اپلیکیشن برای پلتفرم اندروید است، نحوه نصب کیت توسعه نرم افزار برای اندروید را توضیح خواهیم داد. اما نصب SDK برای هر پلتفرم دیگری نیز از روش مشابهی پیروی خواهد کرد.

می‌توانید Android SDK را برای ویندوز از لینک زیر دانلود کنید:

دانلود کیت توسعه نرم افزار اندروید برای ویندوز

پس از نصب کیت توسعه نرم افزار، باید پوشه‌های sdk/tools و sdk/platform-tools را به متغیر Path سیستم خود اضافه کنید. این متغیر توسط کوردوا استفاده می‌شود تا بتواند فرآیندهای موردنیاز خود را پیش ببرد. اگر از قبل جاوا را نصب نکرده باشید، باید جاوا و Ant را نیز در کنار هم نصب کنید. به همین منظور باید JDK و Ant را دانلود کرده و برای مقادیر ANT_HOME و JAVA_HOME، پوشه‌های bin جاوا و Ant را مشخص کنید. همچنین مقدار ANDROID_HOME را نیز باید برابر Android/Sdk قرار دهید. تمامی مقادیری که با HOME تمام می‌شوند را باید در متغیر PATH سیستم خود قرار دهید.

پس از نصب کیت توسعه نرم افزار اندروید، دستور android برای شما در خط فرمان در دسترس خواهد بود. با اجرای این دستور، SDK Manager باز شده و می‌توانید آخرین ابزار و APIهای اندروید را نصب کنید.

برای کار با کوردوا باید نود جی اس را دانلود و نصب کنید
برای کار با کوردوا باید نود جی اس را دانلود و نصب کنید


خط فرمان کوردوا به نود جی اس (Node.js) و کلاینت گیت (Git Client) وابسته است. بنابراین باید نود جی اس را از لینک زیر:

دانلود نود جی اس

و گیت را از لینک زیر:

دانلود گیت

دانلود کنید. برای آشنایی بیشتر با گیت می‌توانید آموزش‌ زیر را در فرادرس مشاهده کنید.

از npm برای نصب خط فرمان کوردوا و پلاگین‌های اضافی استفاده خواهید کرد. همچنین کوردوا در پشت صحنه از گیت برای دانلود وابستگی‌های مورد نیاز استفاده خواهد کرد.

دستور زیر را در خط فرمان برای نصب کوردوا تایپ و اجرا کنید:

npm install -g cordova

به طور خلاصه، به بسته‌های نرم افزاری زیر برای استفاده از کوردوا نیاز خواهید داشت:

· جاوا

· Ant

· کیت توسعه نرم افزار اندروید

· نود جی اس

· گیت

همچنین باید مسیرهای زیر را نیز اصلاح و در نهایت به متغیر PATH سیستم خود اضافه کنید:

· JAVA_HOME

· ANT_HOME

· ANDROID_HOME

ایجاد اولین پروژه با استفاده از کوردوا

در این قسمت از آموزش cordova، می‌توانید نحوه ایجاد اولین پروژه خود را یاد بگیرید.

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

cordova –version

اگر نصب کوردوا به درستی انجام شده باشد، حال می‌توانید به دستورات مرتبط با کوردوا در خط فرمان دسترسی داشته باشید. خط فرمان خود را باز کرده و به پوشه‌ای که می‌خواهید اولین پروژه خود را در آن ایجاد کنید بروید.

پس از مشخص کردن پوشه، دستور زیر را در خط فرمان تایپ و اجرا کنید:

cordova create toptal toptal.hello HelloToptal

دستور بالا از چند بخش تشکیل شده است. یکی دستور اصلی cordova و دیگری دستور فرعی ctreate. دستور فرعی create خود شامل سه پارامتر است:

· پوشه‌ای که اپلیکیشن در آن قرار گرفته است

· فضای نام اپلیکیشن

· نام نمایشی اپلیکیشن

اجرای این دستور، اپلیکیشن را در پوشه‌ای با ساختار زیر خواهد ساخت:

toptal/

|-- hooks/

|-- platforms/

|-- plugins/

|-- www/

`-- config.xml

فایل www شامل هسته اپلیکیشن است. در این فایل است که کد اپلیکیشن قرار گرفته و این کد برای تمام پلتفرم‌ها قابل استفاده است.

در فایل config.xml نیز می‌توانید متادیتا اپلیکیشن خود شامل نام توسعه دهنده و توضیحات مربوط به اپلیکیشن را تغییر دهید.

اولین پلتفرم خود را می‌توانید با اجرای دستور زیر اضافه کنید:

cordova platform add android

اگر در آینده پشیمان شدید، می‌توانید پلتفرم را به راحتی با اجرای دستور زیر حذف کنید:

cordova platform rm android

اگر به پوشه platforms مراجعه کنید، می‌توانید پوشه‌ای به نام android را مشاهده کنید (پس از ساخت پلتفرم اندروید). به ازای هر پلتفرمی که اضافه کنید، کوردوا یک پوشه جدید را در پوشه platforms ایجاد کرده و پوشه www را نیز در آن کپی خواهد کرد. برای مثال اگر بخواهید اپلیکیشن خود را برای پلتفرم اندروید شخصی سازی کنید، باید فایل‌های موجود در مسیر زیر را دستکاری کنید:

platforms/android/assets/www

به خاطر داشته باشید که هنگام توسعه چند پلتفرمی، اگر اپلیکیشن خود را با استفاده از خط فرمان از نو بسازید، کوردوا تغییرات اعمال شده توسط شما را برای تمام پلتفرم‌ها اعمال خواهد کرد.

سخن پایانی درباره آموزش کوردوا

در این مطلب از آموزش cordova سعی شد تا مفاهیم کوردوا و نحوه کار با آن به زبان ساده توضیح داده شود. به شما پیشنهاد می‌کنیم در راستای درک بهتر این مطلب به فرادرس مراجعه کنید.

در این سایت می‌توانید آموزش‌های کاربردی و کاملی در زمینه برنامه نویسی وب و توسعه اپلیکیشن پیدا کنید.