Country not specified
Unknown website Share

Apps4all

Страна: -
Город: -
Был онлайн: -
О себе:
 
08-07-2016, 11:00
Apps4all

Практический опыт по разработке игр и приложений для Android-планшетов на базе Intel®

Краткий обзор 

Эта статья охватывает разбор различных аспектов разработки планшетных приложений, включая дизайн интерфейса, длину сессии, различия в среде пользователей и локализацию. Рассматриваются вопросы отладки и оптимизации. Также в статье пойдет речь о влиянии, которое оказывают методы развертывания приложения на его мощность. Используя советы статьи, вы сможете создать приложение с выдающимися характеристиками специально для пользователей планшетов на базе Intel® Android.

Введение

Инженеры Intel работали с «разнокалиберными» разработчиками по улучшению работы приложений на планшетах Intel Android. Существует множество примеров конструктивных решений, которые в итоге привели к успеху. Мы поделимся общими полученными выводами в надежде помочь вам так же достичь успеха.

От концепции до самого внедрения разработчики, нацеленные на Android-планшеты на базе Intel, имеют возможность сделать из своих приложений нечто особенное. Концептуальная целостность, эффективный дизайн, выбор среды и инструментария – это лишь некоторые из множества насущных аспектов, с которыми приходится справляться разработчикам. Эта статья предлагает несколько идей, которые точно стоит держать в голове, чтобы с пользой задействовать весь потенциал устройств.

Какова ваша big idea?

Лучшие игры и приложения имеют одну центральную идею и превосходно ее раскрывают. Если вы оставите вашу идею в сухом остатке (полезности или развлечения), на этом понимании будут строиться все ваши прочие решения. Если подобный целевой тезис у вас отсутствует, стоит отбросить такой случайный и неуклюжий продукт с несвязными опциями. Ведь пользователи будут проходить мимо него, выбирая те приложения, где есть что-то одно, но доведенное до совершенства. С правильной концептуальной целостностью вы получите возможность улучшить дизайн и избежать траты лишних сил на те опции, которые и так доступны пользователям в других приложениях.

Для всех возможных устройств

Планшеты и смартфоны сейчас повсюду, с многочисленными вариациями размеров экрана и разрешений. Держать в голове целевое устройство – хорошо, но это только начало. Да, ваше приложение должно идеально работать на предполагаемых устройствах, но оно должно успешно масштабироваться на целый ряд платформ. Чтобы ваши визуальные решения хорошо смотрелись на маленьких экранах, создавайте приложения для самых больших дисплеев, а затем снижайте масштаб видимой области. Существуют разные подходы к мультиэкранной поддержке: в случае с игрой на базе веб, можно просто-напросто делать дизайн на большой канве и впоследствии вписывать ее в другую путем адаптации экрана; или же делать дизайн в разных разрешениях и масштабировать его в JavaScript* или CSS.

557599ce056ad2.00578397.jpg

Элементы UI фиксированного размера могут показаться слишком маленькими на планшетах с большим экраном

Еще одна мысль касается того, что все механизмы управления и текст должны быть пригодными для маленьких экранов. Есть множество онлайн-руководств для различных платформ по этому вопросу. С тех пор, как был создан современный дизайн Windows 8 для сенсорных экранов, мы предлагаем разработчикам ознакомиться с modern design principles и WinRT app guidelines, поскольку они распространяются и на Android-устройства.

Эти советы очень полезны в таких вопросах, как оптимальность пространства и расположение вне нормальных условий. Понимая эти стандарты, их применимость и логическое обоснование, вы сможете максимально рационально их задействовать, включая даже умышленное нарушение правил для достижение желаемого эффекта.

Мобильность решает всё

В среднем пользователи обращаются к телефону от 100 до 900 раз в день. Среднестатистическая казуальная игровая сессия длится около 3 минут, в то время как параллельно меняется местоположение – дом, работа, развлечения. Варьируемое окружение мобильных приложений и игр имеет значительное влияние на характер использования.

Если вы создаете игру, помните, что временной интервал геймплея – всего несколько минут. Это не значит, что стоит избегать протяженных «приключений» в игре, но это означает также, что всегда должен присутствовать механизм, позволяющий пользователям отойти от игры практически в любой момент и без проблем вернуться в процесс. Будут ли это короткие баттлы, или задачи, размеченные экранами смены уровня, или же просто постоянное наличие кнопки Пауза с суммированием текущих результатов, - все пользователи одинаково часто откладывают телефон и возвращаются к нему снова.

Точно так же, если ваше приложение требует идеальной тишины или подходящего освещения, многие будут пользоваться им только дома (где мы сами создаем нужные нам условия). Всё – от выбора цвета до звуковой модуляции – крайне важно для обеспечения качественного пользовательского опыта.

Всё для людей

Если вы находитесь в нестандартной ситуации и создаете приложение для ограниченного круга аудитории, вы можете привязать дизайн к их специфическим нуждам. Большинство приложений не могут рассчитывать на подобную роскошь. Дизайн должен быть пригодным для максимально большего числа людей.

