`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Андрей Зубинский

Увидеть Android изнутри и...

+1214
голосов

влюбиться. Причём осознано.

Речь идёт о userspace Android. Это прекрасно. И очень узнаваемо.

Для начала - внезапное. Android - это Inferno (если кто знает такую ОС, кто не знает - тугугль).  С человеческим лицом и человеческим внутренним миром. Без ада Данте Алигьери и соответствующей терминологии.

Это я к тому, что ещё в субботу водрузил на свой компьютер SDK Android, в составе которого есть эмулятор системы (он для разработчиков и потому весьма неспешный, но если к нему добавить Eclipse и соответствующий плагин, всё просто поёт), ещё один эмулятор - пользовательский, шустрый, и залип на документации разработчика и книгах по пррограммированию Android.

Буду краток - браво, Google!

В userspace Android мне нравится всё. Хотел бы придраться к чему-либо, но не могу. И ключевая компонентная идея нравится - в Android надсистемное ПО строится из Java-компонентов, для чего Java-машина обладает способностью запускать не только main-функцию, но и любой класс (компонент). Безоговорочно нравятся механизмы  "пожеланий" (мне так приятнее переводить intents), приёмников широковещательных сигналов (broadcast recievers), провайдеров  контента, в общем - вся архитектура userspace. Файлы заголовка  (manifest file) - тоже прекрасно. И так далее. Я только пока заныриваюсь поглубже в userspace, и получаю удовольствие, какого давно не получал от программ вообще.

И имею кое-что сказать по этому поводу.

Нечто совершенно неожиданное.

А именно: в Google сделали ту самую пользовательскую Unix, о которой так долго и бесполезно болтают все, кому не лень. Да,  Android - это долгожданная user- и programmer- friendly Unix. На уровне userspace - она самая.

Поясню.

Пользовательский уровень Android сделан людьми для людей. Не  надо отдавать 10+ лет жизни на изучение middleware типа Corba. Не надо непрерывно изучать от версии к версии совершенствующиеся тулкиты. Не надо скакать от языка программирования к языку. Надо делать приложения, нужные и полезные людям.

Чёткая архитектура с прозрачным, обозримым и ясным набором ключевых классов компонентов (классов не в Java-смысле), фактически программная шина в основе общесистемного механизма оповещения, облегчённый до разумного предела IDL (Interface Description Language, это из мира middleware) и максимальное упрощение удалённого (в Android - межпроцессного) вызова процедур, надёжная защита от изнемогающих желанием что-нибудь написать начинающих системных программистов (которые плодят примитивы, тулкиты и штампованно одинаковые мелкие приложения, в Android в этом нет нужды, это можно, но система так устроена, что никакого смысла в этом я лично не вижу, а я такой не один). Это очень и очень много по сравнению с тем, что на уровне userspace смогли сделать во всех Unix-подобных проектах за Бог весть какие времена.

Стратегической ошибкой на userspace уровне Android, конечно же, было изначальное жёсткое фиксирование экранного разрешения 320x240. Ну просто недопустимая ошибка. Сейчас она исправляется, конечно. Очень хочется, чтобы впредь таких ошибок не было. Потому что ни KDE, ни Gnome - то, что сегодня формирует userspace Unix-подобных систем, - в подмётки Android не годятся (неврастеникам советую почитать программистскую документацию Android, хорошо подумать, а потом уже в меня плевать, если, конечно, потом захочется).

Берусь утверждать странное - userspace Android открывает второе дыхание... рабочим станциям Unix. Всё, чего не хватает системе - точного позиционирующего устройства (мышь + курсор), причём не фундаментально общесистемного, а инициируемого некоторой активностью (activity - это терминология Android, это компонент с пользовательским интерфейсом) по мере необходимости. Всё. Рабочая станция с тактильным экраном и возможностью точного позиционирования указателя - это очень OK. А тактильные экраны будут очень быстро падать в цене. Они уже очень быстро падают, а дальше всё будет ещё  быстрее.

В общем, Android внутри - это очень красиво и радостно.

Что ничуть не отменяет специфики нашего дивного "рынка" (я бы сказал - базара) при выборе Android-устройства как варианта покупки. В любом случае, андроидным таблетом я обзаведусь - уж больно понравилась система, редчайший случай, когда гиковский подход (а ниже userspace Android - чистый хак Linux) порождает такой красивый артефакт. Но не смартфоном. Потому что во всех прекрасных реалиях именно в смартфоне не вижу смысла, увы.

Отступлений от темы в этот раз не будет, продолжу возиться с эмулятором и книгами, очень уж это красиво. Советую всем программистам (особенно Javaлюбам) - загляните в Android. "Ето кайф, марожено!" ((с) Лесь Подервянский)

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+1214
голосов

Напечатать Отправить другу

Читайте также

Согласен на все 100%. Очень приятная на ощуп система. Явно разработчики думали о том, как дать программистам набор самых актуальных инструментов. Очень многое можно взять с полки и использовать мгновенно.
Интеграция с Eclipse на высшем уровне.
В Android API, на самом деле, новых каких-то инновационных решений нет. Всё просто построено очень грамотно, по современным правилам дизайна ПО, и очень многие приёмы хорошо знакомы и понятны.

И на что ты планируешь ориентироваться? На 2.х? Или будешь ждать 3.0?
И на какую железяку глаз положил, кстати? Я вот на моторолу поглядываю...

Андрей, опомнитесь! :-) У вас очень влюбчивая натура.
Было время, вы пели такие дифирамбы Линуксу :-)

Выйдет Вин7Телефон и ваша любовь может завянуть не распустившись.

Вот честно? Сейчас, с вершины конца 2010 как-то уже глубоко пофигу, чО и как оно там внутрях.

Единственное QNX может представлять чисто практический интерес, как платформа без ограничений. Но не судьба ей протолкнуться среди таких упырей, как МС, Аппле, Гугл..

Вообще-то, мне всегда нравилась Unix. И уж куда больше чем Linux - семейство BSD.
Равно мне нравится всё красиво устроенное.
Это нормально, мне кажется.
QNX мне тоже нравится внутренней красотой.
Но и Android отказать не могу.
Про Windows Phone 7 пока ничего сказать не могу. У меня есть большой опыт "общения" с устройствами на Windows Mobile вплоть до версии 6.5.5. Нормальная система, работающая (при некоторых условиях). Но без той красоты внутри, которая есть у Android и QNX.

Да, и самое главное.
Если вам "с вершины 2010 года" глубоко пофигу - совершенно не факт, что так же должно быть, например, мне. И ещё многим людям. Любопытство никто не отменял даже на вершине 2010 года, ггг

Т.е. всё на java? Гм, а Ларри не обидится? :)

А еще пару недель назад QNX был форева, а Андроид - г..но. ;-)

Ну нельзя так. ;-) Сделайте одно приложение, разместите его в маркетплейс, поиграйтесь с совместимостью версий ОС, с кучей конкурентов и т.д.

Вот тогда и послушаем. ;)

Linux is like a wigwam - no windows, no gates, aрache inside!

вы как-то читаете странно, уж извините.

но если вам удалось прочитать написанное про QNX как "форева", то, конечно, флаг в руки. но незачем меня этим флагом тревожить.
мне нравится QNX.
нравится Android.
потому что они красиво сделаны.
мне вообще всё красиво сделанное нравится.
так уж я устроен.

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

это всё не доводы.

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

Linux is like a wigwam - no windows, no gates, aрache inside!

у меня нет розовых очков.

просто мне нравится userspace Android.

насчёт совместимости - я пока не добрался до нюансов. но доберусь. сверху вниз, по логике, она должна быть. наоборот, опять же, по логике, её и не должно быть. но это ещё изучится, всему своё время.

Андрей, плз, ответь на второй сверху пост.

7" таблетка с ёмкостным тачскрином, 1 GHz ARM и 2.2 Froyo.
не A-бренд.
больше 250 евро тратить не вижу смысла, мне она нужна как гиковская игрушка и для экспериментов.

Как присмотришь что-то конкретное - уж потрудись, сообщи! Или в ЖЖ, или здесь, хорошо?

ZT-180? Там, правда, 10.2" экран. До 230$
-
Дилетант широкого профиля

С позиции "userspace" Windows Phone безусловно куда круче, даже сравнить трудно.

CLR, Silverlight -- намного основательнее Андроидского API, больше высокоуровневых вещей готовых есть, лучше продуманы примитивы, да и язык C# на сегодня уже обошёл Java по части современных трюков -- функциональщина, параллельность.

Очень хороший анализ WP7 vs. Android здесь рекомендую:

http://www.theleagueofpaul.com/blog/2010/07/21/winmopho-vs-android-from-...

В то же время, Windows Phone при всех его технологичных преимуществах имеет ряд смертельных недостатков (непрограммистских). И беда WP в том, что его недостатки неисправимы. Ну если в платформе заблокирована многозадачность -- как тут помочь?

А недостатки Android вполне в области достижимого. Ну, нету связывания данных (data binding) -- так его можно написать. Кострубатый эмулятор, неудобная отладка -- ну доделать самому, найти альтернативу или дождаться от Google.

Так что, хоть и десять лет моей карьеры я вгрызался в .NET, мои ноги голосуют за Андроид. Купил Samsung Galaxy S, тоже колупаю API, разбираюсь с отвратительными приколами Java. А статьи о Windows Phone проглядываю по диагонали, бессмысленная трата времени.

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT