Ревизия vs версия
АрхивВ этом году обновляются обе ведущие операционные системы для карманных компьютеров. Давайте посмотрим, что обещают разработчики, и прикинем, насколько это нам будет нужно.
В этом году обновляются обе ведущие операционные системы для карманных компьютеров. Microsoft выпускает вторую редакцию Windows Mobile 2003, а PalmSource представляет сразу две системы: Palm OS 6 Cobalt (для устройств верхней ценовой категории) и новую версию 5.4 Garnet — для моделей low-end и смартфонов. Давайте посмотрим, что обещают разработчики, и прикинем, насколько это нам будет нужно.
Разработчики Windows Mobile 2003 SE (официально Билл Гейтс объявил о ее выходе 25 марта) делают упор на поддержку новых экранных разрешений 240x240 и 240x320, а также 480x480 и 480x640; для смартфонов предусмотрены режимы 176x220 и 240x320. Удвоенная резкость и высокие разрешения должны способствовать высокой четкости изображения, что особенно важно при работе с текстом. Чтобы на небольших экранах с VGA-разрешением не пришлось ломать глаза, в новой Windows Mobile перерисованы значки и позволено настраивать размер шрифтов.
Раньше ландшафтную (горизонтальную) ориентацию экрана в карманных компьютерах на Windows Mobile можно было получить, только используя программы от сторонних производителей, но их удобство оставляло желать лучшего. Теперь поворот экрана будет поддерживаться на уровне операционной системы. Старые приложения при установке хоть и будут выдавать предупреждение, но все же должны нормально заработать на новых дисплеях при помощи технологии Pixel doubling. Проблема только в том, что для их функционирования в ландшафтной ориентации экрана разработчикам придется переписать весь код; некоторые так и сделали, но ряд приложений все же останется не полностью совместимым с новой ОС.
Многие графические приложения (читай, игры) станут красивее благодаря высокому разрешению экрана, к тому же горизонтальная ориентация откроет новые возможности. Но вот размер приложений с переписанным кодом может возрасти настолько, что некоторые разработчики даже не уверены, стоит ли овчинка выделки. А из-за отмены привычного интерфейса разработки Game API у современных мультимедийных программ могут возникнуть проблемы с совместимостью.
Остальные изменения, да и те мелкие, интересны только программистам: Microsoft не представила даже нового SDK, вместо которого доступны некие «средства разработчика» — Developer Resources. Еще можно отметить разве что переработанный экран Today да Pocket Internet Explorer, который наконец-то научился так отображать сайты, чтобы не нужна была горизонтальная прокрутка. В общем и целом улучшений явно недостаточно для новой версии, но вот для второй редакции — вполне.
Многие производители, например Hewlett-Packard, уже заявили о том, что предоставят своим покупателям возможность загрузить обновление и перепрошить ROM, если, конечно, объем памяти позволит. Больше всего эта новость должна заинтересовать обладателей аппарата Toshiba e805, который хоть и оборудован VGA-дисплеем, но поддержка разрешения 640х480 в нем реализована неудобно и только для отдельных программ; фирма пообещала, что уже в мае владельцы e805 смогут скачать обновление и наслаждаться нормальной работой. Аналогичный экран будет у модели ASUS MyPal A730, которая вскоре появится на прилавках, а MyPal A716 можно будет обновить.
В отличие от Евгения Козловского, я не думаю, что Microsoft отстала со своей Windows Mobile «на-фсе-кта» (см. «Огород» на www.compulenta.ru/dk/offline/2003/90/31494) — не того масштаба игрок, чтобы списывать его со счета. Но сейчас, вне всякого сомнения, платформа Palm сильно вырвалась вперед, и если летом-осенью обещания разработчиков действительно воплотятся в конкретные устройства, то отставание Microsoft станет-таки критическим. Об удобстве использования, продуманном интерфейсе и эргономике мы говорить не будем («священные войны»1 — удел форумов), иначе придется рассказывать о вкусе устриц тем, кто их не пробовал (а тем, кто пробовал, — зачем рассказывать?). А вот функциональность и масштабируемость устройств на Palm OS 6 будут непревзойденными. То, что КПК на Windows Mobile 2003 SE смогут работать в разрешении VGA (и, следовательно, использоваться, например, в промышленных терминалах и планшетах), конечно, здорово. Но, во-первых, планшеты на Windows .NET и с большими разрешениями уже давно есть на рынке, и погоды особой они не делают, а во-вторых, разрешение 640x480 по сравнению с поддерживаемым Cobalt 32000x32000 (причем производитель может сам устанавливать резкость экрана и его размеры) как-то… не впечатляет. Тем более что нужда в высоком разрешении экрана КПК на любой ОС представляется сомнительной: размер дисплея не увеличишь, а разбирать написанное все-таки хочется.
Разработчики Windows CE не учли, что карманные компьютеры отличаются от настольных, и реализовали работу с памятью и приложениями более или менее аналогично «взрослой» Windows: вся память делится на два динамических сегмента, объем которых пользователь может контролировать, — Storage (Хранилище) и Programs (Программы); в Хранилище лежат пользовательские данные, туда же устанавливаются приложения (как на жесткий диск), а Программы — это, собственно, оперативная память, в которой обитают запущенные программы. При таком раскладе запущенное приложение находится в памяти наладонника в двух экземплярах: в Storage и в Programs. Но это еще не все. Если, пресытившись пасьянсом, вы нажимаете заветный крестик в правом верхнем углу, то приложение не закрывается, освобождая память, а сворачивается и продолжает втихаря потреблять системные ресурсы. Следующая запущенная программа тоже копируется в память и после употребления тоже сворачивается; и так далее. Это великолепное изобретение называется умным сворачиванием (Smart Minimize); при работе на сферическом наладоннике в вакууме2 операционная система автоматически закрывает слишком долго висящие в фоне программы, но при работе с КПК на нашей грешной земле этого почему-то не случается. Программы накапливаются в памяти, которая, не будучи резиновой, рано или поздно заканчивается, вследствие чего компьютер начинает все чаще и все дольше задумываться о своей нелегкой судьбе. В совокупности это называется многозадачностью. Почему-то она в таком виде не устраивает пользователей, и они зовут на подмогу либо утилиты, которые делают из крестика умного сворачивания крестик глупого закрытия, либо приложения типа iTask (им комплектуются наладонники HP iPAQ), которые позволяют контролировать память программ и вручную отстреливать фоновые задачи. В общем, все хорошо.
Palm OS делалась немного по-другому и другими людьми. Они создавали не маленький PC, а новую платформу и новую идеологию, поэтому пошли своим путем, который на сегодняшний день оканчивается Palm OS 6 Cobalt. Ее разработчики учитывают, что интерфейс карманного компьютера, в частности, предполагает, что большую часть времени пользователь работает с одним приложением. Субстанциальными фоновыми задачами в КПК можно назвать только работу со звуком (запись и проигрывание) и с сетью. У Pocket PC с этим всегда было все в порядке; фоновое воспроизведение музыки на «Палмах» реализовано уже давно3, а вот работа с сетевыми соединениями и запись звука — нет. В Cobalt этот недостаток обещают устранить.
В «шестерке» приложения будут работать в нескольких «нитях» или «потоках» (thread), то есть, грубо говоря, вместо одной жирной программы будет несколько легких, работающих независимо, но для достижения единой великой цели. К примеру, у музыкального плейера будут нити основного интерфейса, кодека, воспроизведения, работы с картой памяти и т. д. При нормальном запуске они работают все. После переключения в другое приложение нить интерфейса отключается, освобождая память, остальные же, как те сакраментальные батарейки, продолжают работать, работать и работать. По желанию пользователя может временно образоваться новая нить, например всплывающая поверх экрана другой программы консоль управления. После того как список песен заканчивается, остальные нити тихо умирают, освобождая память. Аналогично должны функционировать прочие программы: почтовый клиент закрыт, на экране страница Terralab.ru, но нить, регулярно проверяющая почтовый ящик, в фоновом режиме делает свое незаметное, но архиважное дело. Как только приходит новое письмо с предложением увеличить пенис или изучить американский английский, запускается новая нить, которая скачивает — незаметно! — почту и извещает об этом пользователя (судя по эмулятору Cobalt — значком в статус-баре). Тот запускает загрузку новой страницы, открывает почтовый клиент (интерфейсная нить браузера завершается, поток загрузки страницы продолжает выполняться, открывается новая нить — интерфейс почтовой программы) и приступает к настройке спам-фильтра.
Все это благорастворение воздухов возможно только с программами, специально написанными для Palm OS 6 с использованием нового Protein API и работающими не через эмулятор 68K, а напрямую. Старые же программы, не осведомленные о многозадачности ОС, распускаться нитями не умеют и без портирования не научатся работать на заднем плане (при переключении в фоновый режим их жизнедеятельность будет приостановлена). PalmSource рекомендует программистам писать все по-старому в том случае, если они желают полной совместимости своего творения со всеми современными КПК на Palm OS, и по-новому, если желают воспользоваться преимуществами Cobalt, в первую очередь — многозадачностью. На сайте PalmSource (www.palmsource.com/index.html) есть специальные статьи для разработчиков, посвященные переносу старых приложений на OS 6, а SDK и эмулятор доступны уже давно.
PalmSource планирует, что некоторое время старые и новая операционные системы будут мирно сосуществовать. Cobalt, притом, что имеет неоспоримые преимущества (практически полностью переписанный с учетом современных требований код, поддержка очень высоких разрешений экрана и больших объемов памяти, шифрование, поточная многозадачность и прочее — при полной совместимости со старыми приложениями!), видимо, потребует более мощных ресурсов для комфортной работы. Поэтому для будущих low-end-устройств (судя по описаниям, это нынешний hi-end) и смартфонов предназначена Palm OS 5.4 — Garnet, которая является той же «пятеркой», но со множеством исправлений и с некоторыми улучшениями, среди которых можно отметить поддержку всех возможных расширений экрана от 160x160 до 320x480 и нововведения, касающиеся интерфейса.
Что ж, оба производителя обещают нам прекрасное будущее, ничего не скажешь. Как это будет на самом деле — увидим. Надо полагать, уже в этом году.
1 Holy Wars — священные войны — бесконечные и бессмысленные разговоры людей, располагающих огромным количеством ненужного им времени, на волнующие их темы: что лучше, OS/2 или Windows, Linux или Windows XP, Intel или AMD, BMW или Audi?
2 Из анекдота про физика-теоретика, которого попросили рассчитать лошадиную силу. Начал он с того, что вычислил скорость передвижения сферического коня в вакууме.
3 Впервые это сделала Sony, отдельным чипом. Отличное решение, которое обеспечивало непревзойденно малое энергопотребление и было очень эргономичным.