Silverlight 5, додатки

У Silverlight використовується традиційна технологія розширення функціональності браузерів - надбудови (plug-ins).

На малюнку нижче показані два види сторінки, що містить об'єкт Silverlight. Вгорі приведена сторінка, яку користувач бачить, коли надбудова Silverlight не встановлена. У цей момент користувач може клацнути на кнопці Click now to install (Встановити зараз), щоб перейти на сайт Microsoft, де буде запропоновано встановити надбудову. Внизу показана та ж сторінка після установки надбудови Silverlight:

Silverlight 5, додатки

Silverlight 5, додатки

На даний момент надбудова Silverlight встановлена ​​на 75% комп'ютерів, підключених до Інтернету (включаючи настільні комп'ютери і мобільні пристрої). Якщо враховувати тільки комп'ютери, на яких встановлено Windows і браузер Internet Explorer, відсоток Silverlight буде вище. Такі показники вражають, однак надбудови Flash все ж встановлено на більшій кількості веб-пристроїв (96%).

Вимоги до системи, що пред'являються Silverlight

Дуже важливо, щоб будь-яка веб-технологія була сумісна з якомога ширшим діапазоном комп'ютерів і пристроїв. Технологія Silverlight зараз знаходиться в стадії розвитку, однак вона вже сумісна з більшістю операційних систем:

Надбудови Silverlight працюють на комп'ютерах Mac з операційною системою версії OS X 10.4.8 або пізнішої. Повинен використовуватися процесор Intel (обладнання PowerPC неприпустимо). Для Silverlight мінімальні версії браузерів - Firefox 2 і Safari 3. На мобільних пристроях Apple, включаючи iPhone, iPod Touch і iPad, додатки Silverlight не підтримуються.

В даний час надбудови Silverlight 5 на Linux не працюють, проте команда Mono створює відкриту бібліотеку для Silverlight (проект Moonlight. Схвалюваний компанією Microsoft). Остання стабільна офіційна версія Moonlight підтримує програми Silverlight 2, але зараз вже випущена бета-версія, що підтримує Silverlight 4. Прогрес повільний, тому поки що невідомо, коли Moonlight буде підтримувати Silverlight 5, якщо взагалі буде.

Silverlight - одна з двох офіційно підтримуваних технологій розробки додатків для Windows Phone 7 і 8 (інша - Microsoft XNA).

Для установки надбудови Silverlight необхідний невеликий файл (менше 10 Мбайт), який легко завантажити, тому встановити надбудову Silverlight не складніше, ніж Flash.

Silverlight і Flash

В даний час найуспішніша і популярна надбудова браузера - Adobe Flash - встановлена ​​в більш ніж 96% браузерів по всьому світу. Технологія Flash має довгу історію - понад десяти років. Спочатку Flash була простим інструментом додавання анімованої графіки, але з часом вона поступово перетворилася на потужну платформу розробки інтерактивного вмісту.

Для розробників .NET створення веб-сайтів з використанням вмісту Flash виглядає цілком природним. Однак для Flash потрібні окремі інструменти розробки - абсолютно іншу мову програмування (ActionScript) і інше середовище програмування (Flex).

Найгірше те, що не існує простих способів інтеграції вмісту Flash з серверним кодом .NET. Зокрема, для звернення об'єкта Flash до компоненту .NET потрібно докласти чималих зусиль. Використання серверного коду .NET для виведення вмісту Flash (наприклад, для створення елемента управління ASP.NET, який маніпулює вмістом Flash) - ще більш важка задача.

У порівнянні з 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 відноситься до потужних засобів, a HTML5 - до доступним, тому що зараз вона підтримується всіма настільними браузерами (але не всіма мобільними пристроями).

У зв'язку з зазначеними тенденціями багато розробників Silverlight не впевнені в тому, що цієї технології уготовано місце в майбутньому Інтернету. Оскільки в даний момент майбутнє досить невизначене, враховуйте наступні чинники:

Реалізація та підтримка HTML5 ще не завершені. Зокрема, в Internet Explorer підтримуються не всі засоби HTML5. В IE 10 деякі засоби HTML5 були обіцяні, але так і не з'явилися. Багато засобів доступні в IE 9, а в IE 8 засобів HTML5 майже немає. Це дуже погано, тому що IE 8 - все ще найпопулярніший браузер для операційної системи Windows XP, яка і не думає йти зі сцени (вона як і раніше встановлена ​​на більшості настільних комп'ютерів). З цих причин HTML5 залишається менше підтримуваної технологією, ніж Silverlight, і дана ситуація не зміниться ще як мінімум протягом декількох років.

Silverlight підтримується високорівневими інструментами розробки. Завдяки Visual Studio розробляти програми Silverlight так само легко, як звичайні настільні додатки. Програма Expression Blend істотно полегшує створення складних призначених для користувача інтерфейсів, що містять потужні графічні ефекти і анімацію.

Silverlight легко інтегрується з ASP.NET. Зокрема. Silverlight дозволяє передавати запити до серверної базі даних за допомогою веб-служби. Завдяки цьому багато експертів вважають, що навіть після того, як HTML5 завоює Інтернет, Silverlight залишиться кращою технологією для закритих корпоративних мереж.

