پشتیبانی اپ های موبایلی

یکی از مسائل بزرگ در توسعه اپ های موبایلی پشتیبانی خوب از نرم افزار پس از ارايه نسخه اولیه از نرم افزار هست .

یک اپ خوب از همون روز اول ساخته نمیشه و نخواهد شد . یه اپلیکیشن خوب اپلیکیشنی هست که حداقل ۵ یا ۶ سال سابقه به روز رسانی مداوم داشته باشه از سمت توسعه دهندش و به قول معروف اونو به امون خدا رها نکنه .

به طور مثال من در خیلی از شرکت هایی که برای تولید یک اپلیکیشین رفتم بحثشون این بود که هر چه زود تر نسخه اولیه رو ارائه بدن و تو فکرشون این حرف به معنای انجام ۹۰ درصد پروژه هست !

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

این بهانه های الکی هم که نه ما میریم سراغ یک اپ جدید از این هم پشتیبانی میکنیم دروغی بیش نیست به طور حتم شاید سالی یه بار هم پروژه خودتون رو نگاه نکنید !

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

۱- کد تمیز Clean Code: مرتب کردن کد ها و استفاده از قواعد و اصول درست کد نویسی و استفاده از نرم افزار های کمک کننده در این زمینه مانند SwiftLint یا استفاده از Code Analayzer های موجود در خود IDE ها.

۲- تست Test : نوشتن تست Unit و UI که نگهداری رو به مراتب برای یک اپ ساده تر میکنه و این به نظرم از مورد اولی هم مهم تر هست اما چون مورد اول بازنگری کد به حساب میاد ، اولویت بیشتری بعد از انتشار برنامه داره ، البته در صورتی که از TDD استفاده نکردید.

۳- طراحی مجدد UX : بعد از انتشار قسمت هایی که به نظرتون باید تغییر رویه بدهند و میشه از روند طولانی اون کاست رو انجام بدید.

۴- به چالش کشیدن اپ های دیگه : بعد از انتشار باید به سراغ اپ های مشابه برید و ببینید که اون ها چه نقاط برتری نسبت به شما دارن که در صورت نداشتن اون موارد رو به اپ خودتون اضافه کنید.

۵- امنیت : به فکر امنیت کاربران باشین که در صورت ضربه خوردن در این مورد اعتبارتون به سختی قابل بازگشت هست.

۶- چند زبانه Multi Language : اضافه کردن نسخه انگلیسی یا سایر زبان ها به نرم افزار میتونه باعث تجربه بهتر برای سایر کاربران شما بشه .

۷- کرش Crash : رفع مشکلات گزارش شده روی Crash Repoter ها که شاید به نظر شما اصلا پیش نیاد اما به فکر اونی باشید که دستگاهش چرا با اپ شما مشکل داشته ؟

۸-سازگاری Compatibility : برای نسخه های پایین تر ارزش قائل بشید که بسیار به رشد خودتون کمک میکنه چون باعث میشه روند به روزرسانی یک سیستم عامل هم track کنین ، که به خودی خود کلی چیز جدید تو این مسیر یاد می گیرید .

۹-سرعت Performance : یکی از کارهایی که خودم خیلی زیاد دوسش دارم این قسمت هست که همیشه اولین چیزی که دوست دارم رعایت کنم همین مورد هست. اسکرول کردن باید به قول معروف مثله کره باشه lag و ‌‌stutter ممنوع !

۱۰-بدون اینترنت Offline : این مورد رو به ندرت تو اپ های ایرانی میشه پیدا کرد اما به نظر خود من (که حتی خودم هم انجام نمیدم) تو تجربه کاربری بسیار بسیار لذت بخش هست که کاربر بتونه به دیتا بدون اینترنت دسترسی داشته باشه .

۱۱-نمودارها FlowChart : از من بپرسید برنامه نویسی که نتونه روند کاری اپ رو به صورت چارت توضیح بده برنامه نویس نیست ! چرا؟ چون هنوز نمیدونه اپ داره به چه صورت کار میکنه ! به نظر من حتی در صورت داشتن تیم تحلیل و ارائه چارت ها توسط تیم ، باید یک بار این کار توسط برنامه نویس هم انجام بشه . تازه اون موقع خواهید دید که چقدر دیدتون نسبت به برنامه خودتون عوض میشه !

۱۲-دریافت Feedback : به غیر از دریافت نظر از سمت کارفرما در صورت امکان اپ رو به سایر دوستان یا جامعه برنامه نویسان نشون بدین و feedback جمع کنین . گاهی دوستای برنامه نویس ایده هایی از دنیای خودشون ارائه میکنند که هیچ وقت به فکر شما شاید نرسه.

۱۳-توسعه به صورت Deploy/Integeration : روند انتشار و تست رو به صورت CI/CD در بیارین که شدیدا تو زمان به شما کمک میکنه .(در صورتی که در یک سازمان کار می کنید این مورد شدیدا الزامی هست)

و ... البته مواردی هست که من فعلا حضور ذهن ندارم اما دوستان مطرح کنن حتما اضافه میشه .

همون طور که می بینید یه اپ خوب بعد از حدود ۲ ماه تولید نخواهد شد مگر اینکه با پشتیبانی طولانی مدت . برای مثال شما باید به اپ های معروف یه نگاهی داشته باشین مثله youtube ,twitter , facebook , instagram و... که حداقل هفته ای یک بار بعد از گذشت این همه سال هنوز آپدیت ارائه میکنن .