از میان تمام ملاحظاتی که هنگام طراحی اپلیکیشن موبایل باید در نظر گرفت، مهمترین مسئله انتخاب معماری اپلیکیشن است. آیا باید یک اپلیکیشن نیتیو طراحی کرد یا یک اپلیکیشن وبویو؟ آیا باید سعی در طراحی اپلیکیشنی داشت که در همه سیستم عاملهای تلفن همراه کار کند؟ هیچ پاسخ یکتایی برای این سوالات وجود ندارد اما از جمله فاکتورهایی که هنگام توسعه اپلیکیشن باید در نظر داشت عبارتند از:
- مخاطبان هدف؛ چه کسانی از برنامه استفاده خواهند کرد؟
- سیستم عاملهای هدف؛ چه دستگاههایی هدف قرار میگیرند؟
- ویژگیها و قابلیتهای برنامه؛ چه ویژگیهایی در برنامه وجود دارد؟از چه ویژگیهای سختافزاری (میکروفون، دوربین، GPS و…) استفاده خواهد شد.
- مهارتهای برنامهنویسی، توسعهدهندگان با چه زبانها و سیستم عاملهایی آشنایی دارند؟
- محدودیت زمانی و بودجه
اپلیکیشن نیتیو (Native)
هر برنامهای که در موبایل خود نصب دارید، یک اپلیکیشن نیتیو است. اپلیکیشن نیتیو برنامهای است که مستقیماً روی تلفن هوشمند شما نصب شده و در بیشتر موارد، بدون اتصال به اینترنت، بسته به ماهیت برنامه کار میکند. این برنامهها را میتوانید از برنامههای بازار (مانند Google Play یا بازار یا Apple’s App Store) نصب کنید. آنها به طور خاص برای یک سیستم عامل ساخته شده و میتوانند از ویژگیهای دستگاه نهایت استفاده را ببرند. میتوانند با مهار قدرت پردازنده بسیار سریعتر کار کنند و به سختافزار خاصی مانند GPS دسترسی داشته باشند و در برخی از تلفنهای هوشمند میتواند دستگاههای دیگر را کنترل کند. اپلیکیشنهای نیتیو میتوانند از سیستم اعلان دستگاه نیز استفاده کنند. برنامههای نیتیو معمولاً به زبان پیشفرض پلتفرم تلفن همراه مربوطه توسعه مییابند؛ به عنوان مثال Objective-C در iOS ، جاوا در اندروید و C# در ویندوز فون 7.
اپلیکیشن وبویو (Webview)
اپلیکیشنهای وب ویو، وب اپلیکیشنهای واقعی نیستند. آنها وبسایتهایی هستند که از بسیاری جهات مانند اپلیکیشنهای نیتیو به نظر میرسند، اما مانند آنها پیادهسازی نمیشوند. توسط یک مرورگر اجرا میشوند و معمولا با زبان HTMLنوشته میشوند. دسترسی کاربران به آنها شبیه دسترسی به صفحات وب است یعنی به یک URL خاص هدایت میشوند. بسته به سیستم عامل، اگر کاربر تصمیم به نصب یا بوکمارک کردن برنامه دارد، این برنامهها میتوانند همانند برنامههای نیتیو با استفاده از یک آیکون در صفحه اصلی راهاندازی شوند. برنامههای وب برای دسترسی به اینترنت نیاز دارند. از آنجایی که کد این برنامهها روی وب سرور اجرا میشود و از طریق هیچ فروشگاهی عرضه نمیشود، کد آن را میتوان آزادانه بهروز کرد.
در ادامه به بررسی تفاوت دو معماری در زمینههای عملکرد، توسعه، دسترسی به ویژگیهای سختافزاری، عملکرد آفلاین، هزینه و قابلیت حمل کد بین سیستم عاملهای تلفن همراه خواهیم پرداخت.
در صورتی که به طراحی سایت آژانس هواپیمایی علاقه مندید می توانید به سایت سیتی نت مراجعه نمایید.
فرق اپلیکیشن وب ویو با اپلیکیشن نیتیو
تفاوت این دو نوع اپلیکیشن را از دیدگاههای مختلف زیر بررسی کردهایم:
عملکرد
کد جاوااسکریپت بهکاررفته در وب موبایل توسط مرورگر وب ترجمه میشود و بنابراین در بیشتر موارد از کد نیتیو کامپایلشده، کندتر اجرا شده و در نهایت پردازش انجامشده با کد نیتیو در یک اپلیکیشن نیتیو سریعتر از پردازش مشابه با کد جاوااسکریپ در اپلیکیشن وبویو است.
یکی از نکات کلیدی در سنجش عملکرد، عملکرد رابط کاربری است. تعداد کمی از اپلیکیشنهای وبویو میتوانند یک رابط کاربری روان و با پاسخگویی بالا مشابه اپلیکیشنهای نیتیو ارائه دهند. اگر بهترین عملکرد رابط کاربری و تجربه کاربری عالی مد نظرتان است، از اپلیکیشن نیتیو استفاده کنید اما اگر قصد استفاده از برنامه در چندین سیستم عامل را دارید و تجربه کاربری سطح بالا را در نظر ندارید، پیشنهاد میشود از اپلیکیشنهای وبویو استفاده کنید.
توسعه
اپلیکیشنهای نیتیو را میتوان مستقیماً از استورهای اپلیکیشن در اکثر سیستم عاملهای مدرن دانلود و نصب کرد، باید در نظر داشت که اپ استورها هنگام انتظار برای تایید اپلیکیشنهای جدید یا بهروزرسانی آنها، ناگزیر سبب تاخیرات زمانی میشوند اگر این تاخیر برای اپلیکیشن مسئلهساز است، پیشنهاد میشود از وبویو استفاده کنید.
اپلیکیشنهای وبویو برای نصب نیازی به تأیید فروشنده ندارند، زیرا معمولاً کاربر با وارد کردن URL در مرورگر وب به آنها دسترسی پیدا میکند. اگر نیاز به بهروزرسانی مداوم است، اپلیکیشن وبویو انتخاب خوبی بوده و قابلکشف و دسترسی مستقیم از طریق موتورهای جستجو نیز هست. اگر قصد اعمال خریدهای درون برنامهای را دارید از نیز اپلیکیشنهای وبویو استفاده کنید.
دسترسی به سختافزار
اپلیکیشنهای نیتیو معمولاً به ویژگیهای سختافزاری تلفن همراه، مانند دوربین،GPS ، سیستم فایل، کارتهای حافظه، میکروفون و… دسترسی کامل دارند. اگرچه اپلیکیشنهای وبویو با استفاده از HTML5 در این زمینه پیشرفتهایی داشتهاند اما در اکثر موارد همچنان دسترسی محدودتری به ویژگیهای سختافزاری دارند.
عملکرد آفلاین
اپلیکیشن نیتیو معمولاً عملکرد آفلاین بهتری دارد، زیرا توانایی اجرای فرایندهای پسزمینه را دارند و به راحتی میتوان از حالتهای آفلاین در یک برنامه نیتیو استفاده کرد. اپلیکیشنهای وبویو برای استفاده به دسترسی به اینترنت نیاز دارند، گرچه اخیراً پیشرفتهایی در این زمینه داشتهاند.
قابلیت حمل کد
یکی از مزایای اپلیکیشنهای وبویو این است که کد آن (قسمتهای تحتوب نوشته شده با HTML ، CSS و JavaScript) در سیستم عاملهای موبایل مورد استفاده مجدد قرار گیرد و معمولاً برخی اصلاحات جزئی برای اطمینان از عملکرد درست در مرورگر وب اعمال میشود. از طرف دیگر کد اپلیکیشنهای وبویو در هر سیستم عامل متفاوت است مثلا کد Objective-C در اندروید و کد جاوا در iOS اجرا نمیشود.
هزینه و جدول زمانی
هزینه و جدول زمانی فاکتورهای مهمی در بیشتر پروژههای نرمافزاری هستند. اپلیکیشن نیتیو باید برای هر سیستم عاملی جداگانه نوشته شوند و بنابراین اگر قصد ساخت برنامه بر روی چندین سیستم عامل را دارید، هزینه زیادی متحمل خواهید شد. از نظر تئوری اپلیکیشنهای وبویو گزینه کمهزینهتری جهت توسعه بین سیستم عاملی است اما متأسفانه در پایان یک پروژه وبویو زمان زیادی صرف برطرف کردن ناسازگاریها میشود. با این وجود، ایجاد یک بیس کد واحد همیشه هزینه کمتری نسبت به تهیه سه بیس کد جداگانه دارد.
شرکت سیتی نت ارائه دهنده خدمات وب سرویس و سیستم رزرواسیون آنلاین آژانس های گردشگری
جمعبندی
انتخاب معماری اپلیکیشن به نیازهای ما بستگی دارد و هیچ گزینه یکتایی وجود ندارد، نیازها و اهدافتان را در مقابل تواناییها، مزایا و معایب هر معماری قرار دهید و ببینید که بهترین انتخاب برای شما چیست.