Holy war: Android vs iOS

User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

olis wrote:Кстати, почему под Эппл нет преферанса ? Никто писать не хочет потому что денег не принесет?

Image
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

rzen wrote: с игрушками похоже та же картина, платить никто не хочет, соответственно подкидываться не охота. впрочем на игрушках я не хочу пока фокусироваться, там возможны технические сложности, может интеррапт просветит?
По большому счету, там не такие уж и технические сложности. На самом деле, мало мальски солидную игрушку изначально начинают писать на С/C++, так как таким образом проще игровой движок перенести с iOS на Android и в обратном направлении. Но ес-но таким образом можно авто-спортировать процентов 80 кода, а дальше остаются эти самые 20%, под которые нужно начинать портировать под разные размеры экрана, процессоры (я про скорость), модели производителей. Это в случае с Андроидом. К тому же игровая компания, которая бережет свою репутацию, не может просто так протестировать на десятке моделей Андроид телефонов и выложить в Google Play. Потому что есть очень хорошая вероятность, что на куче других телефонов - что-то пойдет не так или даже будет крэшаться. А это обозначает, что люди будут оставлять негативные ревью на Google Play и ставить низкий рейтинг, от которого потом отмыться очень сложно. А негативная репутация потом может аукнуться потом даже под App Store (типа, "а... нет, плохая игрушка, я или мой друг под Андроидом пробовал"). Вкупе с довольно печальными продажами игр под Google Play - это все приводит к тому, что разработчики не хотят тратить массу усилий и денег на портирование под кучу Андроидных телефонов и таблеток зная, что финансовый output будет не таким уж и хорошим.

Для 3D игрушек возможно это будет некоторым образом сглаживаться тем, что многие начинают писать под Unity 3D. Но Unity не дешев - 1,500 за собственно Pro версию, и еще в дополнение 1,500 - за Android Pro и 1500 - за iOS Pro. Но и даже там, разработчик всегда захочет протестировать на всех современных телефонах (а я видел глюки у Unity под разные модели Android телефонов).
olis
Уже с Приветом
Posts: 4935
Joined: 02 Mar 2002 10:01
Location: UK

Re: Holy war: Android vs iOS

Post by olis »

Интеррапт wrote:
olis wrote:Кстати, почему под Эппл нет преферанса ? Никто писать не хочет потому что денег не принесет?

Image
На Эпплсторе нет, поиск во всяком случае ничего не находит
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

olis wrote:На Эпплсторе нет
Есть, я только что проверил на телефоне. PrefDesk называется. $0.99 стоит.
Ну и вот ссылка: http://itunes.apple.com/us/app/prefdesk ... 29978?mt=8
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

Интеррапт wrote:
rzen wrote: с игрушками похоже та же картина, платить никто не хочет, соответственно подкидываться не охота. впрочем на игрушках я не хочу пока фокусироваться, там возможны технические сложности, может интеррапт просветит?
По большому счету, там не такие уж и технические сложности. На самом деле, мало мальски солидную игрушку изначально начинают писать на С/C++, так как таким образом проще игровой движок перенести с iOS на Android и в обратном направлении. Но ес-но таким образом можно авто-спортировать процентов 80 кода, а дальше остаются эти самые 20%, под которые нужно начинать портировать под разные размеры экрана, процессоры (я про скорость), модели производителей. Это в случае с Андроидом. К тому же игровая компания, которая бережет свою репутацию, не может просто так протестировать на десятке моделей Андроид телефонов и выложить в Google Play. Потому что есть очень хорошая вероятность, что на куче других телефонов - что-то пойдет не так или даже будет крэшаться. А это обозначает, что люди будут оставлять негативные ревью на Google Play и ставить низкий рейтинг, от которого потом отмыться очень сложно. А негативная репутация потом может аукнуться потом даже под App Store (типа, "а... нет, плохая игрушка, я или мой друг под Андроидом пробовал"). Вкупе с довольно печальными продажами игр под Google Play - это все приводит к тому, что разработчики не хотят тратить массу усилий и денег на портирование под кучу Андроидных телефонов и таблеток зная, что финансовый output будет не таким уж и хорошим.

