.NET в Windows 8:AppContract, Marketplace и WPF / C # с точки зрения разработчиков

StackOverflow https://stackoverflow.com/questions/8818830

Вопрос

Я очень взволнован всеми новинками, появляющимися в Windows 8, но в то же время немного обеспокоен тем, как и смогу ли я продолжать использовать код и пользовательские компоненты, которые я уже создал, используя.NET и C # во время моей работы разработчиком Windows.У меня есть несколько общих неоднозначных вопросов по этому поводу.Надеюсь, вы не возражаете, что я собрал их вместе в одном посте:

  • Будет ли Windows 8 Store доступен как для приложений в стиле metro, так и для обычных настольных приложений WPF?Включая запуск обновлений и предоставление приложений для сотрудников компании?

  • Будет ли новый App Contract-thingy также доступен для WPF-приложений?И основан ли AppContract на WCF-сервисах с возможным UDP-обнаружением в сети?Могу ли я заключать свои собственные контракты между моими собственными приложениями, используя платформу App Contract framework?

  • Я не особенно беспокоюсь о том, будет ли удален WPF или нет.Я могу жить и без этого.Меня беспокоит то, смогу ли я по-прежнему писать презентационный и бизнес-код на C # и использовать его в качестве серверной части для своих приложений, независимо от того, какой UI-фреймворк я буду использовать, HTML, Silverlight, WPF или что там у вас есть.Если я все еще могу писать логику на C # и представлять ее с помощью X UI-framework, я счастливый разработчик.Я слышал, что могу получить доступ к .NET-фреймворк на JavaScript.Но как насчет пользовательских сборок?

Это было полезно?

Решение

Было объявлено, что в магазине могут появиться приложения, отличные от Metro, но магазин будет просто ссылаться на веб-сайт издателя - фактически не управляя продажей / установкой / DRM / etc.

Пока что было объявлено, что контракты заключены только для приложений Metro, но я был бы шокирован, если бы это не изменилось.Это было бы безумием для Microsoft нет чтобы разрешить настольным приложениям, например, добавлять команды в меню Настроек, поддерживать PlayTo или печать через меню устройств или выступать в качестве источников общего доступа.Нам придется подождать и посмотреть, где они подведут черту под тем, что могут / не могут делать настольные приложения.

Совместное использование кода между приложениями Metro и не-Metro будет очень сложным.Многие основные концепции и соглашения те же, но даже такие базовые вещи, как файловый ввод-вывод, полагаются на совершенно новый API.В коде не так уж много интересных вещей, с которыми вы могли бы работать по обе стороны баррикад.Лучше всего было бы определить интерфейсы для вашего материала бизнес-уровня, а затем использовать внедрение dependecy для динамического выбора desktop vs.реализации winrt во время выполнения

Другие советы

  • Магазин:окончательной информации нет, но, насколько я понял, она предназначена только для приложений в стиле metro

  • Контракты с приложениями - это обычное дело metro.Я знаю фрагмент кода, который документирует использование из настольных приложений (например http://www.heise.de/developer/artikel/WinRT-in-klassischen-NET-Anwendungen-nutzen-1366039.html (извините, немецкий)), но я не знаю, будет ли у него поддержка от Microsoft

  • WinRT компилирует библиотеки в компоненты WinRT.Возможно, вам удастся повторно использовать код и скомпилировать его в компонент, если вы не используете пространство имен, недоступное для WinRT

Этот вопрос трудно угадать, поскольку официальной бета-версии еще нет.И даже тогда мы не можем быть абсолютно уверены...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top