Статья

Решение проблемы "фрагментации": разработчики не обращают внимания на поддержку нескольких экранов

protection click fraud

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

Существуют разные способы решения проблем, возникающих при использовании экранов разного размера и плотности. яблоко имеет отдельные списки приложений, разработанных для iPhone и iPad. Microsoft создает новую экосистему для своих устройств с большим экраном. Android позволяет разработчикам настроить одно и то же приложение на разные экраны по-разному. В каждом методе есть свои плюсы и минусы, но здесь мы сосредоточимся на Android.

Verizon предлагает Pixel 4a всего за 10 долларов в месяц на новых безлимитных линиях

В Android приложения могут настраивать макет для экранов разного размера, а также разрешения. Все это встроено, но есть несколько вещей, которые разработчики должны объявить в своем коде, чтобы приложение выглядело хорошо. Следует иметь в виду, как размер и плотность экрана изменят внешний вид приложения. В

ДНК дроидов имеет экран с более высоким разрешением, чем у Motorola XOOM планшет, но мы не хотим видеть макет планшета для приложений на экране размером с телефон.

Разработчику необходимо предоставить ресурсы (изображения) достаточно высокого качества, чтобы они выглядели четкими при высоком разрешении (не говоря уже о безумно высокое разрешение), и обязательно используйте независимые от плотности пиксельные блоки при разработке их макета. Это то, что удерживает такие вещи, как кнопки и другие элементы управления, от того, чтобы они были действительно большими на экранах с низкой плотностью, таких как Galaxy S2, или от действительно крошечных на экранах с высокой плотностью, таких как ДНК.

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

Здесь мы не пытаемся судить разработчиков. Писать приложения сложно. Разработчики Android проповедуют все это с момента выпуска Gingerbread, но насколько это практично? Мы спросили об этом нескольких разработчиков, посмотрим, что они скажут после перерыва.

Больше: Сайт разработчика Android от Google.

Мы задали нескольким разработчикам (как большим, так и маленьким) пару основных вопросов по этой теме.

  • Насколько сложно придерживаться рекомендаций?
  • На бумаге это выглядит просто, но есть ли какие-то особые проблемы, которые вы видели, или части, которые Google не рассмотрел?
  • Как это повлияло на время разработки и затраты, если вообще повлияло?
  • Что-нибудь еще по теме, которым вы хотели бы поделиться?

Я постарался сделать вопросы как можно более нейтральными, чтобы мы не углублялись в это с некоторой предвзятостью. Если сомневаетесь, спросите знающих людей, верно? Я сделал свою долю программирования, но кодирование на Java и создание приложений для Android сильно отличается от написания кода на C, машинном коде или даже Perl. Есть нюансы, которые я не понимаю, даже если у меня есть общие методы создания приложения.

Думаю, многие из вас похожи на меня и не разбираются в тонкостях создания приложений для Android. Мы видим только то, что говорят разработчики Android, и они делают это легко. Для них, вероятно, так оно и есть - они пишут этот материал с нуля с 2007 года. Давайте посмотрим, что говорят люди, которые смогли следовать за ними.

Джо Симпсон (@kennydude) - Boid

BoidСпикер Pro

Джо является членом Team Boid, а также самостоятельно публикует приложения. Он (и остальная часть его команды) - отличный пример независимых разработчиков, страстно увлеченных Android, которые создали несколько потрясающих приложений.

Соблюдать рекомендации довольно сложно, особенно если вам нужно экономичное приложение, а людям нужна обратная совместимость. Одна из самых неприятных вещей - это видеть, как что-то выглядит на d.android.com/design [сайт Google для разработчиков Android], но ничего о том, как это сделать на самом деле.

Слабым местом является обновление, когда вы физически не можете использовать GCM [Google Cloud Messaging] из-за Twitter, и вы не хотите использовать PtR [Pull to Refresh]. Кроме того, приложения Google составляют свои собственные правила. Возьмем, к примеру, выдвижную панель, Google+ делает это иначе, чем YouTube (хотя я знаю, что библиотека поддержки, надеюсь, решит эту проблему).

Кроме того, вы можете добраться до сути, и на что-то нет документации (например, EdgeEffect).

Я студент, так что расходы - это то, что я не думаю, и да, это требует времени, но ваши пользователи будут любить вас. По сути, Live Shows (ADiA, App Clinic, Office Hours) - необходимость (к сожалению), хотя они не могут давать отзывы о приложениях Google.

Бойд скоро станет открытым исходным кодом (ура!), и вы можете найти само приложение в Google Play. Вы также найдете все приложения Джо (там есть драгоценности) Прямо здесь.

Кристоф Версье - BeTrains - SNCB Бельгия; HoloEverywhere

BeTransHoloEverywhere

Кристоф создал множество приложений для Android, в том числе BeTrains - SNCB Belguim - приложение с великолепным макетом, которое показывает, что можно сделать с помощью хорошо созданного приложения. Хотя большинство в США никогда не будут использовать его (это приложение для расписания поездов для бельгийских рельсов), его стоит установить, чтобы просто посмотреть, насколько хорошо оно выполнено. Люди в Западной Европе наверняка знают об этом.

Кроме того, он является соавтором HoloEverywhere, библиотеки, которую другие разработчики могут использовать для создания приложений в стиле Holo для Android 2.1 и выше. Поскольку на многих телефонах все еще используется Gingerbread, это настоящее удовольствие для разработчиков, которые хотят поддерживать актуальность своих приложений.

Это совсем не сложно. Шутки в сторону. Сложность наступает, когда покупатель просит отойти от этих правил!

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

Я был очень зол на него, когда он задавал все эти глупые вещи, и он просто подумал, что я ленивый разработчик.

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