Для 3D игрушек возможно это будет некоторым образом сглаживаться тем, что многие начинают писать под Unity 3D. Но Unity не дешев - 1,500 за собственно Pro версию, и еще в дополнение 1,500 - за Android Pro и 1500 - за iOS Pro. Но и даже там, разработчик всегда захочет протестировать на всех современных телефонах (а я видел глюки у Unity под разные модели Android телефонов).
olis
Уже с Приветом
Posts: 4935
Joined: 02 Mar 2002 10:01
Location: UK

Re: Holy war: Android vs iOS

Post by olis »

Интеррапт wrote:
olis wrote:На Эпплсторе нет
Есть, я только что проверил. PrefDesk называется. $0.99 стоит.
Да, я тоже попробовал. С есть iphones.ru ссылка. Но почему когда я набираю в поиске prefdesk на applestore ничего не находится?
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

olis wrote:
Интеррапт wrote:
olis wrote:На Эпплсторе нет
Есть, я только что проверил. PrefDesk называется. $0.99 стоит.
Да, я тоже попробовал. С есть iphones.ru ссылка. Но почему когда я набираю в поиске prefdesk на applestore ничего не находится?
Ну не знаю. Я набрал именно в телефоне и оно нашлось сразу же. И в iTunes нашлось.
olis
Уже с Приветом
Posts: 4935
Joined: 02 Mar 2002 10:01
Location: UK

Re: Holy war: Android vs iOS

Post by olis »

Интеррапт wrote:
olis wrote:
Интеррапт wrote:
olis wrote:На Эпплсторе нет
Есть, я только что проверил. PrefDesk называется. $0.99 стоит.
Да, я тоже попробовал. С есть iphones.ru ссылка. Но почему когда я набираю в поиске prefdesk на applestore ничего не находится?
Ну не знаю. Я набрал именно в телефоне и оно нашлось сразу же. И в iTunes нашлось.
У меня нет iTunes может поэтому. Но вообще странно все это
User avatar
rzen
Уже с Приветом
Posts: 24375
Joined: 18 Nov 2003 16:42

Re: Holy war: Android vs iOS

Post by rzen »

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

вопрос таки остаётся насущным, а именно, найдут ли девелоперы под андроид модель монетизации не требующую от клиента платить $$ и как это повлияет на ландшафт доступного софта?
Don't code today what you can't debug tomorrow.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

rzen wrote:получается главная беда—фрагментация? какие то подвижки в сторону улучшения на этом фронте наблюдаются? у меня складывается впечатление что они в принципе отложили решение проблемы фрагментации на пару поколений, собссно даже не решение а просто дождаться когда старые девайсы отомрут а новые окажутся с более менее приемлимым общим знаменателем. это (очень) оптимистично два-три года. а к тому времени и софт подтянется.
Фрагментация - очень сильно влияет. Вон гугл уже разрешил несколько разных APK поставлять для одного приложения в Маркет, т.е. фактически признали, что для некоторых игр/приложений нужно делать разные билды для разных моделей телефонов или версий. Начинает напоминать J2ME в этом отношении. Такими темпами скоро пора будет доставать из загашников Antenna препроцессор и прикручивать к Андроиду, как в старые добрые времена. К тому же адаптация новых версий OS идет очень медленно. Например:

Image

всего 5% сидит с Android 4.x, остальные с 2.3.x, которая в конце-2010-го начале 2011-го года была выпущена. 20% пользователей вообще с 2.2 версией, которая в середине 2010-го вышла.

С фрагментацией по версиям - вообще непонятно как Гугл собирается бороться.
User avatar
rzen
Уже с Приветом
Posts: 24375
Joined: 18 Nov 2003 16:42

Re: Holy war: Android vs iOS

Post by rzen »

Don't code today what you can't debug tomorrow.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Holy war: Android vs iOS

Post by crypto5 »

