Вы получите 1000 ответов на этот вопрос, но да, я думаю, что это довольно невероятно. Я попытаюсь объяснить почему (учитывая только пользовательский интерфейс).
Почему
Суть для меня не в том, что вы можете использовать повторно, а в том, что вы должны повторно использовать.
Настольное приложение, веб-приложение и мобильное приложение различаются. Разные цели, разный пользовательский интерфейс, разные стандарты . То, как вы используете, например, ваш любимый текстовый процессор, подходит для настольного приложения (меню, ленты, контекстного меню и всего остального), но не подходит для веб-приложения. В веб-приложении вы перемещаетесь , вероятно, у вас не так много диалогов, пользователь может перемещаться назад и вперед между страницами. Теперь представьте себе такое же приложение для мобильных устройств! Он должен быть спроектирован для использования с пальцем, кнопки должны быть большими, и в нем вообще не должно быть диалогов (и я слишком упрощаю тему).
Приложение не должно быть похожим для этих платформ, у каждой есть свои особенности и рекомендации . Если вы не будете следовать им, ваш пользователь не будет чувствовать себя комфортно с вашим приложением, даже если его пользовательский интерфейс действительно сексуальный. Если вы хотите написать хорошее приложение для веб-сайтов, то убедитесь, что оно будет отличаться (иногда, но зависит от типа приложения, совершенно иначе) от настольной версии, а мобильная версия будет ровной более разные (даже независимо от языков и среды разработки).
Вы представляете настольную версию сайта StackOverflow? Как вы думаете, он должен выглядеть и вести себя одинаково? Я думаю, что ваш ответ будет «нет», даже если мы все ценим, как SO работает для сети.
Взгляните на это:
Даже если не существует стандартного руководства для Интернета, взгляните на эту статью (и представьте, что вы можете использовать эти советы для настольного приложения):
Сколько контактов вы можете увидеть? Более того, для ограниченного набора приложений вы можете немного сходить UI для Интернета и UI для настольных компьютеров (мобильные приложения всегда слишком разные в использовании), но это зависит от типа пользователей, которые у вас есть и их фон и опыт.
Что
Если вы пишете свое приложение с WPF, вы можете повторно использовать часть кода для создания приложения Silverlight для Интернета. Я уверен, что вы не будете повторно использовать все, потому что для реального приложения их различия слишком велики.
Для Android (даже подумав написать для Mono) вы не можете использовать их вообще (хорошо, это будет ссылка, но вам придется переписать). Конечно, если вы будете использовать Windows Phone, ваш XAML будет частично использован, и даже ваш код.
Идея использовать HTML / CSS неплоха, вы можете написать настольное приложение на HTML5 / CSS3 / JavaScript, оно будет работать везде (на ПК с Windows 8, в Интернете и на мобильных устройствах). Хорошо, по крайней мере, с небольшими изменениями.
Не забывайте, что веб-приложение можно использовать с мобильного устройства. Возможно, вам придется усовершенствовать приложение с помощью соответствующего CSS (и, возможно, использовать мобильную версию вашего любимого JavaScript-фреймворка), но это не такая уж большая работа.