HPC.ru lite - Все форумы
Форум: Palm? Pocket PC? ...? Проблема выбора
Тема: Windows CE.NET vs WindowsMobile PPC

[Ответить]
Jedai [17.09.2007 14:30] Windows CE.NET vs WindowsMobile PPC:
какая более мощня операционка
у какой операционки больше возможностей
больше совместимости
больше софта
плюсы и минусы

ps увидел на фотках и в обзорах WinCE девайсы, похоже что операционка больше напоминате компьютерную (95/98/XP)
Nagasaki [17.09.2007 14:35] :
Для СЕ.NET совсем мало программ, поэтому она распространена меньше. В "Программах" на сайте прог для РРС - 4875, а для СЕ - 88.
Jedai [17.09.2007 23:08] :
Неразбериха с версиями Windows Mobile

На сайте Microsoft в разделе для разработчиков очень часто термины Windows Mobile 6 и Embedded WinCE 6.0 встречаются не только в рамках одного раздела, но и в рамках одной статьи. Между двумя этими названиями установлено много перекрёстных ссылок и, на первый взгляд, действительно кажется, что Windows Mobile 6 построена на базе WinCE 6.0. Эффект усиливается и тем, что в предыдущей версии ОС индексы ядра и системы совпадали. Естественно, что эта информация была ошибочно трактована многими людьми, и в документации к порту FPC для WinCE содержится данная ошибка, которая, надеюсь, вскоре будет исправлена.

Факты таковы:
На данный момент (лето 2007 года), последней версией ядра дейтсвительно является Embedded WinCE 6.0 (Yamazaki), на его базе создаётся Windows Mobile 7 (Photon) — версия, начиная с которой разделения на смартфоны и коммуникаторы больше не будет.

Хотя Windows Mobile 6 и называют порой Windows Mobile Vista, на самом деле сходство у этой системы с настоящей Vista лишь внешнее, так как она базируется на обновлённом ядре пятой версии — CE 5.2. Если проводить аналогию с десктопными системами, то Windows Mobile 6 несёт на себе примерно те же маркетинговые функции, что и XP в своё время — привлечь пользователей красивым, настраиваемым интерфейсом и новыми информационными сервисами. Кроме того, даже названия версий ОС стали подобны названиям версий Windows Vista.

Windows Mobile for Smartphone = Windows Mobile 6 Standard
Windows Mobile for Pocket PC Phone Edition = Windows Mobile 6 Professional
Windows Mobile for Pocket PC = Windows Mobile 6 Classic
Jedai [24.09.2007 10:44] :
Если говорить о различиях между Windows CE и Windows Mobile применительно к приложениям, то основное различие между ними в том, что в Windows Mobile использован свой собственный Shell.

Что значит "использован собственный Shell"? Это значит, что для рисования диалоговых окон, для формирования уведомлений, для взаимодействия с системой используется ряд специфичных функций API. Использование этого API очень упрощает работу программистам, чем они обычно и пользуются. Скачивается специализированный SDK - и вперед. В нем все необходимые библиотеки для использования этого API, примеры и т.п. И если программа написана именно с использованием системного API для Windows Mobile, то разумеется, она не будет работать на Windows CE, т.к. в Windows CE использован другой Shell, с иным набором функций API. Но до сих пор встречаются приложения, которые написаны без использования специализированных SDK. Программистам при этом работа усложняется очень сильно (все приходится реализовывать вручную), но зато достикается некая кросс-платформенность.

Обратная совместимость наблюдается гораздо чаще: приложения, созданные именно для Windows CE, под его примитивный Shell, с бОльшей долей вероятности будут работать на Windows Mobile. Могут не помещаться окошки. Меню может обрабатываться кривенько, но зато приложение работать будет.

Соответственно, ответ на первый вопрос (можно ли использовать программы для Windows Mobile на устройстве с Windows CE) будет неоднозначным:
1. Сперва надо убедиться, что в образ прошивки для данного устройства имплементирован хотя бы Shell для Windows CE. Вполне вероятно, что при сборке образа для данного устройства то основное приложение, которое запускается при старте, объявленно Shell-ом, и никаких других альтернатив даже не предусматривается. Т.е. если при выходе из приложения устройство выключается, и нет возможности выйти в интерфейс a-la Windows 95 (именно так выглядит Shell для Windows CE, он же представлен выше в треде), то скорее всего системный Shell просто отсутствует в устройстве. Соответственно, заменить преинсталлированное (навигационное в данном случае) приложение можно только одним способом - заново собрав прошивку РОМа, что, как понимаете, обычному пользователю просто недоступно.
2. Если же в прошивке РОМ-а Shell присутствует, то можно попробовать поэкспериментировать с установкой сторонних приложений. Довольно часто навигационные системы разрабатываются именно в виде законченного приложения, имеющего все необходимые настройки внутри себя (типа iGO и TomTom-а). Есть шанс, что подобное приложение и сможет работать в отсутствие системного Shell для Windows Mobile. Но, опять-таки, никакой гарантии в этом деле нет.

Теперь по поводу фразы
QUOTE
"компилирую для MIPS, чужой сорс, написанный под ARM проц."

Если у тебя есть исходный код приложения, ты действительно можешь скомпилировать его как под ARM, так и под другие доступные процессоры. Другой вопрос, что если приложение написано на VC++ с использованием SDK для Windows Mobile, то просто так, "в лет", перекомпилировать его под Windows CE MIPS или x.86 уже не получится - код придется перерабатывать (адаптировать на использование API Windows CE, как минимум).
Самое главное - вытянуть исходный код из уже готового приложения практически нереально. Т.е. дизассемблировать код можно, но превратить этот дизассемблированный код в нормальный исходник - практически нерешаемая задача. Даже для очень серьезного программиста.

Jedai [24.09.2007 13:32] :
http://ru.wikipedia.org/wiki/Windows_CE
Jedai [24.09.2007 13:34] :
WinCE_Emulator.rar - есть в сети, можно побалосваться установкой приложений
[Ответить]