Библиотеки вроде ActionBarSherlock, HoloEverywhere (мое творение), UnifiedPreferences, а также SlidingMenu действительно просты в использовании и с помощью нескольких строк кода обеспечивают отличный пользовательский интерфейс.

Как я уже сказал, время и стоимость минимизируются, если следовать рекомендациям Google. Папки с фрагментами и макетами действительно просты в использовании (и, что важнее, для повторного использования): приложение для планшета просто берет фрагмент кода из макета телефона, и ничего не нужно переписывать. Небольшие изменения в приложении для телефона сразу же отражаются в приложении для планшета, поскольку используется тот же фрагмент.

Некоторые удивительные проекты создаются сообществом, а не всегда Google. Некоторые люди, очень активные в Google+, такие как Роман Нурик (Google), Рето Мейер (Google), Юхани Лехтимяки, Джейк Уортон, Тейлор Линг,.. (Я всегда боюсь забыть важных людей) очень поучительны. Разработчикам просто нужно знать, где искать, и разработка под Android станет для них легкой!

Ты можешь найти BeTrains в Google Play, и вы захотите взглянуть на HoloEverywhere, если вы заинтересованы в разработке Android.

Мэтью Руно - Zappos

В отличие от некоторых более мелких независимых разработчиков, с которыми мы говорили, мы также слышали от Мэтью из Zappos. Zappos - это корпорация, занимающаяся розничной торговлей через Интернет, и, вероятно, у нее есть выделенный бюджет на дизайн как своего веб-сайта, так и своих приложений. Я также регулярно покупаю у этой компании, но это не имело никакого значения, и Мэтью не знал, что я частый клиент, когда он вызвался.

В Zappos, поскольку мы являемся розничным продавцом, мы должны в первую очередь придерживаться собственного бренда. Дурацкий, веселый и немного нестандартный. Тем не менее, мы оба твердо верим в рекомендации по дизайну Android - и все, что мы делаем в пользовательском интерфейсе, взято из духа этих правил. Год назад наше приложение было в основном портом для iOS, судя по тому, как оно выглядело и работало. Сегодня это (я думаю) жемчужина того, что вы можете делать в Android. По возможности мы придерживаемся рекомендаций, и наши дизайнеры исходят из них.

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

Руководящие принципы никогда не должны сдерживаться. Некоторые вещи - общая навигация - должны быть последовательными, чтобы ваше приложение «просто работало». Все остальное - начните с рекомендаций и работайте со своим дизайном. Мы хотим, чтобы наше приложение было НАШИМ, поэтому мы не можем просто создать базовую голографическую тему.

В этом году мы начали с того, что полностью переписали наше приложение для работы с фрагментами. За последние 6 месяцев мы много работали над добавлением поддержки 7-дюймовых планшетов, а в настоящее время мы работаем над поддержкой 10-дюймовых. Сложнее всего тестировать на устройствах, но у нас есть отличная команда QA, которая помогает с этим. С августа или около того у нас было 2 человека, работающих полный рабочий день над нашим приложением, а до этого это был 1 человек.

Суть в том, что, на мой взгляд, рекомендации по проектированию Android помогают нам оптимизировать наш процесс и тем самым сократить расходы. Посмотрим правде в глаза, большинство дизайнеров из iOS, так что наличие отличного ресурса, такого как design.android.com, является прекрасным подспорьем для их запуска в экосистеме Android.

Я могу сказать, что выбор дизайна Zappos работает хорошо, и у моей жены есть шкаф, полный одежды, кошельков и ботинок, подтверждающих мое утверждение. Посмотрите их Приложение для Android из Google Play.

Джош Бертон - jRemote

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

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

Меня действительно расстраивает, что на многих устройствах нет макетов планшетов. Если ваше приложение построено с использованием фрагментов, добавить макет планшета можно за 30 минут. Честно говоря, это так просто.

Я думаю, что для многих разработчиков у них нет планшетных устройств для тестирования, а использование эмулятора может быть проблемой. Но только что выпущенные новые инструменты ADT значительно упрощают эту задачу. Представление с несколькими конфигурациями в редакторе макета означает, что вы можете видеть, как выглядит ваш макет, на экранах 5-6 разных размеров одновременно. И это быстро. Конечно, вам все равно нужно будет протестировать на эмуляторе / устройстве, но это определенно ускоряет рабочий процесс.

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

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

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

Это лучшие беспроводные наушники, которые вы можете купить по любой цене!

Лучшие беспроводные наушники удобны, отлично звучат, не стоят слишком дорого и легко помещаются в кармане.

Все, что вам нужно знать о PS5: дата выхода, цена и многое другое
Следующее поколение

Все, что вам нужно знать о PS5: дата выхода, цена и многое другое.

Sony официально подтвердила, что работает над PlayStation 5. Вот все, что мы знаем об этом на данный момент.

Nokia запускает два новых бюджетных телефона Android One стоимостью менее 200 долларов
Новые Нокиас

Nokia запускает два новых бюджетных телефона Android One стоимостью менее 200 долларов.

Nokia 2.4 и Nokia 3.4 - последние дополнения к линейке бюджетных смартфонов HMD Global. Поскольку оба они являются устройствами Android One, они гарантированно получат два основных обновления ОС и регулярные обновления безопасности на срок до трех лет.

Лучшие портативные мгновенные фотопринтеры для устройств Android
Печатайте на ходу!

Лучшие портативные мгновенные фотопринтеры для устройств Android.

Вы в пути и создаете воспоминания на своем мобильном телефоне. Цифровой формат - это прекрасно, но почему бы не попытаться сделать эти воспоминания более долговечными с помощью осязаемой фотографии?

instagram story viewer