Продолжая эту мысль, надо сказать, что в мире 360 млн. людей с нарушениями слуха, 285 млн. людей c нарушениями зрения и 280 млн. людей с нарушениями цветового восприятия. Большинству таких пользователей необходимо повышенное внимание к дизайну. Если есть хоть какая-то возможность добавить звуковые реплики в приложение с визуальным преобладанием, титры к сюжетной озвучке или хорошо распознаваемые символы для дифференциации цветных объектов, всё это позволит вашему продукту стать полезным и удобным, для всех, кто его скачивает.

Локализация – еще одна область, где многие игры и приложения сдают позиции в попытке выделить дополнительные время на разработку или деньги для функционирования в других странах. С возможной ценой в $10.000-$15.000 за язык, вы должны минимизировать количество текста, требующего локализации. Может ли ваше приложение задействовать жаргонные символы, известные повсеместно? Да. Может ли ваше приложение разговаривать на универсальном языке emoji вместо слов? Да. Каждый шаг в сторону взаимодействия с разумом пользователя, а не с его словарным запасом расширяет вашу потенциальную аудиторию без необходимости дополнительных вложений.

Разнообразие сред

Если ваше приложение не будет использовать заранее подготовленный игровой движок, первое решение, которое вам предстоит принять, - это выбор между нативным, веб- или гибридным приложением.

Нативные приложения

Нативные приложения работают на низком уровне, давая пользователям доступ к более мощным ресурсам оборудования, но одновременно накладывая ограничения на разработку и трансфер на другие платформы. Наиболее распространенным языком для нативной Android-разработки является Java на базе Android* SDK (Software Development Kit) или NDK (Native DevelopmentKit). Наборы инструментов вроде Intel® INDE охватывают и Java, и C++. IntelINDE содержит не только компиляторы, но и аналитические инструменты, которые помогут вам идентифицировать и исправить проблемы с производительностью в вашем приложении.

Web-приложения

От браузерных игр до онлайн-инструментов, веб-приложения являются универсальными и легко переносимыми. Но зачастую им недостает производительности и скорости интернет соединения для успешного функционирования. Основные стандарты здесь - HTML5 и JavaScript. Если приложение работает просто как интерфейс для сторонних серверных инструментов, то это отличное применение; недостатком здесь становится то, что каждый пользователь будет иметь постоянный доступ к серверам, тем самым повышая стоимость их обслуживания для удовлетворения запросов аудитории.

Гибридные приложения

Чтобы по максимуму использовать гибкую натуру веб-приложений, ровно как и мощность мобильного оборудования, инструменты наподобие Intel XDK (Cross-platform Development Kit) станут идеальным решением для создания гибридных приложений – веб-технологий, встроенных в нативную оболочку. Так же JavaScript веб-приложения, упомянутые выше, могут быть перенесены, оснащены API и «device ready»-кодом для создания нативных пакетов на мобильных платформах. 

55759bc5d7dcd3.33158353.jpg

Выбор исполняемой модели влияет как на вас, так и на ваших потребителей

Решение о том, каким будет приложение – нативным, веб- или гибридным – во многом зависит от предполагаемого использования, требуемых ресурсов и функциональности, а также от знакомства разработчиков с различными языками. Это решение, в свою очередь, определяет, каким образом приложение будет распространяться, использоваться и монетизироваться.

Объем имеет значение

Дружелюбный интерфейс имеет большое значение, однако объем памяти, занимаемый приложением, не менее важен для достижения результата. Громоздкий файл загрузки, несдержанное использование ресурсов, а также требование излишних прав доступа могут стать барьерами в начале и последующем использовании (вдобавок, это может препятствовать распространению рекомендаций).

Первичный размер загрузочного файла можно снизить при наличии последующих дополнительных файлов загрузки. Но, к сожалению, такая модель может раздражать пользователей, а также заключать в себе большие проблемы, влияющие на производительность. Библиотеки текстур, модели и звуки, составляющие бОльшую часть файла, должны быть, в конце концов, загружены в память, что сильно замедлит ваше приложение (и это не единственная проблема!).

Решением для многих приложений является подход, нацеленный на reusability (повторное использование), который был разработан еще давно. Использование тех же изображений и звуков под разными палитрами и шаблонами может обеспечить необходимую вариативность при минимизации пространства и требуемых ресурсов.

Cбои и рационализация исполнения

Где-то в идеальном мире ваше приложение будет отлично работать с первого запуска, не требуя доработок. Но это не наш мир. Если ваше приложение можно хоть сколько-нибудь назвать непростым, вы обязательно столкнетесь с дефектами. Даже самые злостные ошибки не сломают ваш продукт, но точно затормозят его, а это будет серьезно влиять на пользовательский опыт. Точно так же вещи вроде overdraw или неиспользуемых дубликатов буфера истощают производительность и жизнь батареи, хотя и не являются ошибками. Всё это – в первую, очередь, возможность улучшить ваше приложение. Лучший способ находить такие возможности – это инструменты профилирования и аналитика производительности.

