Пользовательский интерфейс - Windows или Linux? - PullRequest
4 голосов
/ 17 августа 2010

Я не уверен, возможно ли это, но я попробую.

Я создаю устройство, в которое необходимо добавить настраиваемый пользовательский интерфейс вместо обычного интерфейса операционной системы. Я думаю об установке Windows CE (или .NET MICRO) или Linux, но я не уверен, какая ОС позволит мне это сделать. Кроме того, программное обеспечение (UI) будет загружаться мгновенно и не показывает ОС. Я надеюсь, что это имеет смысл.

Мой вопрос: возможно ли это?

Ответы [ 8 ]

3 голосов
/ 17 августа 2010

Вопреки очевидному заблуждению, вы, безусловно, МОЖЕТЕ создать свой собственный пользовательский интерфейс под Windows CE. Исходный код для оболочки по умолчанию поставляется с Platform Builder (даже eval-версией), так же как и минимальная оболочка, но вы, безусловно, можете создать любую оболочку, какую захотите, или изменить то, что Microsoft поставляет в соответствии со своими потребностями. Это довольно распространенное требование.

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

Инструменты для запуска и запуска вашей ОС не так просты с обеих сторон, но с помощью Platform Builder получить функциональную ОС немного проще, чем инструменты Linux, если вы еще не знакомы с инструментами Linux в целом. .

EDIT

Этот вопрос также может стоить рассмотреть.

3 голосов
/ 17 августа 2010

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

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

Для других устройствВозможно, вы захотите взять дистрибутив Linux с открытым исходным кодом и перепроектировать его под свои нужды.Тогда у вас все еще будут преимущества, которые вы хотите получить от этого дистрибутива, но вы также можете настроить его.

РЕДАКТИРОВАТЬ: Я знаю, что некоторые нетбуки (например, EeePC, я думаю) используют легкий дистрибутив Linuxкак «супер-быстрая» и «супер-легкая» операционная система.То же самое можно сказать и о Android, поскольку это также легкий дистрибутив Linux, но я не совсем уверен.

3 голосов
/ 17 августа 2010

Судя по уровню требуемой настройки, я бы предложил GNU / Linux . Я не думаю, что Windows позволит вам использовать свой собственный пользовательский интерфейс вместо собственного.

В GNU / Linux вы можете выбрать одного из нескольких провайдеров пользовательского интерфейса или создать свой собственный. Кроме того, в GNU / Linux все настраивается, вы можете создать свой собственный встроенный дистрибутив с требованиями вашего приложения.

1 голос
/ 17 августа 2010

.Net Micro Framework очень гибок с пользовательским интерфейсом ... настолько, что вы можете отображать на ЖК-дисплее все, что захотите. Теперь, если вам нужна ОС реального времени, я бы посоветовал вам поискать такую. Но если вы хотите простую разработку на встроенной платформе, я очень рекомендую .Net Micro Framework.

Да, и кто-то работал над крошечной версией WPF для .Net Micro Framework ... это то, что я использовал в качестве отправной точки для своего пользовательского интерфейса. Вот еще одна ссылка

0 голосов
/ 15 апреля 2013

Существует множество возможностей для полностью настроенного пользовательского интерфейса в Windows CE

0 голосов
/ 18 августа 2010

GNU / Linux - лучший выбор. Очень гибкий, он широко используется в различных вещах, от встроенных систем до портативных устройств. Это не займет слишком много времени даже для создания нового окружения рабочего стола (конечно, в зависимости от его сложности). Я бы также предложил Android, это ветка с открытым исходным кодом, так как на сегодняшний день создано множество пользовательских интерфейсов Windows не имеет к этому никакого отношения (imho). И, что важно, лицензия Windows для производства устройств не бесплатна, верно?

0 голосов
/ 17 августа 2010

Как вы понимаете, «загрузить мгновенно»? Если вы используете какую-либо ОС, которая уже существует, она должна будет загружаться, как обычно. Я сомневаюсь, что вы хотите написать свою собственную ОС с нуля, поэтому я бы порекомендовал использовать что-нибудь дешевое / бесплатное и легкое, чтобы оно загружалось быстро (linux). Затем просто сконфигурируйте ОС для запуска программы, как только она загрузится, и заставьте эту программу отображать ваш собственный пользовательский интерфейс либо на GTK + canvas, либо, если это действительно необходимо, обычному элементу web canvas.

Я слышал, что некоторые системы могут изменять процесс загрузки, чтобы ничего не отображать, но я никогда этого не делал. Если что-нибудь и позволит вам это сделать, это Linux.

0 голосов
/ 17 августа 2010

Это делается все время со встроенными системами. То, что ты пишешь, по сути является ОС.

Вы разрабатываете аппаратное встроенное устройство?

Некоторые примеры систем.

PARADIGM C ++ PROFESSIONAL IDE . Borland C ++ 4.5 с кучей встроенных расширений. Я использовал это.

PocketPC и Windows CE могут быть кандидатами.

Существует также Windows Embedded .


Редактировать: Для ясности ниже был дан рентгеновский генератор, где весь код, который я создал, был ОС. Это был не Win-Embedded и не розовый сотовый телефон.

Если у вас есть хранилище (карта Compact Flash, SD-карта или достаточно памяти и т. Д.), Создайте и сохраните все элементы пользовательского интерфейса в виде растровых изображений. Я использовал GIMP для создания графических элементов и HEXWorkshop для преобразования их в двоичный формат, понятный устройству.

В пользовательском интерфейсе создайте «горячие точки» (регионы / участки), которые действуют как кнопки или что-то еще, что может инициировать события, имитирующие OnClick и т. Д. Надеемся, что это поможет вам начать. Посмотрите на Win32 кнопки "OwnerDraw". Это покажет вам хорошую методологию для этого, особенно если вы в конечном итоге в Windows Embedded.

Если вы заинтересованы в Linux, перейдите сюда: http://www.linux.org/dist/ у них есть несколько крошечных дистрибутивов Linux, предназначенных для встраиваемых систем.

НТН

...