موضوع مقاله: آپاچی کوردوا | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # آپاچی کوردوا | مقدمه: آپاچی کوردُوا (فون گَپ سابق) یک چارچوب توسعه اپلیکیشن موبایل است که توسط نیتوبی (Nitobi) ایجاد شده‌است. | ## بخش 1: آپاچی کوردوا | ادوبی سیستمز در سال ۲۰۱۱ نیتوبی را خریداری کرد، آن را با نام تجاری فون گپ تغییر نام داد و بعداً نسخه منبع باز نرم‌افزاری به نام آپاچی کوردوا (Apache Cordova) را منتشر کرد. آپاچی کوردوا برنامه نویسان نرم‌افزار را قادر می‌سازد به جای تکیه بر واسطهای برنامه‌نویسی کاربردی (API) مبتنی بر پلت فرم خاص مانند اندروید، سیستم عامل iOS یا ویندوز فون، بتوانند برنامه‌های کاربردی وب هیبریدی (ترکیبی) مبتنی بر CSS3، HTML5 و جاوا اسکریپت برای دستگاه‌های تلفن همراه بسازند. برنامه‌هایی که به این روش تولید می‌شوند هیبریدی (ترکیبی) هستند، به این معنی که آنها نه کاملاً برنامه کاربردی نیتیو (ذاتی) تلفن همراه هستند و نه کاملاً مبتنی بر وب هستند. آنها برنامه نیتیو نیستند زیرا تمام رندرینگ لایه نمایش به جای چارچوب رابط کاربری (UI) نیتیو پلتفرم، از طریق نمایشهای وب(Web Views)انجام می‌شود. آنها همچنین برنامه وب نیز نیستند زیرا جهت توزیع به عنوان برنامه کاربردی بسته‌بندی شده‌اند و به APIهای نیتیو دستگاه دسترسی دارند. مزیت‌های استفاده از پلتفرم آپاچی کوردوا برای توسعه اپلیکیشن‌های کراس پلتفرم به شرح زیر است: یک پلتفرم متن-باز است. انعطاف‌پذیری لازم برای ساخت اپلیکیشن‌ها برای پلتفرم‌های مختلف را بدون نیاز به یادگیری زبان‌های جدید برنامه‌نویسی فراهم می‌سازد. توسعه اپلیکیشن‌ها در کوردوا سریع است، زیرا این پلتفرم اپلیکیشن را به پلتفرم‌های دیگر مورد پشتیبانی منتقل می‌کند. | ## بخش 2: آپاچی کوردوا | شامل مجموعه‌ای از پلاگین‌های پیش-ساخته است که به دوربین، GPS و فایل سیستم گوشی دسترسی می‌دهد. معایب آپاچی کوردوا با وجود مزیت‌هایی که برای آپاچی کوردوا برشمردیم، این پلتفرم برخی معایب نیز به شرح زیر دارد: برای اپلیکیشن‌های بزرگ بهینه نیست، زیرا اپلیکیشن‌های هیبرید کندتر از اپلیکیشن‌های نیتیو هستند. برای توسعه بازی مناسب نیست، زیرا به پلاگین‌های پیشرفته‌ای نیاز دارد که هم‌اینک در دسترس نیستند. مشارکت کنندگان در پروژه آپاچی کوردوا شامل ادوبی ،بلک بری، گوگل، آی بی ام ،اینتل، مایکروسافت، موزیلا و سایرین هستند. تاریخچه فون گپ برای اولین بار در یک رویداد کمپ توسعه آیفون (iPhoneDevCamp) در سان فرانسیسکو توسعه یافت، در ادامه برنده جایزه انتخاب مردم در کنفرانس وب ۲٫۰ سال ۲۰۰۹ رسانه اورایلی OReilly شد و از آن به بعد این چارچوب برای توسعه برنامه‌های بسیاری استفاده شده‌است. ادوبی رسماً از تاریخ ۴ اکتبر ۲۰۱۱ از خرید نرم‌افزار نیتوبی (توسعه دهنده اصلی) خبر داد. همزمان با آن، کد فون گپ به بنیاد نرم‌افزار Apache کمک نمود تا پروژه جدیدی را با نام آپاچی کوردوا آغاز کند. بنابراین، در ادوبی سیستمز به عنوان ادوبی فون گپ و همچنین به عنوان ادوبی فون گپ بیلد ظاهر می‌شود. | ## بخش 3: آپاچی کوردوا | این مقاله می‌گوید: «در حالی که داستان‌های پیدایش فون گپاغلب از گوینده یه گوینده دیگر متفاوت است، بیشتر شاهدان می‌توانند توافق کنند که این پروژه در نیتوبی، زمانی که دفتر در خیابان کورذوا در ونکوور بود، متولد شد.» نسخه‌های اولیه فون گپ برای ایجاد برنامه‌های آی او اس به یک کامپیوتر اپل و برای ایجاد برنامه‌های ویندوز موبایل به یک کامپیوتر ویندوز احتیاج داشتند. آپاچی کوردوا را می‌توان با افزونه‌های نیتیو گسترش داد که به توسعه دهندگان این امکان را می‌دهد که قابلیت‌های عملیاتی بیشتری را که می‌توان از JavaScript فراخوانی کرد، به برنامه اضافه کنند و این امر باعث می‌شود مستقیماً بتوان بین لایه نیتیو و صفحه HTML5 ارتباط برقرار نمود. این پلاگین‌ها امکان دسترسی به شتاب سنج دستگاه، دوربین، قطب‌نما، سیستم فایل، میکروفون و موارد دیگر را فراهم می‌کنند. با این حال، استفاده از فن آوری‌های مبتنی بر وب باعث می‌شود برخی از برنامه‌های آپاچی کوردوا کندتر از برنامه‌های نیتیو با عملکرد مشابه عمل کنند. ادوبی سیستمز هشدار می‌دهد که اپلیکیشن‌های ساخته شده با آپاچی کوردوا ممکن است توسط اپل به دلیل کندی بیش از حد یا عدم القای احساس «نیتیو بودن» رد شوند (داشتن ظاهر و عملکرد مطابق با انتظارات کاربران در سیستم عامل). سیستم عامل‌های پشتیبانی شده آپاچی کوردوا Apache Cordova از نسخه ۹ به بعد از توسعه سیستم عامل‌های اپل آی او اس، گوگل اندروید، ویندوز فون ۸٫۱، ویندوز ۸٫۱، ویندوز ۱۰ و الکترون (چارچوب نرم‌افزار) (که به نوبه خود در ویندوز، لینوکس و مک او اس اجرا می‌شود) پشتیبانی می‌کند. | ## جمع‌بندی | نسخه قبلی آپاچی کوردوا از بادا، بلک بری، فایرفاکس او اس، ال جی وب او اس، مایکروسافت ویندوز فون(۷ و ۸) ،نوکیا سیمبین او اس، تایزن (SDK 2.x) و اوبونتو تاچ پشتیبانی می‌کرد.