Интеррапт wrote:
rzen wrote:получается главная беда—фрагментация? какие то подвижки в сторону улучшения на этом фронте наблюдаются? у меня складывается впечатление что они в принципе отложили решение проблемы фрагментации на пару поколений, собссно даже не решение а просто дождаться когда старые девайсы отомрут а новые окажутся с более менее приемлимым общим знаменателем. это (очень) оптимистично два-три года. а к тому времени и софт подтянется.
Фрагментация - очень сильно влияет. Вон гугл уже разрешил несколько разных APK поставлять для одного приложения в Маркет, т.е. фактически признали, что для некоторых игр/приложений нужно делать разные билды для разных моделей телефонов или версий.
Так очень сильно влияет или для некоторых игр и приложений?
Вы как опытный разработчик мобильных приложений какие конкретно проблемы испытываете в связи с фрагментацией андроид устройств?
In vino Veritas!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

crypto5 wrote:Вы как опытный разработчик мобильных приложений какие конкретно проблемы испытываете в связи с фрагментацией андроид устройств?
У меня было куча разнообразных проблем (начиная от сети, закачивая с open gl). В большинстве случае конечно не Гугл виноват, а underlying implementation некоторых функций производителем. Вот навскиду то, с чем столкнулся совсем недавно, это когда необходимо было определить user unique id. Ну ес-но начинаются переборы MSISDN, IMSI, MEID, MAC address, при чем на одних и тех же сетях и даже на разных телефонах от одного производителя - работает по разному (на одном MAC адрес определяется, на другом нет). Когда уже все казалось, что работает, в продакшене всплыло, что какая-то модель Самсунгов то ли для MSISDN, то ли еще для чего-то просто хардкодило один и тот же идентификатор для всех телефонов.
Ну и как обычно - разброс по экранам. Очень разнообразные размеры, screen density и т.п. Что в принципе приводит к тому, что нужно тестировать на очень многих девайсах.

Но конечно основная проблема, это когда видишь, сколько всяких вкусностей было добавлено в API в 3.x и 4.x версиях, а нет - использовать их не можешь, потому что baseline все-равно остается 2.2 версия.

Жить сейчас конечно можно. Андроид мне нравится хотя бы даже за то, что если непонятно как что работает - просто открываешь исходники Андроида и смотришь. Но вот очень не хотелось бы, чтобы этот разброс по версиям (и имплементациям от производителя) - продолжал увеличиваться и привел к полному зоопарку годика эдак через 3-4.
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Holy war: Android vs iOS

Post by dotcom »

crypto5 wrote: Так очень сильно влияет или для некоторых игр и приложений?
Вы как опытный разработчик мобильных приложений какие конкретно проблемы испытываете в связи с фрагментацией андроид устройств?
Оно сильно влияет на ВСЕ игры и большинство приложений. Разрешение экрана, разный чипсет (Tegra, Qualcomm и.т.д.), зоопарк версий самой OS, необходимость делать отдельные билды NDK для разных версий. NDK для MIPS только пару неделей назад появилась. Игровые движки помогают конечно. Сам я Unity yа Андроид не пользовался, но знаю людей, которые так и не смогли пройти кросс-платформенный квест и написали игру с нуля, выкуинв движок.
Могу еще рассказать про страшный секрет браузера в Андроиде, который даже в 4.x еще не умеет рендерить анимацию (и вобще любой рендеринг битмапов) на железе, когда iOS это умел со дня рождения? Это особенно смешно в свете маркетинга Гуглем Javascript'а и интерактивных веб приложений.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

dotcom wrote:Могу еще рассказать про страшный секрет браузера в Андроиде, который даже в 4.x еще не умеет рендерить анимацию (и вобще любой рендеринг битмапов) на железе, когда iOS это умел со дня рождения?.
Анимацию в браузере - это вы про какую? GIF animation? Если GIF - то умеет. По крайней мере на моем My Touch 4G с Android 2.3 - GIF анимация рендерится. На каком-то из Дроидов я видел - что не рендерится.
User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Re: Holy war: Android vs iOS

Post by perasperaadastra »

