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 ,WebOSWindows (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 برنامه های مختلفی رو برای سیستم عامل های مختلف مثل اندروید ، آی او اس ، ویندوزفون و ... تولید کنید.این پلتفرم هم مثل هر پلتفرم دیگه ای طرفدارها و مخالف ها ی خاص خودش رو داره ، در کل مهمترین مزیت کراس پلتفرم ها بالا بردن سرعت کار هست.در مقاله های بعدی بیشتر راجع به فرم ورک های کوردوا و ساز و کار پشت صحنه عملکرد اون با هم صحبت می کنیم. و همچنین سعی میکنم مقایسه بین عمکرد کوردوا و سایر کراس پلتفرم ها رو براتون توضیح بدم.به زودی آموزش های ویدئویی cordova در سایت قرار میگیرد.برای مطالعه این مقاله در وب سایت ویادولوپرز اینجا کلیک کنید.