از میان تمام ملاحظاتی که هنگام طراحی اپلیکیشن موبایل باید در نظر گرفت، مهمترین مسئله انتخاب معماری اپلیکیشن است. آیا باید یک اپلیکیشن نیتیو طراحی کرد یا یک اپلیکیشن وب ویو؟ آیا باید سعی در طراحی اپلیکیشنی داشت که در همه سیستم عامل های تلفن همراه کار کند؟ هیچ پاسخ یکتایی برای این سوالات وجود ندارد اما از جمله فاکتورهایی که هنگام توسعه اپلیکیشن باید در نظر داشت عبارتند از:
- مخاطبان هدف؛ چه کسانی از برنامه استفاده خواهند کرد؟
- سیستم عامل های هدف؛ چه دستگاه هایی هدف قرار می گیرند؟
- ویژگی ها و قابلیت های برنامه؛ چه ویژگی هایی در برنامه وجود دارد؟از چه ویژگی های سخت افزاری (میکروفون، دوربین، 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 اجرا نمیشود.
هزینه و جدول زمانی
هزینه و جدول زمانی فاکتورهای مهمی در بیشتر پروژههای نرمافزاری هستند. اپلیکیشن نیتیو باید برای هر سیستم عاملی جداگانه نوشته شوند و بنابراین اگر قصد ساخت برنامه بر روی چندین سیستم عامل را دارید، هزینه زیادی متحمل خواهید شد. از نظر تئوری اپلیکیشنهای وبویو گزینه کمهزینهتری جهت توسعه بین سیستم عاملی است اما متأسفانه در پایان یک پروژه وبویو زمان زیادی صرف برطرف کردن ناسازگاریها میشود. با این وجود، ایجاد یک بیس کد واحد همیشه هزینه کمتری نسبت به تهیه سه بیس کد جداگانه دارد.
شرکت سیتی نت ارائه دهنده خدمات وب سرویس و سیستم رزرواسیون آنلاین آژانس های گردشگری
جمعبندی
انتخاب معماری اپلیکیشن به نیازهای ما بستگی دارد و هیچ گزینه یکتایی وجود ندارد، نیازها و اهدافتان را در مقابل تواناییها، مزایا و معایب هر معماری قرار دهید و ببینید که بهترین انتخاب برای شما چیست.