Че-то как-то холивар сошел на нет. :(
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

perasperaadastra wrote:Че-то как-то холивар сошел на нет. :(
Ну он остался в тлеющем состоянии и при случае - вспыхнет. Да и так уже - 170 страниц нахоливарили. Такими темпами топики про Глобал обгоним.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Holy war: Android vs iOS

Post by crypto5 »

Интеррапт wrote:
crypto5 wrote:Вы как опытный разработчик мобильных приложений какие конкретно проблемы испытываете в связи с фрагментацией андроид устройств?
У меня было куча разнообразных проблем (начиная от сети, закачивая с open gl). В большинстве случае конечно не Гугл виноват, а underlying implementation некоторых функций производителем. Вот навскиду то, с чем столкнулся совсем недавно, это когда необходимо было определить user unique id. Ну ес-но начинаются переборы MSISDN, IMSI, MEID, MAC address, при чем на одних и тех же сетях и даже на разных телефонах от одного производителя - работает по разному (на одном MAC адрес определяется, на другом нет). Когда уже все казалось, что работает, в продакшене всплыло, что какая-то модель Самсунгов то ли для MSISDN, то ли еще для чего-то просто хардкодило один и тот же идентификатор для всех телефонов.
Ну вы здесь плохого захотели просто. И еще помнится вы рассказывали что в иос-е такой финт ушами тоже как то не сильно проходил, или я ошиваюсь?
In vino Veritas!
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Holy war: Android vs iOS

Post by crypto5 »

dotcom wrote:
crypto5 wrote: Так очень сильно влияет или для некоторых игр и приложений?
Вы как опытный разработчик мобильных приложений какие конкретно проблемы испытываете в связи с фрагментацией андроид устройств?
Оно сильно влияет на ВСЕ игры и большинство приложений. Разрешение экрана, разный чипсет (Tegra, Qualcomm и.т.д.), зоопарк версий самой OS, необходимость делать отдельные билды NDK для разных версий. NDK для MIPS только пару неделей назад появилась. Игровые движки помогают конечно.
Игры наверняка не просто портируются, но речь выше шла о productivity приложениях. Я пока что не сильно вижу какие проблемы могут быть у них если исповедовать идеи резинового дизайна.
In vino Veritas!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

crypto5 wrote:Ну вы здесь плохого захотели просто. И еще помнится вы рассказывали что в иос-е такой финт ушами тоже как то не сильно проходил, или я ошиваюсь?
Ну не плохого, ес-но вся такая информация не передается, а передается только MD5 или SHA1 хэш без привязки к какой-либо персональной информации о пользователе, как бы это стандартная практика, куча приложений, которые вы загружаете, наверняка могут иметь аналитику от, например, Flurry - так что такого рода информация будет передаваться.
В iOS такой финт вообще не пройдет, т.к. API по unique device id Эппл давече сделал deprecated. Зато можно получить MAC address без проблем, как в обычном Unix, в виде чего-то вроде

Code: Select all

    // Setup MIB
    int mgmtInfoBase[6];
    mgmtInfoBase[0] = CTL_NET;        // Request network subsystem
    mgmtInfoBase[1] = AF_ROUTE;       // Routing table info
    mgmtInfoBase[2] = 0;              
    mgmtInfoBase[3] = AF_LINK;        // Request link layer information
    mgmtInfoBase[4] = NET_RT_IFLIST;  // Request all configured interfaces
    
    NSString* errorMsg = NULL;
    char* msgBuffer = NULL;
    size_t length;
    // With all configured interfaces requested, get handle index
    if ((mgmtInfoBase[5] = if_nametoindex("en0")) == 0) {
        errorMsg = ...
    }
    else {
        // Get the size of the data available
        if (sysctl(mgmtInfoBase, 6, NULL, &length, NULL, 0) < 0) {
            errorMsg = ...
        }
        else {
            // Alloc memory based on above call
            if ((msgBuffer = malloc(length)) == NULL) {
                errorMsg = ...
            }
            else {
                if (sysctl(mgmtInfoBase, 6, msgBuffer, &length, NULL, 0) < 0) {
                    errorMsg = ...
                }
            }
        }
    }

    .. парсим и пропускаем через SHA1
и будет нам счастье, как-никак тут ноги их UNIX растут :)

В андроиде кстати с получением MAC адреса - только в новых версиях можно, если через Android API. А если по старинке (все-таки линукс) читать /sys/class/net/eth0/address то далеко не на всех телефонах срабатывает. На самом деле и с Андроидом и с iOS в этом отношении у меня все нормально имплементировано уже, просто на Андроид девайсах вот вылезали косяки на некоторых моделях, которые не были протестированы (все-таки тяжело на сотнях моделей тестировать).

Если не считать этого, то Андроид дает намного больше контроля и доступа к OS и к железу. Ну и одно из следствий - фрагментация.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

crypto5 wrote:Игры наверняка не просто портируются, но речь выше шла о productivity приложениях. Я пока что не сильно вижу какие проблемы могут быть у них если исповедовать идеи резинового дизайна.
Ну, например, вот эти самые идеи "резинового дизайна" - совсем не подходят для home screen widgets, например. Т.к. там скроллинга нет и все должно четко помещаться в определенные размеры. И начинают вылазить косяки. Например, в 4.0 в настройках есть возможность увеличить или уменьшить общий размер шрифта в системе. Если следовать рекомендациям Гугла и использовать "sp" units для шрифтов, то можно очень легко обломаться, если кто-то поменял общий размер шрифта в системе (а это еще и умеют делать кучи программ, не только в 4.0) - и весь интерфейс home screen widgets оказывается поломан. В таком случае остается применять "dp" units наплевав на тех, кто решил увеличить шрифт, т.к. у него не очень хорошее зрение.

Опять же, даже обычный интерфейс для приложений, если хочется, чтобы он был покрасивше, далеко не всегда можно уложить в стандартные layouts так, чтобы он красиво выглядел на разных разрешениях.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Holy war: Android vs iOS

Post by crypto5 »

Ну на мой скромный взгляд много текста на виджеты кидать не стоит, а если там отдельные слова то ничего они не поломают.
Но это вроде уже совсем какая то другая степь, отдельная от темы фрагментации, будь у айфона виджеты были бы там такие же точно проблемы.
In vino Veritas!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

crypto5 wrote:Ну на мой скромный взгляд много текста на виджеты кидать не стоит, а если там отдельные слова то ничего они не поломают.
Но это вроде уже совсем какая то другая степь, отдельная от темы фрагментации, будь у айфона виджеты были бы там такие же точно проблемы.
Еще как может поломать, даже на отдельных словах. Например, если у вас текст (например, имя города) и внизу картинка с погодой, которая занимает виджет до конца границы - то еще как поломает, если кто-то увеличит шрифт на 50%, например.

Ну про iPhone тут речь вообще не идет - виджеты в iOS - это даже сложно виджетами назвать :)
User avatar
dotcom
Уже с Приветом
Posts: 9035
Joined: 25 Oct 2011 19:02
Location: SVO->ORD->SFO