Silverlight і Metro / Windows 8

Коли компанія Microsoft оголосила про створення Windows 8 на основі нової моделі програмування потужних клієнтських додатків (вона називається Metro), розвиток платформи Silverlight призупинилося. Багато розробники задумалися: чи не стане в найближчому майбутньому нова модель програмування "вбивцею" Silverlight?

В майбутньому ніша Silverlight може звузитися. Вона ніби опинилася затиснутою між кроссплатформенную додатками HTML5, поступово завойовують все більшу частку ринку, і додатками Metro і iPad для мобільних пристроїв. Однак поки що Silverlight займає (і ще довгий час буде займати) широкий простір між цими технологіями.

Silverlight і WPF

Один з найбільш цікавих аспектів технології Silverlight полягає в тому, що вона запозичила у .NET потужну модель WPF, використовувану для створення складних клієнтських інтерфейсів.

Технологія WPF призначена для створення складних додатків Windows. Засоби WPF не тільки спрощують процес розробки завдяки зручним високорівневим засобів, але і забезпечують більш високу продуктивність завдяки висновку будь-якого вмісту безпосередньо через конвеєр DirectX.

Очевидно, що Silverlight не може дублювати всі засоби WPF, оскільки багато хто з них залежать від можливостей операційної системи, включаючи специфічні для Windows драйвери і засоби DirectX. І все ж, замість того щоб винаходити для клієнтської сторони абсолютно новий набір елементів управління і класів, розробники Silverlight застосували підмножина моделі WPF. Якщо у вас є досвід роботи з WPF, ви будете здивовані тим, як сильно Silverlight схожа на WPF. Нижче наведено декілька загальних особливостей:

Для визначення призначеного для користувача інтерфейсу Silverlight (колекції елементів, що заповнюють область вмісту) використовується розмітка XAML, як і в WPF. У Silverlight можна навіть відображати дані за допомогою того ж синтаксису зв'язування даних, що і в WPF.

Silverlight запозичила у WPF багато базові елементи управління і механізм шаблонів (для зміни зовнішнього вигляду стандартних елементів управління).

Для малювання двомірних зображень в Silverlight використовуються фігури, контури, перетворення і кисті. Всі ці кошти практично такі ж як в WPF.

Робоче середовище Silverlight надає декларативну модель анімації, засновану на послідовності розкадрувань і працюючу так само, як і анімаційна модель WPF.

розвиток Silverlight

Версія Silverlight 2 була радикально змінена. У неї були додані середу CLR, підмножина класів .NET Framework і модель користувальницького інтерфейсу на основі WPF. В результаті Silverlight 2 стала однією з найбільш очікуваних технологій за всю історію Microsoft.

Наступні версії Silverlight не настільки амбітні, як Silverlight 2. У Silverlight 5 збережена модель розробки Silverlight 2 і додано кілька ретельно відібраних нових засобів. Перерахуємо переваги останньої версії:

Додатки Silverlight 5 швидше запускаються, підтримують 64-розрядні браузери і забезпечують більш чітке відображення згладжених дрібних шрифтів.

Апаратне прискорення тривимірної графіки

Доданий елемент управління, що дозволяє переглядати величезні колекції даних. В одному елементі управління суміщені багато функцій, такі як масштабування малюнків, фільтрація даних і анімація переходів. Найкраще те, що при використанні цього елемента управління розробнику майже не потрібно писати код.

Тепер можна усувати помилки зв'язування даних шляхом установки точок переривання в виразах зв'язування.

Додатки Silverlight, що виконуються поза браузера, тепер можуть відображати додаткові вікна, як настільні додатки Windows. Для цього навіть не потрібні розширені права доступу.

Підтримка доступу до файлів і викликам P / Invoke

Перегляд програм, які з розширеними правами доступу, можуть звертатися до будь-яких файлів на жорсткому диску, до яких користувач має доступ (за винятком вимагають привілеїв адміністратора). На комп'ютері Windows можна застосовувати виклики P / Invoke для звернення до успадкованим функцій мови С з бібліотек Windows API.

Зворотна сумісність Silverlight 5

Чи може існуючу програму Silverlight, розроблене в попередній версії, виконуватися на комп'ютері, на якому встановлена ​​надбудова Silverlight 5? Це не таке вже просте питання, як може здатися на перший погляд, тому що в Silverlight 5 внесені деякі тонкі зміни і усунуто низку помилок, що може вплинути на роботу програми та навіть змінити його поведінку.

Щоб зміни не вплинули на роботу існуючих додатків, в Silverlight 5 використовується режим quirks (нестандартний). Коли надбудова Silverlight 5 завантажує додаток, скомпільований для попередніх версій Silverlight, вона автоматично включає нестандартний режим, точно емулює поведінку середовища виконання попередньої версії Silverlight.

Більш детальну інформацію про тонких відмінностях між Silverlight 5 і Silverlight 4 можна знайти в статті Ensuring That Your Silverlight Applications Work with Silverlight 5 на сайті MSDN.