Разработка приложений для Windows Embedded Compact 7 с использованием как управляемого, так и неуправляемого кода
Я собираюсь написать приложение для встроенного устройства с nvidia Tagra2 под управлением Windows Embedded Compact 7. Существуют следующие требования:
- Запрос данных с интернет-сервера через REST-API с использованием защищенной связи HTTPS.
- Сопоставьте эти данные с объектной моделью.
- Отобразите эти объекты в красивом встроенном графическом интерфейсе Silverlight.
- Выполните некоторые измерения с внешними датчиками и передайте измеренные данные на сервер через REST-API и защищенный HTTPS.
Я знаю, что для Embedded Silverlight нужен неуправляемый код C++. Но писать все приложение на неуправляемом C++ только из-за встроенного графического интерфейса Silverlight для меня было бы кошмаром. Поэтому я думаю о двух альтернативах:
- Поместите логику в управляемую C# DLL и получите доступ к ней из неуправляемого исполняемого файла C++, на котором размещен встроенный графический интерфейс Silverlight.
- Поместите встроенный графический интерфейс Silverlight в неуправляемую C++ DLL и получите доступ к нему из управляемого исполняемого файла C#, на котором размещена остальная логика и который управляет GUI.
Мои вопросы:
- Возможна ли хотя бы одна из вышеуказанных альтернатив?
- Какой из них будет предпочтительнее? Я лучше чувствую себя в C#, чем в C++.
- Не могли бы вы указать мне ресурсы (книги, учебные пособия, примеры), охватывающие одну из вышеуказанных альтернатив?
1 ответ
Решение
Вариант № 2 определенно работает. Взгляните на этот сайт: http://channel9.msdn.com/Events/TechEd/NorthAmerica/2010/WEM309
Вариант № 1 также должен быть возможен, хотя может показаться, что попытка вызова управляемой DLL из неуправляемого кода может потребовать больше усилий.