Порівняння Silverlight з іншими технологіями Silverlight та Flash
В Silverlight есть средства, которых нет в HTML5. Даже браузеры, полностью поддерживающие HTML5, далеко отстают от Silverlight в некоторых ключевых областях. Они не предоставляют мощные средства потокового видео, аппаратного ускорения графики, вызова компонентов Windows, доступа к файлам, запуска приложений вне браузера, работы в сети и т. д. Тяжело себе представить, что платформа HTML5… Читати ще >
Порівняння Silverlight з іншими технологіями Silverlight та Flash (реферат, курсова, диплом, контрольна)
В настоящее время самая успешная и популярная надстройка браузера — Adobe Flash — установлена в более чем 90% браузеров по всему миру. Технология Flash имеет долгую историю — более десяти лет. Изначально Flash была простым инструментом добавления анимированной графики, но со временем она постепенно превратилась в мощную платформу разработки интерактивного содержимого. Для разработчиков .NET создание веб-сайтов с использованием содержимого Flash выглядит вполне естественным. Однако для Flash нужны отдельные инструменты разработки — совершенно другой язык программирования — ActionScript и другая среда программирования — Flex. Хуже всего то, что не существует простых способов интеграции содержимого Flash с серверным кодом .NET. В частности, для обращения объекта Flash к компоненту .NET потребуется приложить немалые усилия. Использование серверного кода .NET для вывода содержимого Flash: например, для создания элемента управления ASP.NET, который манипулирует содержимым Flash — еще более тяжелая задача [12].
По сравнению с Flash, Silverlight существенно облегчает манипулирование содержимым .NET. Главная цель Silverlight — обеспечить создание приложений, столь же мощных и кроссплатформенных, как и Flash, на основе первоклассной платформы программирования .NET. Благодаря этому разработчики могут создавать клиентский код Silverlight на том же языке C# или VB, что и серверный код.
Кроме того, разработчики могут применять в клиентском коде Silverlight те же абстракции, что и в серверном коде, включая потоки ввода вывода, элементы управления, коллекции, обобщенные объекты и средства LINQ.
Silverlight и HTML5.
Когда создавалась технология Silverlight, предполагалось, что ее главным назначением будет разработки мощных веб-страниц, а ее главным конкурентом — технология Adobe Flash. Однако после выпуска нескольких версий Silverlight мир изменился. Приложения Adobe Flash по прежнему поддерживаются практически каждым настольным компьютером, но они оказались исключенными из таких популярных продуктов Apple, как iPhone и iPad. В результате ниша мобильных устройств стала тяготеть к другим решениям, таким как одноплатформенные специализированные приложения — выполняющиеся только в одной операционной системе и HTML5. На данный момент все согласны с тем, что HTML5 — это будущее Интернета (но не сейчас, а когда-нибудь потом, причем когда именно — неизвестно). Однако средства, обещаемые платформой HTML5 в неопределенном будущем, уже сейчас реализованы в технологиях Flash и Silverlight. К тому же Flash и Silverlight предоставляют много дополнительных средств. Для некоторых приложений эти дополнительные средства не очень нужны. Без сомнения, позиции HTML5 со временем будут усиливаться. Но до того времени разработчики вынуждены выбирать между средствами, которые поддерживаются уже сейчас — Silverlight и Flash, но никогда не будут поддерживаться мобильными устройствами, и средствами, которые не поддерживаются сейчас, но в будущем будут поддерживаться всеми устройствами, включая мобильные. В последнем случае разработчик предпочтет HTML5. Эта дилемма выбора между мощными и доступными средствами. Технология Silverlight относится к мощным средствам, а HTML5 — к доступным, потому что сейчас она поддерживается всеми настольными браузерами, но не всеми мобильными устройствами [13].
В связи с указанными тенденциями многие разработчики Silverlight не уверенны в том, что этой технологии уготовано место в будущем Интернета. Поскольку в данный момент будущее довольно неопределенное, учитывайте следующие факторы.
Реализация и поддержка HTML5 еще не завершены. В частности, в Internet Explorer поддерживаются не все средства HTML5. В IE 10 некоторые средства HTML5 были обещаны, но так и не появились. Многие средства доступны в IE 9, а в IE 8 средств HTML5 почти нет. Это очень плохо, потому что IE 8 —все еще самый лучший браузер для операционной системы Windows XP, которая и не думает уходить со сцены (она по прежнему установлена на большинстве настольных компьютеров). По этим причинам HTML5 остается менее поддерживаемой технологией, чем Silverlight, и данная ситуация не изменится еще как минимум в течение нескольких лет.
В Silverlight есть средства, которых нет в HTML5. Даже браузеры, полностью поддерживающие HTML5, далеко отстают от Silverlight в некоторых ключевых областях. Они не предоставляют мощные средства потокового видео, аппаратного ускорения графики, вызова компонентов Windows, доступа к файлам, запуска приложений вне браузера, работы в сети и т. д. Тяжело себе представить, что платформа HTML5 когда-нибудь сможет состязаться с некоторыми специальными средствами Silverlight, такими как элементы PivotViewer, объединяющие задачи анимации, фильтрации данных и масштабирования изображений в одном пакете, удобном для использования.
Silverlight базируется на высокоуровневых средствах API. Можно создавать приложения, не пользуясь такими средствами, как связывание данных, шаблоны и стили, но они позволяют это делать быстро и эффективно. Многие задачи, которые можно решить в HTML5, требуют жесткой дисциплины и тщательного планирования. Их можно решать с помощью JavaScript, но его синтаксис не поддерживает строгую типизацию, в результате чего создавать на JavaScript крупные приложения практически невозможно. Кроме того, на JavaScript все процедуры анимации нужно писать вручную, а поддержка многопоточности чрезвычайно неуклюжая, что не позволяет выполнять сложные задачи в фоновом режиме [14].
Silverlight поддерживается высокоуровневыми инструментами разработки. Благодаря Visual Studio разрабатывать приложения Silverlight так же легко, как обычные настольные приложения. Программа Expression Blend существенно облегчает создание сложных пользовательских интерфейсов, содержащих мощные графические эффекты и анимацию.
Silverlight легко интегрируется с ASP.NET. В частности, Silverlight позволяет передавать запросы к серверной базе данных посредством веб-службы. Благодаря этому многие эксперты считают, что даже после того, как HTML5 завоюет Интернет, Silverlight останется предпочтительной технологией для закрытых корпоративных сетей. Будущее платформы Silverlight сейчас довольно туманное. Она может остаться предпочтительной платформой для разработчиков корпоративных приложений на основе .NET или постепенно превратиться в узкопрофильный инструмент создания мощных компьютерных игр и видеоплееров. Одно можно сказать определенно: Silverlight никогда не заменит HTML в качестве главного языка создания традиционных открытых веб-сайтов. Впрочем, это никогда и не планировалось.
Silverlight и Metro/Windows 8.
Когда компания Microsoft объявила о создании Windows 8 на основе новой модели программирования мощных клиентских приложений — Metro, развитие платформы Silverlight приостановилось.
Технология Metro предназначена для облегчения создания приложений совершенно другого типа: легковесных, ориентированных на сенсорные экраны и интенсивный обмен данными. Эти приложения предназначены для будущих поколений планшетных компьютеров на базе Windows 8. Технология Metro, как и ее ближайшая родственница WPF конкурирует с платформой iPad. Приложения Metro не могут выполняться на платформах, не принадлежащих Microsoft, и даже более того — на любой версии Windows, отличной от Windows 8. По этой причине технология Metro не является конкурентом и не представляет интереса для разработчиков Silverlight [14].
В будущем ниша Silverlight может сузиться. Она как бы оказалась зажатой между кроссплатформенными приложениями HTML5, постепенно завоевывающими все большую долю рынка, и приложениями Metro и iPad для мобильных устройств.
Однако пока что Silverlight занимает обширное пространство между этими технологиями.
Silverlight и WPF.
Один из наиболее интересных аспектов технологии Silverlight заключается в том, что она позаимствовала у .NET мощную модель WPF, используемую для создания сложных клиентских интерфейсов. Технология WPF предназначена для создания сложных приложений Windows. Средства WPF не только упрощают процесс разработки благодаря удобным высокоуровневым средствам, но и обеспечивают более высокую производительность благодаря выводу любого содержимого непосредственно через конвейер DirectX. Очевидно, что Silverlight не может дублировать все средства WPF, поскольку многие из них зависят от возможностей операционной системы, включая специфичные для Windows драйверы и средства DirectX [4].
И все же, вместо того чтобы изобретать для клиентской стороны совершенно новый набор элементов управления и классов, разработчики Silverlight применили подмножество модели WPF. Если у вас есть опыт работы с WPF, вы будете удивлены тем, как сильно Silverlight похожа на свою «старшую сестру». Ниже перечислены общие особенности:
Для определения пользовательского интерфейса Silverlight (коллекции элементов, заполняющих область содержимого) используется разметка XAML, как и в WPF. В Silverlight можно даже отображать данные с помощью того же синтаксиса связывания данных, что и в WPF.
Silverlight позаимствовала у WPF многие базовые элементы управления, систему стилизации (для повторного использования и унификации форматов) и механизм шаблонов (для изменения внешнего вида стандартных элементов управления).
Для рисования двухмерных изображений в Silverlight используются фигуры, контуры, преобразования и кисти. Все эти средства практически такие же, как в WPF.
Рабочая среда Silverlight предоставляет декларативную модель анимации, основанную на последовательности раскадровок и работающую так же, как и анимационная модель WPF.
Для воспроизведения аудио и видео файлов используется класс MediaElement, как и в WPF.