گسترش عجیب اپلیکیشن های هایبرید (چند سیستم عاملی)

امکانات بالای SDK در سیستم عامل iOS

 

هایبرید اپلیکیشن
هایبرید اپلیکیشن ها سوال های زیادی را برای برنامه نویسان ایجاد کرده اند

اخیرا شاهد بحث هایی در مورد بخش خاصی از iOS SDK هستیم که به برنامه نویسان امکان تعبیه محتوای وب را در درون اپلیکیشن هایشان می دهد. این کلاس خاص، یعنی UIWebView، این فرصت را در اختیار برنامه نویسان قرار می دهد تا بتوانند از طریق تعبیه کردن (embed) اپلیکیشن های تحت وب خود در درون یک کانتینر Native (نمایش دهنده ی محتوا)، وب اپلیکیشن های خود را به شکل اپلیکیشن های Native بسازند!

این روش برای برنامه نویسی اپلیکیشن روشی جالب و بحث برانگیز است. البته این روش مزایا و معایبی نیز دارد که بزرگترین آنها سازگاری با پلتفرم های مختلف است. امروز می خواهیم نگاهی بر اپلیکیشن های تحت UIWebView داشته باشیم و ببینیم که آیا این اپلیکیشن ها برای برنامه نویسان و مشتریان مفید هستند یا خیر؟

اپلیکیشن تحت UIWebView چیست؟

این دسته از اپلیکیشن ها، موبایل اپلیکیشن های Native هستند که ویژگی های Native آن فقط در پنجره ای از محتوای وب توسعه می یابد! (امیدوارم معنی این جمله را فهمیده باشید). برای درک بیشتر این مبحث به این مقاله حتما سر بزنید :

با html و جاوا اسکریپت، اپلیکیشنتان را بسازید و آن را تبدیل به نرم افزار کنید

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

همانطور که قبلا گفته شد، یکی از متد های اصلی برای ساخت این اپلیکیشن ها (بر روی پلتفرم اپل iOS)، از طریق کلاس UIWebView، بخشی از iOS SDK می باشد که به برنامه نویس اجازه ی تعبیه ی محتوای وب را می دهد، است.

“شما از کلاس UIWebView برای تعبیه ی محتوای وب در اپلیکیشن خود استفاده می کنید. برای انجام این کار، یک شیء UIWebView ایجاد کرده، آن را به یک پنجره attach کرده و درخواستی را برای بارگذاری یک آدرس وب به آن ارسال می کنید. همچنین می توانید از این کلاس برای عقب و جلو رفتن در history صفحات وب استفاده کنید. حتی می توانید برخی از خصوصیات محتوای وب را از طریق برنامه نویسی مشخص کنید”.

علاوه بر این، سرویس های خارجی (third-party) نیز وجود دارند که به تسهیل این نوع برنامه نویسی کمک می کنند. cordova یک فریم ورک برای ساخت موبایل اپلیکیشن می باشد که به عنوان یک پلتفرم HTML Application توصیف می شود و به برنامه نویسان امکان ساخت اپلیکیشن های Native را با استفاده از تکنولوژی های وب می دهد. cordova از پلتفرم های iOS، آندروید، بلک بری، Symbian، WebOS و ویندوز فون ۷ پشتیبانی می باشد.

 

مزایا و معایب:

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

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

علاوه بر این، در اپلیکیشن های تحت وب، برنامه نویسان می توانند خیلی ساده تر آن را آپدیت کرده و بدون نیاز به اقدامی از سوی کاربر، سرویس های آن را تغییر داده یا اصلاح کنند که این خود مزیتی بر برنامه نویسی سریع اپلیکیشن ها می باشد.

معایب مهمی هم وجود دارد که باید آنها را در نظر گرفت. اول از همه این که داشتن اپلیکیشنی که با کد های Native یک دستگاه نوشته نشده باشد به این معناست که این اپلیکیشن نمی تواند به طور کامل از دستگاه استفاده کرده و توانایی یکپارچه سازی جنبه های مختلف سخت افزار بسیار محدود خواهد بود (دسترسی به فایل های موجود بر روی دستگاه، دوربین، شتاب سنج و غیره امکان نخواهد داشت). علاوه بر این، عملکرد خوبی ارائه نخواهد شد زیرا اپلیکیشن ها نمی توانند به طور کامل از قدرت دستگاه استفاده کنند. در iOS 4، وب اپلیکیشن هایی که از home screen راه اندازی نمودیم نتوانستند مانند زمانی که آنها را در اپلیکیشن Safari اجرا می کنیم، از عملکرد قدرتمند جاوا اسکریپت بهره مند شوند.

البته وب اپلیکیشن ها قطعا به وب نیاز دارند و نبود اینترنت باعث جلوگیری از استفاده ی شما از اپلیکیشن می شود.

نتیجه گیری:

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

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

 

میلاد خان محمدی

Author: میلاد خان محمدی

پژوهشگر, نویسنده و علاقه مند به تکنولوژی های مختلف وب علی الخصوص front end هستم، مدیر دپارتمان هایبرید اپلیکیشن در موسسه ی iShia

2 thoughts on “گسترش عجیب اپلیکیشن های هایبرید (چند سیستم عاملی)”

  1. سلام با تشکر از مطالب خوبتون
    از زمانی که رامشگر را ارائه دادم بسیاری از کاربران تقاضای اپ موبایل را داشتن
    با توجه به اینکه برای اپ‌های رامشگر سرعت اجرا مساله مهمی هست ایا فکر می‌کنید ساختن اپ هایبریدی مناسب هست؟

    1. ساخت اپ هایبرید مزایای زیادی داره، من خودم در آخرین اپی که ساختم تنها مشکلم حرکت اسکرول بود که وقتی مطالب زیاد بود اسکرول کمی کند میشد. اما در همین اپ تونستم امکاناتی مثل share در شبکه های اجتماعی، ویبره ی دستگاه زمانی که مطلب جدیدی میرسه، استفاده از Local notification های خود سیستم عامل و … استفاده کنم. در واقع هیجان انگیز بودن روش هایبرید اینه که از تمام قدرت وب و native میشه استفاده کرد.
      جناب شادمهری تصمیم با شماست برای استفاده از این روش، نظر من اینه که جامعه ی مخاطبتون اگر خاص هستن و مطمئنید که گوشی های نسبتا قوی ای دارند (حداقل از ۲ سال پیش به این طرف) می تونید از این تکنیک استفاده کنید.
      در اپلیکیشنی که ما ساختیم اگر مجبور نبودیم اسکرول طولانی داشته باشیم سایر موارد خیلی خوب جواب داد.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *