در قسمت قبل پنج توصیه را خواندید. در این مطلب ادامه مطلب را میخوانیم:
۶- از معماری مناسب استفاده کن
همیشه از خودت به خاطر انتخاب یک معماری مناسب در اول کار، سپاسگزار خواهی بود. میتوانی از MVP یا همان Model-View-Presenter استفاده کنی که برنامه را به لایههای متفاوتی تجزیه میکند تا مدیریت آن سادهتر باشد. این باعث میشود تا انعطاف کد بالاتر برود و زمان نگهداری آن کاهش یابد.
این یک پروژه دموی بسیار عالی برای شروع است. اگر با مفهموم آشنا نیستید میتوانید این راهنمای دقیق و با جزئیات را بخوانید.
جایزه: حتما این و این را ببینید. اینها کمک بزرگی به پیادهسازی MVP در پروژه به شما میکنند.
۷- رابط کاربری مثل یک جک است، اگر نیاز به توضیح داشته باشد، حتما بیمزه است
اگر در جایی کار میکنی که نقش تو فقط توسعه دهنده اندروید است احتمالا از این لحاظ مشکلی نداری، چون احتمالا متخصص UI و UX هم هستند و مسولیت UI و UX با آنها است.
ولی اگر یک توسعهدهنده تنها هستی، باید همیشه اینها را در ذهن داشته باشی. من توسعهدهندگان را دیدهام که برنامههایی با کارایی فوقالعاده ساختهاند ولی UI آن فاجعه و UX آن دردآور است.
ساده و تمیز و زیبا طراحی کن، جوری که چشم از دیدن آن لذت ببرد. نباید فقط مثل یک توسعهدهند فکر کنی، بلکه باید سعی کنی کاری کنی تا طراح درونت خودش را نشان بدهد.
سعی کن با طراحی UI زیبا لذتی دائمی برای کاربرانت ایجاد کنی تا آنها دائما به برنامه سر بزنند و از آن استفاده کنند و احتمالا راضی شوند برای نسخه ویژه آن پول بدهند.
«احتمالا باید بیشتر از طراحی حذف کنی تا این که چیزی به آن اضافه کنی. همیشه طراحی را ساده و کمینه نگاه دار»
جایزه: همیشه در طراحی از کارهای طراحان Dribble یا MaterialUp الهام بگیر. اگر به طراحی علاقهمند هستی احتمالا عاشق این کتاب خواهی شد.
۸- آمار و تحلیل بهترین رفیق تو است
اگر میخواهی برنامهای واقعا اعجابآور بسازی، باید به شدت از ابزارهای تحلیلگر و آمارگیر استفاده کنی تا کارایی برنامه و میزان استفاده از بخشهای مختلف برنامه را بدانی. وقتی میگویم تحلیلگر، منظورم هم ابزارهای گزارش خطاها و هم ابزارهای دنبال کننده رفتار کاربر است. به هر دوی این ها نیاز داری.
هر چقدر هم که تلاش بکنی همیشه چیز عالی نمیشود. وقتی کاربران واقعی از برنامهات بر روی طیف وسیعی از دستگاههای اندروید و نسخههای متفاوت اندروید استفاده کنند، میبینی که حتا بخشی از بهترین کدهایی هم که نوشتهای نقش زمین خواهند شد. ابزار گزارش خطا به تو کمک میکند تا این خطاها را پیدا کنی و آنها را رفع کنی.
همچنین باید مثل یک بازاریاب حرفهای استفاده از بخشهای مختلف برنامه را تحلیل کنی. با این کار میتوانی فاصله بین کاری که برنامهات میکند و چیزی که کاربر واقعا میخواهد را پر کنی.
نکته حرفهای: از ابزارهای گزارش خطا و تحلیلگر Firebase استفاده کن، به زودی از من به خاطر معرفی آن تشکر میکنی.
۹- نینجای بازاریابی باش
اگر یک توسعه دهنده تنها هستی باید خیلی فراتر از یک توسعهدهنده فکر کنی و باید بازاریابی هم بدانی.
«من برنامههای خیلی خوبی را دیدم که به خاطر نبود بازاریابی خوب شکسته خوردهاند و برنامههای نه چندان خوبی را دیدهام که به خاطر بازاریابی خوب فوقالعاده موفق بودهاند.»
اگر در کارت جدی هستی و میخواهی که مخاطب زیاد داشته باشی، باید وقت و پول خود را بر روی یک برنامه خوب بازاریابی هزینه کنی. قبل از شروع برنامههای تبلیغی مطمئن شو که برنامهات و ویژگیهای آن واقعا پایدارند. قطعا میخواهی در ازای هر ریالی که پرداخت کردی بیشترین درآمد را به دست بیاوری، درست است؟
وقت بگذار و ببین رقبایت چه کسانیاند و چطور میخواهی با آنها رقابت کنی.
۱۰- وقت آن است که برنامهات را بهینه کنی
این چیزی است که خیلی از ما معمولا انجام نمیدهیم ولی تو باید و حتما آن را انجام بدهی زیرا به آن نیاز داری.
تفاوت زیادی است بین نوشتن کد و نوشتن کد «بهینه». کدی بنویس که سریع اجرا بشود، حافظه کمتری بگیرد و کمتر از فضای ذخیرهسازی دستگاه را اشغال کند.
یک برنامه غیر بهینه در شرایط معمول به خوبی کار میکند اما اگر آن را زیر بار و فشار زیاد ببری تازه متوجه میشوی که چه گندی است.
حافظه مورد استفاده برنامه را بررسی کن و مواظب سرریز حافظه باش. همیشه به یاد داشته باش: یک سوراخ کوچک میتواند یک کشتی بزرگ را غرق کند. بر روی درک شیوه عملکرد زبالهروب جاوا وقت بگذار. حافظه Heap را بررسی و تحلیل کن و اشیای زنده را ببین.
نکته حرفهای: از Leak Canary برای پیدا کردن سرریزهای حافظه استفاده کن. این برنامه با خودکار کردن این کار خیلی در زمانت صرفهجویی میکند.
[این مطلب خوب هنوز تمام نشده است! نظر شما چیست؟ شما چه کارهایی اشتباهی مرتکب میشدید یا چه توصیهای به تازهکارها دارید؟ با ما به اشتراک بگذارید]
سلام
مطالبتون خیلی خوب هستند
برای معماری برنامههای اندروید، MVVM رو پیشنهاد میکنید؟
من با MVP کار میکنم. به زودی یک مطلب درباره MVP مینویسم.
اگه امکان معرفی معماری های موجود و بررسی نقاط قوت و ضعف هم باشه عالی میشه
WWWWWWWWWooooooww !!! cheqadr matalebe amuzeshe android ra khub neveshtidd, vaqeaaan mamnunimmm az zahamati k baraye in amuzesh ha mikeshid
سلام ممنون از مطالب خوبتون.
ممنون میشم که درمورد memory leack آموزشی بنویسید