Re: Holy war: Android vs iOS

Post by dotcom »

Интеррапт wrote: Анимацию в браузере - это вы про какую? GIF animation? Если GIF - то умеет. По крайней мере на моем My Touch 4G с Android 2.3 - GIF анимация рендерится. На каком-то из Дроидов я видел - что не рендерится.
Все перемещения объекта UI из точки X1, Y1 в точку X2, Y2, любая трансформация, скроллинг, визуальные эффекты, - это все анимация. :D Посмотрите на видео двухлетней давности, где CTO Adobe (Кевин Линч который) показывает производительность Flash'а и JS/Canvas с bouncing balls. Так вот, как тормозило, так и тормозит. Спросите, на фига вам bouncing balls? И правильно спросите. Нам они не нужны. Но, как ни странно, элементарный скроллинг на Андродие, что на телефоне, что на таблетах хоть с >1GHz CPU сделать невозможно. Не получается плавно и все тут. Обещали нам GPU acceleration в 4.0. Не успели, - говорят. Вот хотели Chrome доделать для Андроида и сделать возможность Webview с Chrome'овым двигателем. Тоже не успели. Меня очень повеселила новая опция в 4.0 "Force GPU acceleration" в настройках. По умолчанию Off кстати.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Holy war: Android vs iOS

Post by Интеррапт »

А... ок. Я не понял просто про какую анимацию идет речь.
Кстати, GPU acceleration еще в Honeycomb появилась для девелоперов (для applications), правда по умолчанию была off.

Return to “Вопросы и новости IT”