ساخت، آزمایش و توزیع برنامه های اندروید

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

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

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

 

برنامه را مقیاس پذیر کنید

دستگاه های اندرویدی به فرم ها و اندازه های مختلفی می رسند. آخرین تعداد رسمی این است که ۶۰۰ دستگاه اندرویدی در دسترس هستند، و این تعداد هر روز افزایش می یابد. ساخت یک برنامه که روی همه آنها اجرا می شود دشوارتر از ساخت یک یا دو اندازه صفحه و یک مجموعه سخت افزار است. خوشبختانه آندروئید از این لحاظ ساخته شده است. این چارچوبی ابزارهایی برای کمک به توسعه دهندگان به حل مشکل می دهد. اما با تمام ابزارها، اگر درست استفاده شوند، کار می کنند. یک برنامه iOS با قرار دادن پیکسل ها در مختصات مناسب طراحی شده و ساخته می شود تا زمانی که UI درست نباشد. نه در Android! طراحان آندروید باید در مورد مقیاس پذیری هر مولفه و روابط بین اجزای آن فکر کنند. فلسفه به طراحی برنامه وب نسبت به طراحی برنامه iOS بسیار نزدیک است.

 

یک همپوشانی به جای یک رابط کاربری قرص سفارشی

حدود نیمی از سال پیش، گوگل از نسخه Android به نام Honeycomb (3.0) استفاده کرد. لانه زنبوری در قرص ها هدف قرار گرفت و هرگز برای هر چیز دیگری اهمیتی ندارد. کد منبع Honeycomb هرگز منتشر نشد و هرگز به طور رسمی بر روی هر گوشی ظاهر نشد. در آن زمان، اپل قبلا یک عمل را ایجاد کرده بود که توسط توسعه دهندگان دو نسخه جداگانه از برنامه خود ارائه داد، یکی برای آی فون و یکی برای iPad. از نظر مدل اپل و نسخه اندرویدی جداگانه برای قرص، به نظر می رسید همه تصور می کردند که دو نسخه مجزا از یک برنامه در Android نیز مورد نیاز است. به زودی اینترنت پر از پست های وبلاگ بود که شکایت می کند که اندیشه برنامه های قرصی کافی نداشته و هیچ راهی برای جستجوی آنها در فروشگاه Google Play وجود ندارد.

در حال حاضر، به عنوان آندروید بستنی ساندویچ (۴٫۰) متحد کردن تمام دستگاه های آندروید برای اجرای همان نسخه از سیستم عامل، همه آن را حس می کند. آندروید پیوسته است، و رسم خط روشن بین قرص و تلفن غیر ممکن است. در حقیقت، بررسی اینکه آیا برنامه بر روی یک تبلت یا تلفن در حال اجرا است، از لحاظ فنی غیرممکن است. اندازه گیری صفحه نمایش (و بسیاری از ویژگی های دیگر) در زمان اجرا، امکان پذیر است.

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

 

طراحی آندروید پاسخگو

توسعه دهندگان اندروید می توانند پوسته های متعدد را برای هر صفحه از برنامه خود تعریف کنند و سیستم عامل بهترین انتخاب را در زمان اجرا انتخاب می کند. OS می داند کدام یک از بهترین ها را با استفاده از تعاریف که توسعه دهندگان به پوشه های خود (و دیگر موارد) در درخت منابع پروژه برنامه اضافه می کنند، مناسب می کند.

از نسخه آندروید ۳٫۲ – و به همین دلیل نیز در بستنی ساندویچ – یک رویکرد دقیق تر معرفی شد. در حال حاضر توسعه دهندگان اکنون می توانند پوسته ها را براساس تراکم پیکسل صفحه نمایش، مستقل از اندازه، به جای استفاده از تنها چند دسته که قبلا در دسترس بودند، تعریف کنند.

 

استفاده از قطعات برای اجرای طراحی پاسخگو

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

 

 

برنامه را به نظر می رساند و احساس مانند Android

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

 

زبانه ها

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

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

 

 

الگوهای UI Android می توانند کاربران را در سهولت قرار دهند

برخی از الگوهای UI در آندروید محبوب شده اند – تا آنجا که آنها شروع به تعریف نگاه از برنامه های آندروید. نوار عمل، یکی از محبوب ترین الگوهای، در حال حاضر بخشی از کتابخانه های هسته ای آندروید است و می تواند در هر برنامه در حال اجرا در آندروید ۳٫۰ و بالاتر استفاده می شود.

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

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

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

 

ادغام برنامه با برنامه های دیگر

پلت فرم آندروید مکانیسم قدرتمند برای برنامه ها برای گسترش قابلیت های یکدیگر است. این مکانیسم به معنای “هدف” است. برنامه ها می توانند برای دریافت و راه اندازي برنامه ها ثبت نام کنند. هنگامی که یک برنامه برای دریافت اهداف ثبت نام می کند، باید به سیستم اطالع دهد که چه قصداتی را دارد. برای مثال، برنامه شما می تواند به سیستم نشان دهد که می تواند تصاویر را نمایش دهد یا URL های صفحه وب را باز کند. در حال حاضر، هر زمان که یک برنامه دیگر قصد مشاهده یک تصویر یا یک صفحه وب را راه اندازی کند، کاربر می تواند گزینه ای برای انتخاب برنامه خود برای تکمیل عملیات باشد.

 

ادغام شبکه اجتماعی

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

۱ – برای رسیدن به این قابلیت، نزدیک به تلاش صفر لازم است.

۲ – کاربران مجبور به ورود به یک برنامه جداگانه نیستند. برنامه شبکه اجتماعی مراقب ورود به سیستم است.

