Насколько обширна разница между построением WPF-приложения и приложения Silverlight 5?

У меня есть большой опыт работы с WPF (C #) и XAML. Вскоре мне может быть предложено создать приложение Silverlight 5. У меня нет опыта работы с какой-либо версией SL. Какую кривую обучения я мог бы ожидать при создании приложения SL 5, учитывая, что у меня есть некоторый опыт работы с WPF?

6 голосов | спросил Hosea146 16 FebruaryEurope/MoscowbThu, 16 Feb 2012 17:39:01 +0400000000pmThu, 16 Feb 2012 17:39:01 +040012 2012, 17:39:01

4 ответа


5

Различия кажутся минимальными до тех пор, пока вы не разобьете слои, чтобы показать, как работает Silverlight.

Один человек упомянул о неспособности выполнить синхронный вызов веб-службы. Другими заметными ограничениями являются то, что Silverlight работает на собственной выделенной среде выполнения и не может использовать основные библиотеки .NET Framework. Он полностью зависит от ограниченных библиотек среды Silverlight, которые в полной мере справедливы, но вы столкнетесь с ситуациями, когда вам понадобится доступ к чему-то определенному в основной библиотеке .NET, недоступной для выполнения Silverlight Runtime.

Другая проблема, с которой я столкнулся, заключается в попытке повторно использовать одни и те же классы модели данных из моего проекта веб-службы в моем проекте Silverlight. Вы не можете напрямую передавать проект или двоичную сборку, поскольку она компилируется и работает только на основной платформе .NET. Вы либо дублируете код модели данных в обоих проектах (что, кстати, имеет свои дизайнерские преимущества), либо создаете проект Silverlight, который ссылается на ресурсы из вашего проекта реальной модели данных. Таким образом, у вас есть два проекта, которые будут скомпилированы для работы в основной структуре, а другая для Silverlight. Опять же, не большая сделка, просто еще одна реализация IFF, когда я впервые наткнулся на нее.

Существуют также ограничения на размер файла XAP, с которыми сторонние структуры могут справляться достаточно эффективно, но это то, что нужно искать.

ответил maple_shaft 16 FebruaryEurope/MoscowbThu, 16 Feb 2012 18:26:28 +0400000000pmThu, 16 Feb 2012 18:26:28 +040012 2012, 18:26:28
4

Ваши навыки будут напрямую передаваться. Не беспокойтесь.

Однако.

Настольные приложения не являются приложениями для браузера.

Настольные приложения имеют такие функции, как меню и панели инструментов и статусные панели, а также все другие приложения для настольных приложений, которые не подходят для браузера.

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

ответил PlayDeezGames 16 FebruaryEurope/MoscowbThu, 16 Feb 2012 18:19:45 +0400000000pmThu, 16 Feb 2012 18:19:45 +040012 2012, 18:19:45
2

Подробное сравнение можно найти в следующей статье. Я предполагаю, что бумага была до Silverlight 5, тем не менее, документ очень всеобъемлющий. Руководство по различию между Silverlight и WPF . MSDN выпустила сравнение, подробно описывающее некоторые функции в WPF, а не в Silverligth и наоборот: MSDN-WPF-Silverlight . Надеюсь, это поможет.

ответил NoChance 16 FebruaryEurope/MoscowbThu, 16 Feb 2012 19:27:26 +0400000000pmThu, 16 Feb 2012 19:27:26 +040012 2012, 19:27:26
1

Silverlight - это подмножество WPF, поэтому он очень похож ...

Одна большая вещь, о которой следует помнить, заключается в том, что вызов silverlight на серверный сервер должен выполняться асинхронно, потому что в отличие от вызовов WPF нельзя заблокировать, пока не будет возвращен ответ

ответил Quagmire 16 FebruaryEurope/MoscowbThu, 16 Feb 2012 17:49:31 +0400000000pmThu, 16 Feb 2012 17:49:31 +040012 2012, 17:49:31

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132