Что лучше: Android Lollipop или iOS 8

Прочитай я такой заголовок, я бы подумал, что его автор — идиот. Сравнивать два кардинально разных обновления кардинально разных систем достаточно глупо и бессмысленно.

👌 В телеграм-канале «Лайфхакер» лучшие статьи о том, как сделать жизнь проще.

Однако вопрос на Quora с аналогичным названием, получил очень интересный ответ от Глена Уильямса. Его мнение о том, почему у Android так много оперативной памяти мы уже публиковали здесь.

Теперь он снова отличился и рассказал, какое же обновление лучше с точки зрения инновационности, полезности пользователю и производительности.

Далее прямая речь.

Если вы собираетесь писать ОС для мобильных устройств, вы должны помнить о нескольких вещах:

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

iOS стала результатом программных наработок NeXT, переделанных под мобильную платформу. Она работает практически идеально, так как написана машинным (нативным) языком программирования. Это означает, что он создавался именно под это железо.

ОЗУ в iOS также используется максимально эффективно и на приложения отводится минимальное количество памяти, которое нужно для их оптимальной работы.

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

Почему Google приняла такое странное решение и принялась делать Android на Java? Я думаю, что всё из-за того, что они были в роли догоняющих. После выхода iPhone им нужно было максимально быстро выпускать собственное устройство, чтобы захватить большую долю рынка. Поэтому вместо того, чтобы разработать собственное решение, они использовали бесплатное Linux ядро и Java, который быстро переделали под себя, чтобы не платить за лицензию Oracle.

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

И Android до сих пор пожинает эти плоды.

Это упрощённая версия страницы.

Читать полную версию
Если нашли ошибку, выделите текст и нажмите Ctrl + Enter
Александр Журович
31.10.14 12:03
По-моему, для вас самого не все ясно в этом вопросе. >> разница в том, что Java выполняется внутри виртуальной Java-машины, а ObjC напрямую использует системные вызовы. Хотите сказать, что эта разница несущественна? O.o Особенно для мобильных процессоров? >> Преимущество iOS в том, что оно создается под конкретный набор хорошо совместимого железа, драйвера под которое для iOS разрабатывает сама Apple, результат соответственно получается лучше. Для Android-системы тоже имеется ряд требований к железу, дабы обеспечить более-менее приемлемую совместимость. Плюс крупные производители сами дотачивают систему под свои девайсы. * * * Про Java-ядро в статье нет ни слова. С чем вы спорите…
Nickolay Yurin
31.10.14 12:28
Все о разнице Java и ObjC отлично расписано тут http://cocoadev.com/JavaVersusObjectiveC >> Хотите сказать, что эта разница несущественна? O.o Особенно для мобильных процессоров? Никогда не отрицал, что Java менее ресурсоэффективная. Но тем не менее, я говорил только о технической стороне вопроса, а не пытался оспорить утверждение. >> Для Android-системы тоже имеется ряд требований к железу, дабы обеспечить более-менее приемлемую совместимость. Плюс крупные производители сами дотачивают систему под свои девайсы. Многие драйвера для различных компонентов проприетарные и поменять их производитель устройства не может. Согласитесь, что когда компания самостоятельно разрабатывает ПО, это обеспечивает лучшую поддержку и интеграцию с другими, заранее известными, компонентами. >> Про Java-ядро в статье нет ни слова. С чем вы спорите… Видимо я неправильно понял суть предложения. И да, я ни с чем не спорю.
Сергей Марченко
31.10.14 23:37
Обожаю слепых фанатов)
Александр Журович
31.10.14 23:46
Да-да, я это часто слышу, когда «оппоненту» нечего сказать по теме. Целоваться только не будем, ладно? Знаю я вас, обожателей… :)
Читать все комментарии