۳ – شما مجبور نیستید شبکه های اجتماعی را که کاربران ممکن است از برنامه شما به اشتراک بگذارند را محدود کنید. تمام برنامه های نصب شده روی دستگاه کاربر برای استفاده در دسترس هستند.

۴ – اگر یک پروتکل به اشتراک گذاری شبکه اجتماعی تغییر کند، لازم نیست نگران آن باشید. این برنامه سرویس به روز می شود تا منعکس کننده تغییرات باشد.

۵ – کاربران ممکن است از یک برنامه غیر رسمی برای یک شبکه اجتماعی استفاده کنند. با استفاده از نکات، آنها ممکن است با استفاده از برنامه خود را با رابط کاربری که با آن آشنا هستند، ادامه دهند.

۶ – سازوکارهای موجود تنها گزینه هایی را که کاربر در واقع از آن استفاده می کند، می دهد. بدون نیاز به اشتراک گذاری فیس بوک به کسی که حساب فیس بوک ندارد.

 

فرصت های دیگر را در نظر بگیرید

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

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

 

کنترل کیفیت

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

 

توزیع برنامه

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

 

توزیع برنامه

هنگامی که برنامه شما تست شده و آماده است، شما باید آن را به کاربران دریافت کنید. شما باید انتخاب کنید که چگونه این کار را انجام دهید. چند دستگاه اندرویدی به یک فروشگاه App محدود می شوند. اکثریت قریب به اتفاق دستگاه های اندرویدی با Google Play همراه هستند که مهمترین مسیر برای رسیدن به کاربران در این پلتفرم است.

 

Google Play

فروشگاه Google Play روند رسمی برای تأیید برنامه ها ندارد هر بسته نرم افزاری که Play می شود در لیست فروشگاه ها به کاربران نمایش داده می شود. دستورالعمل های برنامه وجود دارد، اما آنها تنها در صورتی اعمال می شوند که شکایتی وجود داشته باشد و حتی به طور تصادفی. این به این معنی است که برنامه شما توسط صدها برنامه دیگر با کیفیت متفاوت متلاشی خواهد شد. پس چگونه می توان از توده ها بالاتر رفت و توجه کاربران را جلب کرد؟
۳۰ روز اول مهم هستند! برنامه شما در لیست برای برنامه های جدید پرداخت شده یا رایگان در آن زمان ظاهر می شود. رتبه بندی نسبتا بالا در این لیست در طول این زمان بسیار آسان تر از رتبه بندی بالا در لیست کلی بالا است. اطمینان حاصل کنید که طراحی سایت سایت برنامه شما از ابتدا به Google Play پیوسته و از همه شبکه های اجتماعی برای گفتن مردم در مورد راه اندازی برنامه خود استفاده کنید.

به رسمیت شناختن به عنوان یک نام تجاری مورد اعتماد دشوار است. Google Play دارای برنامه های بسیاری است که بدون اجازه از علائم تجاری ثبت شده استفاده می کنند. کاربران متوجه شده اند که آرم یک نشانه ای نیست که برنامه در واقع توسط شرکت لوگو تولید شده باشد. برای افزایش اعتماد، مطمئن شوید که پیوند «وب سایت بازدیدکننده» به وب سایت رسمی مراجعه کرده و در صورت امکان، از آنجا به برنامه خود پیوند دهید.

گاهی اوقات کارکرد برنامه در همه دستگاهها غیرممکن است. بعضی از دستگاه ها از سخت افزار مورد نیاز خسته شده اند یا به سادگی نسخه قدیمی اندروید را اجرا می کنند که API های مورد نیاز وجود ندارد. شما می توانید تمام الزامات فایل manifest برنامه را لیست کنید، به Google Play بگویید که کدام دستگاه برای برنامه کاربرد دارد و بنابراین از فهرست هایی که در دستگاه های ناسازگار دیده می شود پنهان می شود. اما گاهی حتی این کافی نیست. در این موارد، Google Play به توسعه دهندگان اجازه می دهد تا دستگاه های خاصی را از برنامه خود دانلود کنند. در حالی که این گزینه باید تنها به عنوان آخرین راه حل مورد استفاده قرار گیرد، هنوز بهتر از اجازه دادن به کاربران برای دانلود چیزی است که شما می دانید بر روی دستگاه خود کار نمی کند.

 

فروشگاه های جایگزین

Google Play تنها محل توزیع برنامه شما نیست. AppStore آمازون اخیرا به دلیل راه اندازی تبلت آمازون Kindle Fire مبتنی بر Android آمازون توجه خاصی را به خود جلب کرده است. رویکرد آمازون نسبتا مشابه با اپل است که در آن یک پروسه بررسی رسمی دارد. Appstore همچنین برای دستگاه های غیر آمازون قابل دسترسی است، اما در حال حاضر تنها در ایالات متحده است.

فروشگاه App Multiplatform GetJar همچنین برنامه های Android را توزیع می کند. GetJar دارای تعداد زیادی کاربر است و یک منبع شناخته شده و قابل اطمینان است، به ویژه در میان افرادی که گوشی های هوشمند کمتری دارند.

فروشگاه App Barnes & Noble یک فروشگاه App بر اساس کتاب الکترونیکی مبتنی بر ایالات متحده است. بر خلاف آمازون، فقط برای سخت افزار Android B & N قابل دسترسی است.

 

فروشگاه های چندگانه

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

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

نتیجه

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

0 دیدگاه برای “ساخت، آزمایش و توزیع برنامه های اندروید”

پاسخ دهید

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

*