cordova چیست
در این مقاله می خوایم در مورد cordova صحبت کنیم و ببینیم که چجوری میشه ازش استفاده کرد، همچنین بعد ازمعرفی اون در مورد مزایا و معایبش صحبت کنیم . اما قبل از این که به موضوع مقاله یعنی ” cordova چیست ” بپردازیم ، باید شما با چند اصطلاح آشنا باشید . اولین اصطلاحی که ما باهاش مواجه ایم عبارت cross platform یا چند سکویی هست که ما درقسمت ابتدایی مقاله توضیحات زامارین ، بهش اشاره کردیم . ( به طور خلاصه برنامه های چند سکویی یا cross platform برنامه هایی هستن که برای اجرا، محدود به یک پلتفرم خاص نیستن و قابلیت اجرا در چند پلتفرم یا همون سیستم عامل مختلف رو دارن)
حتما با عبارت open source ( متن باز ) هم آشنا هستید، پروژه های متن باز پروژه هایی هستند که دسترسی عموم به منبع پروژه آزاد هست. ( عموما منظور از منبع پروژه همون کد های سازنده ی محصول هست)
عبارت بعدی که باید با اون آشنا باشید فون گپ (phone gap) هستش ، در واقع همه چیز از فون گپ شروع شد !!
در سال 2009 ، phone gap بهواسطهی استارت آپی به نام Nitobi با هدف ایجاد یک راه حل برای ساخت اپلیکیشنهای موبایل با تکنولوژیهای تحت وب شروع به کار کرد و چند سال بعد یعنی در حوالی سال 2011 ، پیشرفت های این استارتاپ باعث شد که شرکت Adobe ، برای خرید این استارتاپ به همراه حق مالکیت phone gap اقدام کنه .هدف phone gap این بود که با استفاده از کد های HTML , CSS , JavaScript یا همون برنامه نویسی تحت وب بتونیم اپلیکیشن های موبایل تولید کنیم. البته این ایده کامل تر شد و محیط کراس پلتفرمی شکل گرفت که با کد نویسی وب می تونستیم خروجی رو روی سیستم عامل های مختلفی اجرا کنیم.
نحوه کار کوردوا
بعد از اجرای phone gap شرکت adobe تصمیم گرفت این پروژه رو به صورت open source ادامه بده و مراحل کار رو به یکی از غول های حامی محصولات متن باز یعنی شرکت Apache بسپره.
شرکت آپاچی هم بعد از تغییراتی که در هسته برنامه ایجاد کرد محصول open source خودش رو با اسم جدیدی به بازار عرضه کرد این اسم چیزی نبود جز Apache Cordova .
هدف خالقان Cordova یافتن یک راه ساده برای تولید اپلیکیشنهای چند سکویی موبایل بود که برای رسیدن به این هدف تصمیم گرفتند از تکنولوژیهای بومی (native) و تکنولوژیهای وب استفاده کنند.( به این نوع از اپلیکیشنهای موبایل، Hybrid Application میگن)
به عبارت خلاصه ترشما با کد نویسی وب در cordova می تونید برای سیستم عامل های مختلفی خروجی تولید کنید.
پلتفرم های پشتیبانی کننده از کوردوا
بعضی این سیستم عامل عبارتند از:
Android , IOS , Blackberry
Tizen ,Ubuntu ,WebOS
Windows (desktop) ,Windows Phone 7 ,Windows Phone 8
Symbian , FirefoxOS , Bada ,Mac OS X ,Qt
در حال حاضر فرم ورک های مختلفی برپایه cordova ساخته شده اند که عبارتند از :
Ionic و Monaca و TACO و Intel XDK و Telerik Platform
در مورد این فرم ورک ها بعدا به صورت مفصل تر صحبت میکنیم، فعلا در همین حد کافیه بدونید که این فرم ورک ها دیگه با phone gap سازگار نیستند و فقط کد های cordova رو در هسته خودشون دارن.
در ضمن شرکت های Adobe, BlackBerry, Google, IBM, Intel, Microsoft و Mozilla در پروژه cordova با آپاچی همکاری میکنن
خب فکر کنم دیگه با cordova به صورت کامل آشنا شده باشید ، حالا باید ببینیم که مزایا و معایب استفاده از این محیط چی هست.
مزایای استفاده از Cordova:
محیط برنامه نویسی قدرتمند
هسته اصلی کدهای همه اپلیکیشنها تولید شده شبیه به هم است
نیازی به یادگیری زبانهای مربوط به هر پلتفرم را ندارید
کم هزینه و زمان کمتر
طراحی رابط گرافیکی سریع و منعطف به کمک HTML5 , CSS3
برنامه نویسی آسان و سریع با javascript , Typescript
قابلیت اجرا بر روی چندین پلتفرم مختلف(Android,iOS,Widnows Phone )
قابلیت استفاده از فریمورکهای تحت وب مانند Bootstrap , Angular JS, …
قابلیت طراحی پلاگین برای ارتباط با سیستم عامل
مناسب برای برای برنامههای چت و استفاد از وب سرویسها
مناسب برای ساخت بازیهای آنلاین و آفلاین با تکنولوژیهای تحت وب
راحتی کار با آن برای برنامه نویسان تحت وب
معایب استفاده از Cordova :
نداشتن ابزار گزارش خطاهای مناسب؛ درنتیجه برطرف کردن خطاها خسته کننده خواهد بود .
UI, UX اپلیکیشنها باید به نحوی باشد که کاربر حس کند با نرمافزارهای بومی گوشی کار میکند.
کاهش سرعت اجرایی نسبت به برنامههای native (به دلیل استفاده از WebView)
عدم دسترسی مستقیم به سیستم عامل و امکانات آن
مستندات فنی کمتری نسبت به برنامه های بومی برای آن موجود است.
جمع بندی
به صورت خلاصه cordova پلتفرم متن بازی هست که به صورت چند سکویی عرضه شده و به شما این امکان رو میده که با استفاده از زبان های تحت وب مثل html و css برنامه های مختلفی رو برای سیستم عامل های مختلف مثل اندروید ، آی او اس ، ویندوزفون و … تولید کنید.
این پلتفرم هم مثل هر پلتفرم دیگه ای طرفدارها و مخالف ها ی خاص خودش رو داره ، در کل مهمترین مزیت کراس پلتفرم ها بالا بردن سرعت کار هست.
در مقاله های بعدی بیشتر راجع به فرم ورک های کوردوا و ساز و کار پشت صحنه عملکرد اون با هم صحبت می کنیم. و همچنین سعی میکنم مقایسه بین عمکرد کوردوا و سایر کراس پلتفرم ها رو براتون توضیح بدم.
منبع
http://www.wiadevelopers.com/