Журнал о системах электронного документооборота (СЭД)
Платформы построения ECM

SilverLight - красивая игрушка или новая платформа для корпоративных приложений?

  1 комментариев Добавить в закладки

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

Одно из полей текущей ее деятельности, это платформа Web-решений. Набирающая в последнее время все большие обороты популярность Web 2.0, а с ним и функционально-богатых (rich) интерфейсов в Web, не прошла и мимо Microsoft. Заявленная около года назад под кодовым именем WPF/E технология, ныне известная как SilverLight (звучит не просто приятнее, но и загадочнее – умеют все-таки люди выбирать названия для продуктов!), увидела недавно свет в виде релиза версии 1.0.

Итак, что же представляет собой этот продукт?

Небольшая по размерам (установочный модуль ~1,41 Мб), но весьма солидная по возможностям библиотека формирования 2D-графики на стороне клиента, то есть в Web-браузере.

Планируется, что библиотека как сейчас, так и впредь будет поддерживать работу в браузерах InternetExplorer 6 и выше, а также в браузере MozillaFirefox, а также на платформе Macintosh в браузере Safari.

Что же умеет SilverLight 1.0? А умеет она довольно много:

●     Работать с геометрическими фигурами: линиями, прямоугольниками, эллипсами, сложными кривыми (в том числе Безье) и дугами, а также сложные композитными фигурами, пересечениями, наложениями, отсечениями и т.д.

●     Работать с цветом, фоном и кистями: от однотонной заливки до градиентов и растровых изображений в качестве фона;

●     Выполнять геометрические преобразования (вращение и сдвиг), заданные, в том числе, в матричной форме.

●     Реализовывать анимацию - изменение какого-либо параметра изображения (координат, размеров, цвета) с течением времени.

●     Использовать аудио и видео контент. В SilverLight имеется специальный объект MediaElement, который умеет проигрывать media-контент в форматах WindowsMediaVideo(WMV), WindowsMediaAudio (WMA), и MP3.

Еще одной интересной особенностью SilverLight является использование для описания сцен языка XAML - родного языка “большой” WPF. Что, по всей видимости, должно дать следующих два существенных плюса:

                   1. Упрощение перехода программистов с Web на Desktop и обратно, т.к. основа построения интерфейса едина. Хотя, вот тут есть определенные сомнения: общим будет только синтаксис языка, используемые же объекты будут, скорее всего, координально различаться.

                   2. Создание единых инструментов проектирования интерфейса как для Desktop, так и для Web-приложений.

Вот, пожалуй, и все, чем знаменателен первый SilverLight. Понятно, что называть его «убийцей Flash», как поспешили окрестить некоторые компьютерные СМИ, никак нельзя.

Лишь некоторые, наиболее яркие, моменты конкурента:

●     В технологии Adobe Flex (ранее эта технология была известна как Macromedia Flash, однако позднее, название Flash закрепилось за самим плеером, а Flex стала называться среда разработки и Framework), проигрыватель Flash является, по сути, миниатюрной виртуальной машиной, позволяющей выполнять скомпилированный P-код. Это позволяет, потенциально, писать и выполнять практически произвольный код, не привязываясь не только к особенностям среды, но даже браузера.

●     Для Flex имеется огромная библиотека для самых разных нужд. Есть, например, поддержка 3D-графики, работа с данными (от использования DataSet и XML, до реализованных алгоритмов сжатия данных), поддержка сетевых протоколов (причем как своих стандартов, например, некий аналог XML-RPC, до реализации стандартов SOAP и WSDL, т.е. прямой выход на Web-сервисы).

●     Если чего-то не хватает в стандартной библиотеке, то есть уже не слабое Community, а также фирмы, продающие свои решения на Flex.

В общем, получается, что сравнение явно не в пользу SilverLight? Да, если говорить о версии 1.0 и … не уверен, если речь идет о версии 1.1, которая пока представлена только как Alpha.

Что же меняется с приходом SilverLight 1.1? Буквально все, не побоюсь такого утверждения!

Итак, судите сами… То, что добавляется к SilverLight 1.1 дополнительно к тому, что есть в версии 1.0:

●     Самое большое изменение – поддержка среды исполнения .Net, со всеми основными возможностями: Jit-компиляцией, автоматическим управлением памятью и сборкой мусора, управляемой обработкой исключений и пр.

●     Поддержка динамических языков JScript, IronPyton и IronRuby, а также специальная библиотека для работы с ними.

●     Поддержка некоторого (довольно солидного) подмножества библиотеки классов .Net, в том числе из пространства System.Collections.Generic, System.IO, System.Text, System.Xml и других;

●     Частичная поддержка классов WPF из System.Windows, включая поддержку элементов управления, медиа-данных и документов …;

●     Поддержка web-сервисов в виде функциональности JSON и клиента WCF.

●     Поддержка LINQ.

Получается, что SilverLight уже практически размывает грань между Desktop и Web-приложением, причем и для того, и для другого используется единая технологическая платформа, с языками и библиотеками. Даже если Microsoft не будет реализовывать всю библиотеку контролей для SilverLight, это за нее сделают другие компании, благо примеры уже есть.

Конечно, писать приложения, одинаково легко работающие и как Web-клиент и как Desktop пока затруднительно, хотя проблема, собственно, только в разнице библиотек контролей и вполне можно допустить появление в ближайшее время таких универсальных библиотек, пусть и сторонних производителей.

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

Какие последуют выводы?

Да, в общем-то, очевидные:

Во-первых, SilverLight 1.0 – неплохое решение, для придания уже имеющемуся web-решению дополнительной привлекательности и функционала. В первую очередь, его хорошо задействовать для внешних (не внутрикорпоративных) сайтов.

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

 

 

Ещё материалы автора
Похожие записи
Комментарии (1)
Сейчас обсуждают
Больше комментариев