Intel® XDK предлагает отладку в эмуляторе, удаленную отладку на соединенных Android-устройствах в Debugtab и информацию об анализе производительности в Profiletab.

55759c16cc6216.68736589.jpg

Intel® XDK делает разработку гибридных приложений проще

Не используете Intel XDK? Intel® GPA (GraphicsPerformanceAnalyzers) - это набор инструментов по анализу производительности, созданный, чтобы помочь вам идентифицировать области доработки. В то время как Intel® GPA отлично подходит для мощных PC-приложений, он способен также работать и на Android-приложениях, занимая свое место среди других нативных инструментов Intel® INDE.

Выводы

Концептуальная целостность – это ключ к навигации между мириадами опций и сокращению первичного объема файлов. Каждый аспект разработки может повлиять на другие аспекты до и после нее, подчеркивая важность продуманности решений и итерации. Закономерности сенсорных интерфейсов, аудиовизуального дизайна и глобализации становятся точками отсчета и пищей для размышлений в разработке.

Intel® INDE предлагает огромный набор инструментов для нативных разработчиков. Intel® XDK помогает веб-разработчикам вступать в бой с полноценным набором функциональных решений по разработке, эмуляции, тестированию, отладке и компоновке. Оба программных решения имеют достаточную документацию и постоянно растущую поддержку сообществ.

Подходы и инструменты, используемые в статье, почерпнуты из уроков, которые инженеры Intel успели выучить, помогая многим разработчикам приложений. Они помогут вам максимизировать шансы вашего приложения стать популярным и одновременно стать значимой частью жизни потребителей. 

Cтатьи по теме

Android* Game Engines https://software.intel.com/en-us/android/articles/choosing-the-right-engine-for-your-x86-based-android-game

Android* SDK http://developer.android.com/sdk/index.html

Android* NDK http://developer.android.com/tools/sdk/ndk/index.html

Audio Design Challenges, Gamasutrahttp://www.gamasutra.com/view/feature/134761/aaalite_audio_design_challenges_.php?print=1

Blindness Fact Sheet, World Health Organizationhttp://www.who.int/mediacentre/factsheets/fs282/en/

Color Theory Application, UX Matters http://www.uxmatters.com/mt/archives/2007/01/applying-color-theory-to-digital-displays.php

Colorblindness http://www.vischeck.com/faq/

Deafness Fact Sheet, World Health Organizationhttp://www.who.int/mediacentre/factsheets/fs300/en/

Drawing Pixels is Hard http://phoboslab.org/log/2012/09/drawing-pixels-is-hard

Game Localization Handbook, Google Books http://books.google.com/books?id=sN5Glp9sLj0C&printsec=frontcover - v=onepage&q&f=false

Intel® GPA https://software.intel.com/en-us/gpa

Intel® INDE https://software.intel.com/en-us/intel-inde

Intel® XDK http://xdk.intel.com/

Mobile Unlocking Frequency http://www.dailymail.co.uk/sciencetech/article-2449632/How-check-phone-The-average-person-does-110-times-DAY-6-seconds-evening.html

Mobile Gaming Session Information http://www.bluecloudsolutions.com/articles/mobile-gaming-sessions-now-longer/

Modern Design Principles, MSDN http://msdn.microsoft.com/en-us/library/windows/apps/hh781237.aspx

Overdraw Visualization in GPAhttps://software.intel.com/sites/products/documentation/gpa/13.4/win/Overdraw_Visualization.htm

Supporting Multiple Screens, Androidhttp://developer.android.com/guide/practices/screens_support.html

Using GPA with Android apps works on Android apps

WinRT App Guidelines, MSDN http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx

World of Goo Case Study https://software.intel.com/en-us/android/articles/world-of-goo-stretches-to-android-on-x86

XCOM case study (UDN only) https://udn.unrealengine.com/questions/171391/turbocharging-xcom-an-unreal-optimization.html

Intel® XDK Emulate tab https://software.intel.com/en-us/xdkbook/devemulator

Intel® XDK Debug tab https://software.intel.com/en-us/html5/articles/using-the-debug-tab

Intel® XDK Profile tab https://software.intel.com/en-us/html5/articles/using-the-profile-tab

Об авторе

Брэд Хилл – специалист по программному обеспечению Intel вподразделении Developer Relations. Брэд исследует новые технологии на оборудовании Intel и делится лучшими методиками с разработчиками через Intel® Developer Zone и на профильных конференциях. Также он является техническим директором Student Hackathons, ведет хакатоны Code for Good в колледжах и университетах США. 

 
Intel
разработчикам
приложения
дизайн
интерфейс
планшет
Android
0 0 0

Чтобы оставлять комментарии вам необходимо зарегистрироваться