توسعه موبایل اپ ها یا وب سایت ها برای موبایل ها یکی از چالش های قشنگ و پر از یادگیری است .
من قبلا به عنوان یک توسعه دهنده بکند همیشه برام عجیب بود که چرا موبایل ها به نرمی دسکتاپ ها نیستن و شروع کردم به عنوان یک توسعه دهنده موبایل کار کردن در 3 سال گذشته و این مقاله رو نوشتم و توضیح دادم از مشکلات موبایل اپ ها و اینکه چه چیزی باعث میشه موبایل اپ ها یا وب سایت های ما در موبایل ها به نرمی اجرا نشوند .
وقتی که قصد توسعه یک موبایل اپ را داریم همیشه بر این اساس جلو می رویم که یک تیم Api یک سرویس به موبایل اپ میدهند و میگویند این هم داکیومنت Api که الحق و انصاف کامل و جامع است. این تصمیم در نگاه اول درست به نظر میرسد ولی وقتی کاربر با اپ کار میکند و زمان بیشتری را با اپ صرف میکند، اپ شروع میکند به کند شدن و تپق زدن و بعضا هم در همان اجرای اول اپ به سختی اجرا میشود و چیزی شبیه Bottleneck اتفاق می افتد.
این مشکل به دو دلیل رخ میدهد
دلیل اول:
دریافت داده از شبکه و تبدیل آن به محتوای قابل فهم برای موبایل اپ ها هست که هر چقدر حجم این داده ها بیشتر باشد زمان بیشتری صرف می شود تا برنامه آماده تعامل با کاربر شود . (Time to Interact)
دلیل دوم :
توسعه ندادن Api بر اساس نیاز موبایل اپ ها ، چیزی که در اکثر مواقع اتفاق می افتد و کیفیت رو فدا می کنیم استفاده از همان Api وب سایت هامون برای موبایل اپ ها هست و خب به دلیل اینکه موبایل اپ ها از منابع خیلی کمتری برخوردارند توانایی پردازش به خوبی Desktop ها را ندارند.
راه حل این موضوع تغییر تفکر و بازنگری در ترتیب مراحل توسعه موبایل اپ ها است یعنی اینکه اول UI را توسعه میدهیم و سپس بر اساس اون Api را توسعه میدهیم. و در نهایت هم استفاده از ابزار های مختلف برای اندازه گیری Performance ها بعد از اجرای هر کدوم از فیچر ها میباشد . برای موبایل اپ ها از ابزار هایی مثل Firebase, Newrelic و برای وب سایت هایی که در موبایل اجرا میشوند تب Performance مرورگر که نشان میدهند که وب سایت شما در موبایل ها چگونه آماده میشوند تا کاربر از وبسایت شما استفاده کند .