Android основан на ядре Linux, но оно было
существенно изменено. Какие основные
сложности встали перед инженерами при
создании мобильной операционной системы?
Какие основные ошибки были допущены, и что
нужно исправить пока не поздно?
Разработчики изначально сильно изменили его. Проблема, с которой столкнулись в процессе, заключалась в необходимости соблюдать дедлайны. Модель работы open source сообщества — это вообще не про временные рамки, так что Android изначально был обречен на то, чтобы развиваться за пределами комьюнити. Когда вы работаете над чемто много лет, получается ядро со значительными изменениями.
Чтобы уложиться в жесткие промышленные сроки, оставаясь вне рамок сообщества, пришлось внести в ядро новую функциональность, например, вейклоки (Wakelocks модуль, чтобы ядро засыпало как можно скорее, но не делало это, например, во время разговора по телефону — прим. ред.).
С того времени Linaro (некоммерческая организация, занимающаяся консолидацией и оптимизацией программного обеспечения — прим. ред.) несет бремя по получению приемлемого для сообщества кода Android, так что он приблизился к основной линии разработки Linux.
Это урок на будущее. Вместо того чтобы работать отдельно, с самого начала они должны были использовать модель сообщества. А функции, которые будут нужны на момент выхода продуктов, добавлять в патчах.
Это похоже на разработку ядра Parallels Virtuozzo Containers. Мы постоянно работаем над добавлением частей кода open-source продукта OpenVZ (реализация технологии виртуализации на уровне операционной системы — прим. ред.) в kernel-ядро Linux. Если на момент релиза не хватает какихто функций или они не доработаны, мы добавляем их в патчах. Такая модель работы позволяет сохранять ядро ближе к основной линии.
Oracle утверждала, что Java в Android используется незаконно, но они не смогли доказать это в суде. А что если бы они выиграли? Насколько серьезной проблемой это стало бы для Androidсообщества и для какой именно компании?
Возможно, это стало бы большой проблемой для userspace Android, ведь он полностью основан на Java. Однако если вы посмотрите внимательней на выдвинутые Oracle обвинения, их победа имела бы существенные последствия для отрасли в целом.
Проще говоря, Oracle заявляли о своих правах на интерфейсы для Java, очевидно, добиваясь отчислений от других разработчиков под Android. Впрочем, эту проблему наверняка можно было решить адаптацией Android под бесплатную версию Java от Oracle под GPLv3. Но это было бы первым шагом к незаконному использованию clean room реверсинжиниринга (разработка известных функций в «чистой среде», без знаний о закрытых технологиях конкурентов — прим. ред.), что сильно повредило бы разработке продуктов с открытым и даже закрытым исходным кодом.
Так почему же Java (Dalvic) так важна для Android?
Модель создания Androidприложений основана на Java. Dalvic — версия Java, созданная методом clean room. Это одна из самых необходимых деталей в Android. С ее помощью уровень приложений для Android отделен от ядра, а restricted API — средство сделать любой пользовательский интерфейс.
Без некоторых интерфейсов, например Java, было бы намного сложнее скрыть различия в оборудовании между разными андроидустройствами. И намного больше сил приходилось бы тратить на создание приложений для работы на каждом смартфоне или планшете.
А почему Project Butter появился только в Android 4.1? Сложно поверить, что до этого Google не понимала важность плавной работы интерфейса.
На самом деле это нельзя назвать проблемой open source разработки. Я верю, что цитату Вольтера можно применить к Android: «Лучшее — враг хорошего». В первую очередь Google нужно было представить разработку, которая может стать конкурентом Apple. Заниматься доработками (а именно этим является project butter) можно позднее, по мере дальнейшей работы над проектом. Изначально для Android важнее было иметь хоть какойто интерфейс, а не плавный и «сияющий».
Есть информация, что бренд «Galaxy» становится популярней «Android». В новых сервисах все чаще используется приставка «Google». Я имею в виду Google Now, Google Glass, Google Babble… Как вы думаете, может ли Google разделить мобильную операционную систему на два направления: «Google OS» для флагманов и «Android» для недорогих смартфонов и, например, часов или автомагнитол?
Если вы говорите о делении Linux на два направления, это уже есть. Google занимается разработкой Chrome OS и Android. Я не вижу возможность еще большей фрагментации. Android обладает широкими возможностями изменения, этим пользуются сторонние производители для кастомизации операционной системы. И он достаточно хорош для использования в часах и автомобилях, так что нет нужды в создании еще одной встраиваемой операционной системы.
Однако речь идет о проекте с открытым исходным кодом, и он на уровне «инстинктов» стремится к унификации, чтобы в итоге все попало в основной поток разработки. Я думаю, фрагментация изза кастомизации и форки Android просуществуют недолго, хотя я не стал бы заходить так далеко, чтобы утверждать о становлении Android доминирующей операционной системой.
В заключение хочется спросить, что вы думаете Ubuntu Mobile? Будет ли она популярной?
Проблема Ubuntu Mobile в том, что она выходит на рынок третьей, после Android и Tizen. Это не значит, что операционная система не будет популярной, но будет нелегко убедить людей попробовать ее, потому что на рынке уже будет два альтернативных варианта, а Ubuntu Mobile — новичок. Впрочем, я пока не видел никаких прототипов, так что это все лишь общие наблюдения за рынком.
Пиар параши для анальных рабов. Минус.
Искренне желаю ей успехов, хоть одна полноценная ОСь.
18–05–2013 19:02:52 Аппрувер одобрил пост.
>>2001620
Но там нет ни слова про эпл
สสสสสสสสสสส
สส
สสสสสสสสสสส
Пиар ведропараши.
Юра
Добро
Два
IIIIIIIIIIIIIIII
балабанов на хуй скок
0
00
00
0
00
0
Читают: 1
Я читал. Очкопетух очком позировал.
0
00
Ньюфагов полон тред.
.
Ведроид — говно
http://youtu.be/0VQr6_ujKcA
Лишь бы код оставался свободным и открытым.
На остальное похуй.
(← + Сtrl) вернуться назадк новым сообщениям (Сtrl + →)