نرم افزارهای موبایل hybrid سازمانی (Enterprise)

Apache_Cordova1

اگر با اکوسیستم نرم افزارهای سازمانی (Enterprise) آشنا باشید، حتما این موضوع را متوجه شده اید که روند نیاز به نرم افزارهای موبایل در زمینه های سازمانی نسبت به چند سال گذشته رشد زیادی داشته است. اکثر نرم افزارهای سازمانی محصولی (off the shelf) یا اختصاصی دارای یک یا چند نرم افزار موبایل جهت سهولت در استفاده از نرم افزار اصلی و پایه هستند.

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

software-home

به طور کلی روش های نوشتن نرم افزارهای موبایل به سه روش تقسیم بندی می شوند.

  • نرم افزارهای native
  • نرم افزارهای cross platform با استفاده از فناوری های xamarin و …
  • نرم افزارهای موبایل با استفاده از webview در یک برنامه native یا همان نرم افزارهای hybrid

احتمالا به اندازه کافی با تولید نرم افزارهای موبایل با استفاده از فناوری های native آشنا هستید. به طور مثال نرم افزارهای موبایل اندرویدی با استفاده از زبان جاوا تولید می شوند و نرم افزارهای iOS ای نیز با استفاده از swift یا objective c.

نوع دیگری از برنامه نویسی موبایل روش hybrid است که فناوری های مورد استفاده در این روش html و جاواسکریپت هستند. در این روش معمولا برنامه شامل یک webview خواهد بود که با طول و عرض صد در صد در برنامه بارگزاری شده است. و هر کدی که برنامه نویس تولید کند در آن webview اجرا خواهد شد.

برای مطالعه بیشتر در این زمینه می توانید به لینک های زیر مراجعه کنید:

شروع کار با Apache Cordova در ویژوال استودیو #۱

شروع کار با Apache Cordova در ویژوال استودیو #۲

شروع کار با Apache Cordova در ویژوال استودیو #۳

شروع کار با Apache Cordova در ویژوال استودیو #۴

شروع کار با Apache Cordova در ویژوال استودیو #۵

مزایا و معایب استفاده از جاوااسکریپت و html

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

  • استفاده از دانش موجود برنامه نویسی برنامه نویسان وب برای تولید نرم افزار موبایل
  • پشتیبانی آسان از سیستم عامل های مختلف به دلیل ذات وب بودن محصول تولید شده
  • ایجاد رابط کاربری با سلیقه های مختلف

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

  • مشکل و دغدغه دایمی کارایی webview در سیستم عامل های مختلف
  • وابسته بودن تیم برنامه نویسی به روش های پیاده سازی در مرورگرهای مختلف
  • عدم وجود دانش کافی برای رفع مشکلات سطح پایین سیستم عاملی در سیستم عامل های مختلف

مزایا و معایب احتمالی تولید نرم افزارهای native

تولید نرم افزار native برای سیستم عامل های مختلف می تواند مزایای زیر را داشته باشد:

  • کارایی بالای نرم افزار تولید شده در هر سیستم عامل
  • قابلیت استفاده بدون محدودیت از امکانات دستگاه و سیستم عامل در حد سطح دسترسی کاربر
  • قابلیت تولید رابط کاربری نزدیک به دیگر نرم افزارهای موبایل در یک سیستم عامل خاص

ولی در کنار این مزایای احتمالی تولید این نوع نرم افزارها، می تواند معایبی نیز داشته باشد

  • سخت و زمان بر بودن تولید نرم افزارهای موبایل برای هر پلتفرم مورد نیاز و در نتیجه هزینه بالای تولید
  • سختی هماهنگ سازی نسخه های مختلف در پلتفرم های مختلف
  • سختی هماهنگی بین تیم های مختلف تولید هر پلتفرم در زمینه انتقال تحلیل های انجام شده به نرم افزار تولید شده

این نکته قابل قبول است که تولید نرم افزارهای hybrid که قابلیت رقابت با معادل های native خود را داشته باشند، بسیار دشوار خواهد بود. و شاید هم غیر ممکن.

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

موضوع این پست نرم افزارهای سازمانی است. و منظور از نرم افزارهای سازمانی نرم افزارهایی مانند: مالی، اتوماسیون، لوجستیک و … است.

مزایای استفاده از فناوری های hybrid جهت تولید نرم افزارهای موبایل سازمانی (Enterprise)

  • استفاده از امکانات استاندارد دستگاههای موبایل که نرم افزارهای سازمانی ممکن است نیاز داشته باشند
    پایگاه داده
    دسترسی به contact
    ارسال sms
    Push notification
    Local notification
    دسترسی به Geolocation
    دسترسی وضعیت باتری
    دسترسی به دوربین
  • سرعت بالا در ارائه نسخه قابل استفاده برای مشتریان
  • قابلیت به اشتراک گذاری تقریبا ۱۰۰ درصد کدهای نوشته شده در نرم افزار موبایل، در سیستم عامل های مختلف. (مخصوصا لایه business)
  • قابلیت استفاده از برخی کدهای جاوااسکریپتی در صورتی که نرم افزار desktop به صورت web نوشته شده باشد
  • استفاده تقریبا ۱۰۰ درصدی از کدهای نوشته شده سمت سرور در صورتی که برنامه desktop به صورت single page نوشته شده باشد
  • قابلیت ارائه نسخه های سبکتری از نرم افزار تحت وب به صورت وبسایت موبایل

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

نیازهای قابل پیاده سازی با فناوری های hybrid 

با توجه به تجربیاتی که در زمینه برنامه نویسی موبایل با استفاده از فناوری های hybrid دارم، به نظر من استفاده از این نوع فناوری ها برای مصارف محدود سازمانی مناسب و به صرفه خواهد بود مانند:

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

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

یافتن موارد دقیقتر قطعا نیاز به مشاوره با افراد متخصص در هر زمینه ای دارد.

2 دیدگاه برای «نرم افزارهای موبایل hybrid سازمانی (Enterprise)»

پاسخ دهید

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