phonegap و cordova به درد بخور هستند؟

phonegap و cordova به درد بخور هستند؟

روش های مختلفی برای تولید نرم افزارهای موبایل وجود دارد. یکی از روش های همیشگی، تهیه برنامه های native مخصوص هر سیستم عامل است. ولی همان طور که cross platform بودن در دنیای دسکتاپ همیشه موضوع جذابی بوده است، در دنیای موبایل هم شرکت های تولید کننده زیرساخت های نرم افزاری، به طور جدی به دنبال آن بوده و هستند.

در مبحث cross platform نیز روش های متفاوتی وجود دارد.

  • نوشتن برنامه با زبان خاص و کامپایل و deploy کردن به چند سیستم عامل (appceleratorxamarin)
  • نوشتن برنامه با استفاده از webview مانند cordovaphonegapAppGyver

موضوع این مطلب بررسی و مقایسه این دو نوع تکنولوژی یا بررسی هر یک از این فریم ورک ها نیست.  مسئله ای که میخواهم بررسی کنم این است که، آیا cordova به درد بخور هست یا نه؟

تکنولوژی هایی که کدهای نوشته شده برنامه نویس را به سیستم عامل مربوطه کامپایل می کنند از نظر کارایی یکی از بهترین گزینه ها هستند این تکنولوژی ها برنامه نویس ها را قادر می سازند امکانات native هر سیستم عامل را در اختیار داشته باشند.

تکنولوژی های دیگری مانند cordova به برنامه نویس امکان package کردن یک برنامه وب را به صورت یک برنامه موبایل می دهند. به طور مثال برنامه نویس برنامه وبی می نویسد که قابلیت  نصب روی دستگاه و  ارسال اس ام اس از دستگاهی دارد که روی آن نصب شده است را دارد.

موارد مهم webview application ها به طور خلاصه به صورت زیر است.

  • برنامه در یک مرورگر داخلی که در یک برنامه native جاسازی شده است، اجرا می شود
  • به تیم برنامه نویسی امکان می دهد که از تمام تخصص وب خود استفاده کنند
  • به راحتی قابل انتقال به سیستم عامل های مختلف است
  • در طراحی گرافیک دست تیم تولید را بیشتر باز می گذارد (چون بالاخره از html و css استفاده می کند)
  • با این حال که برنامه، یک برنامه وب است، قابلیت استفاده از برخی امکانات دستگاه را دارد
  • هزینه های طراحی و پیاده سازی نرم افزار را پایین می آورد

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

اگر یک برنامه نویس وب باشید و به دنیای موبایل هم علاقه داشته باشید، با خواندن مطالب بالا احتمالا با خود خواهید گفت چه عالی، برویم cordova را بگیریم و شروع کنیم به app تولید کردن.

نکته مهمی که قصد گفتن آن را دارم اینجاست. اینکه قبل از انتخاب خود مشخص کنید دقیقا قصد چه کاری دارید؟ اکوسیستم ای که قصد فعالیت در آن دارید چگونه است؟ با چه app هایی رقابت خواهید کرد؟ طبق مطالبی که در پست گذشته گفتم، اولین سوال را از خودتان بپرسید. این که آیا واقعا cordova جواب سوال من است؟ مشکل من را حل خواهد کرد؟

بعضی از دوستان و همکارانم تلاش هایی را با cordova انجام داده اند. ولی به دلیل این که برنامه های تولید شده به این روش در اصل برنامه های تحت وب هستند و محدودیت های خاص برنامه های تحت وب را دارند (مانند کارایی و سرعت رابط کاربری)، به این نتیجه رسیده اند که این تکنولوژی به درد نخور است. باید همیشه برنامه های موبایل به صورت native نوشته شوند.

اشکالی که به این نوع برداشت وارد است، این است که مقایسه نادرستی انجام داده اند. وقتی برنامه ای با تکنولوژی های وب تولید می شود قطعا از نظر کارایی و سرعت رابط کاربری با برنامه های native تفاوت های زیادی خواهد داشت. هیچوقت نباید این دو تکنولوژی را با هم مقایسه کرد. هر یک از این تکنولوژی ها زمینه های کاری مناسب خود را دارند.

برنامه های تولید شده توسط cordova در وهله اول یک برنامه تحت وب هستند، برنامه تحت وبی هستند که قابلیت اجرا دستورات محدودی روی دستگاه میزبان خود را دارند.

کل موضوعی که قصد گفتن آن را داشتم، همین جمله بالا بود.

توجه داشته باشید که برنامه هایی که به هر نحو در مرورگر موبایل بالا می آیند (لااقل در حال حاضر) تمام قابلیت های برنامه های موبایل را از نظر کارایی و رابط کاربری در همه سیستم عامل ها ندارند. پس رقابت کردن با برنامه های native کار خیلی ساده ای نیست.

تلاش در زمینه native مانند کردن برنامه های cordova هم خیلی کار منطقی به نظر نمی رسد. چون این دو تفاوت های ریشه ای با هم دارند  و قطعا تلاش بسیار زیادی را نیز نیاز دارد.

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

cordova ی خوبی داشته باشید!

(71 Posts)

جت آموز یکی از به روز ترین سایت های تولید فیلم های اموزشی فارسی در شاخه های فناوری اطلاعات و نت میباشد.هدف ما ارائه اموزش های با کیفیت و ارزان قیمت به تمامی کاربران است.

    Leave a Reply

    Your email address will not be published. Required fields are marked *