شاهرخ جهان زاده

مقاله - اپلیکیشن های اندرویدی با کارایی بالا

2 ارسال در این موضوع قرار دارد

با سلام خدمت همه دوستان،

یکی از مشکلاتی که اکثر توسعه دهندگان با آن سر و کار دارند، بالا بردن کارایی یا performance اپلیکیشن می باشد.

در این سری از مقالات نگاهی خواهیم انداخت به بالا بردن کارایی در اپلیکیشن های اندرویدی.

مشکلی که مدتها با آن دست و پنجه نرم کردم تا اینکه آخر با یافتن کتابی تحت عنوان High Performance Android Apps به نتایج مطلوب رسیدم.

مطالبی که در اینجا بیان می شود، ترجمه ای است از این کتاب که به تازگی خواندن آن را به پایان رساندم.

با توجه به مطالب ارزشمندی که در این کتاب وجود داشت، تصمیم به ترجمه و ارائه رایگان آن گرفتم.

سعی می کنم به صورت مدون و هر 3 روز یکبار (اگر زمان یاری کند) مطالب را به روز رسانی کنم.

توجه شما را به قسمت اول این مقاله جلب میکنم.

-----------------------------------------------------------------

مقدمه:

            در حال ساخت یک اپلیکیشن اندرودی هستید ( یا در حال حاضر ساخته اید ).  با وجود این، آیا از کارایی اپلیکیشن های خود ناراضی هستید؟ پیدا کردن مشکلات در کارایی یک اپلیکیشن،  شغلی است که هیچ وقت کامل نخواهد شد. بر اساس تحقیقاتم، به این قضیه پی بردم که 98% از اپلیکیشن های تست شده قابلیت ارتقاء کارایی را دارا می باشند. هدف این کتاب این است که مشکلات و چاله ها در کارایی موبایل را بهتر درک کنید، همچنین بعضی از ابزارها برای رفع مشکلات در جهت دستیابی به مشکلات اساسی اپلیکیشن شما قبل از ارائه به مشتری را نیز نشان خواهیم داد.

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

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

            نتیجه کاملا مشخص است: اپلیکیشن هایی که به سرعت و به راحتی اجرا می شوند، بیشتر مورد استفاده قرار می گیرند و در نتیجه درآمد بیشتری برای توسعه دهندگان آنها به همراه خواهد داشت. با توجه به این اطلاعات، جای تعجب دارد که بیشتر توسعه دهندگان اپلیکیشن از این ابزارها در جهت ارتقاء و بهبود کیفیت و کارایی در اپلیکیشن هایشان استفاده نمی کنند. با تمرکز بر این نکته که بالا بردن کارایی چگونه می تواند بر تجربه کاربری تاثیر بگذارد، می توانید ارزش کار کردن و وقت گذاشتن روی بالا بردن کارایی اپلیکیشن را به سرعت مشاهده کنید.

 

این مقاله مختص چه کسانی است!

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

            تست کنندگان اپلیکیشن نیز آموزش های تصویری مفیدی را در مورد ابزارهایی در جهت تست کردن کارایی اندروید خواهند یافت.

چرا این مقاله را نوشتم!

            حوزه های رو به رشد بسیار زیادی وجود دارد که توسعه دهندگان وب نکاتی را در مورد اینکه چگونه وبسایت سریعی داشته باشیم در آنها ارائه می دهند. استیو سودرز (Steve Souders) در سال 2007 مطلبی تحت عنوان " وبسایت هایی با کارایی بالا " نوشت که در قالب کتاب، وبلاگ، کنفرانس و... پوشش داده شدند.

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

            ابزار های فوق العاده زیادی برای سنجیدن کارایی اپلیکیشن های اندرویدی وجود دارد، اما تا کنون، لیستی از آنها به طور کلی ارائه نشده است. امیدوارم این کتاب با معرفی ابزارهایی از طرف Google، Qualcomm، AT&T و دیگر شرکت ها یا افراد، قدمی در جهت کشف رازهای کارایی اندروید بردارد و کمک کند که اپلیکیشن شما سریع تر شود تا کاربرانتان را از دست ندهید.

 

مطالب موجود در مقاله:

            بخش 1 مقدمه ای است بر کارایی اپلیکیشن در موبایل. نکاتی را اجرا خواهیم کرد که تعیین کننده کارایی (performance) در اپلیکیشن شما خواهند بود. چالش های بسیار و همچنین تاثیر کارایی پایین اپلیکیشن در بازار را مورد بررسی قرار داده ام. نکاتی وجود خواهد داشت که با استفاده آنها می توانید مدیریت کار خود را به نحوی انجام دهید که زمان بیشتری را روی بالا بردن سرعت اپلیکیشن بگذارید. اطلاعاتی که در این بخش ارائه می شود برای تمامی پلتفرم ها و دستگاه های موبایلی قابل استفاده هستند.

            بخش 2 تست کردن را پوشش می دهد. اندروید یک اغیر مجازیستم بسیار عظیم با ده ها هزار دستگاه با UIها، نمایشگرها، نسخه های مختلف سیست عامل و... می باشد. ایده هایی را بررسی خواهم کرد که به شما در تست کردن تعداد زیادی از این دستگاه ها بدون صرف هزینه کمک می کند.

            فصل 3 به طور کلی به باتری اختصاص داده شده است. چه چیزی شارژ را کم میکند و به چه مقدار اینکار را انجام می دهد. اینکه چگونه کاربران به مشکلات باتری در اپلیکیشن شما پی خواهند برد. همچنین API جدید JobScheduler (که در اندروید نسخه Lollipop ارائه شده) بررسی خواهم کرد که اپلیکیشن هایی را نشان می دهد که بدون دلیل باعث فعال نگه داشتن OS خواهند شد.

            فصل 4 در مورد کارایی صفحه نمایش خواهد بود. بیشترین هدر رفت انرژی و بخش اصلی اپلیکیشن شما این همان جایی است که کند بودن اپلیکیشن و کندی پردازش تصویر نمایان می شود. قدم به قدم کارهایی را در جهت بهینه سازی UI با سلسله مراتب منظم انجام خواهیم داد و با استفاده از ابزاری مانند Systrace  اپلیکیشن را تست خواهیم کرد.

            در فصول 5 و 6 نگاهی خواهیم داشت بر مشکلات Memory  و CPU که گاهی مانند زباله دان خواهند بود و بررسی خواهیم کرد که چگونه این زباله دان ها روی کارایی اپلیکیشن شما تاثیر می گذارند. تست کردن با ابزارهایی مانند Procstats، MAT و TraceView که یاد خواهید گرفت چگونه با این ابزارها به عمق اپلیکیشن خود نفوذ کرده و مشکلات اساسی آن را کشف کنید.

            فصل 7 نگاهی دارد به کارایی شبکه در اپلیکیشن شما. این جایی بود که بررسی کارایی موبایل را شروع کردم و نگاهی خواهیم کرد به جعبه سیاه اپلیکیشن زمانی که با سرور ارتباط بر قرار میکند و اینکه چگونه می توانیم این ارتباط را بهینه سازی کنیم. همچنین نگاهی خواهیم انداخت به چگونگی بررسی کارایی اپلیکیشن در زمانی که شبکه داده ها ضعیف است.(2G و 3G)

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

پایان بخش اول (مقدمه)

---------------------------------------------------------------------------------------------

- شاهرخ جهان زاده

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Bbkhshid motevaje nashodam!

 

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری