В последние годы веб-разработчики все чаще переходят к разработке так называемых RIA или Rich Internet Applications. Они могут быть построены с использованием любой из множества различных технологий, но их общей целью является воссоздание настольных приложений внутри веб-браузера. Microsoft вошла в пространство RIA в конце 2007 года с помощью Silverlight. Для непосвященных Silverlight — это технология на стороне клиента, поддерживаемая .NET Framework. Это означает, что разработчики .NET могут использовать свой существующий набор навыков для создания приложений на основе Silverlight с относительно простой кривой обучения. Silverlight работает на Windows и Mac в большинстве современных браузеров. Стоит отметить, что Silverlight — это технология на стороне клиента, которая означает, что она не привязана к какой-либо конкретной серверной платформе. Он может быть размещен независимо от того, построен ли ваш сайт в простом HTML, ASP.NET или даже в формате PHP. Вы можете подумать, что было бы сложнее использовать Silverlight в приложении aPHP, но на самом деле все довольно просто; Вы можете использовать JSON, XML или любое количество коммуникационных технологий для передачи данных из Silverlight в бэкэнд PHP. Однако в этой статье мы решили использовать сервис SOAPWeb. Сначала я покажу, как начать разработку с Silverlight, затем расскажу, как настроить веб-сервис на PHP, и, наконец, продемонстрирую, как получить доступ к сервису из приложения Silverlight. Для этого вам понадобятся Visual Studio, Silverlight Tools. и PHP5. Я покажу вам, как установить Visual Studio с SilverlightTools, но я собираюсь предположить, что у вас уже есть веб-сервер, настроенный с помощьюPHP. В противном случае это очень просто настроить с помощью Microsoft Web PlatformInstaller, и вы можете найти инструкции для этого в предыдущей статьеSitePoint . Вы должны быть знакомы с концепциями объектно-ориентированного программирования, хотя не обязательно знать какой-либо C # или VB.NET, так как я покажу вам весь необходимый код. Следуя примерам из этой статьи, вы можете скачать анархив всех исходные файлы . В рамках этой загрузки каталог SampleApplication
содержит все исходные SampleApplication
для проекта Visual Studio, а каталог silverlight
содержит готовый сайт PHP, включая скомпилированный Silverlightapplication. Когда вы закончите работу с учебником, обязательно ознакомьтесь и ознакомьтесь с нашими исследованиями в нашем ArticleQuiz При поддержке Microsoft.
Приложения Silverlight создаются с использованием Visual Studio для кода и набора инструментов Expression Studio для пользовательского интерфейса. У ShaneMorris есть отличная статья, в которой подробно рассказывается об использовании Expression Studio для разработки интерфейса Silverlight. В этой статье мы сконцентрируемся на разработке. Подготовка к созданию приложений Silverlight довольно проста. Сначала вам понадобится Visual Studio. Microsoft предлагает бесплатную версию Express для этой программы, поэтому зайдите на сайт Silverlight и загрузите установщик веб-платформы. Он поможет вам загрузить Visual Web Developer и инструменты Silverlight. Если у вас уже есть Visual Studio, вы можете загрузить инструменты Silverlight напрямую.
Для целей данного учебного пособия образец приложения был собран и протестирован с использованием Visual Studio 2008 и инструментов Silverlight 3. Однако он должен нормально работать с Visual Studio 2010 и Silverlight 4, если вы используете самые последние версии.
После установки инструментов Silverlight в Visual Studio появятся новые опции для создания приложений Silverlight. Начните с выбора «Новый проект» в меню «Файл». Перейдите к и выберите « . Введите имя и местоположение, чтобы сохранить новый проект, и нажмите .
Параметр Silverlight доступен как в Visual C #, так и в категориях VB.NET на экране «Новый проект». Какой из них вы выберете, будет зависеть от того, на каком языке вам удобнее программировать. Для примеров в этом уроке я буду работать с кодом C #, поэтому, если вы хотите следовать, это то, что вы должны выбрать.
На следующем экране вы можете выбрать способ размещения вашего приложения. Для целей данного руководства просто оставьте настройки по умолчанию и нажмите кнопку « . В Visual StudioSolution Explorer вам будут представлены два проекта — один для проекта Silverlight и один для ASP.NETsite. Несмотря на то, что мы планируем использовать PHP для кода на стороне сервера, мы сможем взять сгенерированный код с сайта ASP.NET, чтобы облегчить работу.
Прежде чем мы перейдем и интегрируем Silverlight с PHP, давайте создадим базовое приложение Silverlight, чтобы узнать, как оно работает. Начните с открытия MainPage.xaml
в вашем приложении Silverlightapplication. Это XAML-файл, который расшифровывается как расширяемый язык ApplicationMarkup, и как создается пользовательский интерфейс Silverlight (и WPF). Он очень похож на HTML, поэтому вы сможете быстро его выбрать. Начнем с простого, добавив текстовое поле и кнопку на экран. Когда курсор находится внутри элемента <Grid>
, введите следующий XAML: <StackPanel></StackPanel>
. StackPanel
— это своего рода элемент управления макетом в Silverlight. Это заставит элементы управления, которые вы вводите внутри него, складываться либо вертикально, либо горизонтально. Далее, мы добавим TextBox
и Button
внутри StackPanel
, также:
Пример 1. MainPage.xaml
(отрывок)
<Grid x: Name = "LayoutRoot"> <StackPanel> <TextBox Text = "Joe Citizen" x: Name = "txtName" /> <Button Content = "Click Me!" /> </ StackPanel> </ Grid>
Нажатие F5 запустит приложение. Вы должны увидеть кнопку и текстовое поле появится на экране.
Нажатие на кнопку ничего не даст на этом этапе. Давайте исправим это. Остановите приложение, закрыв браузер. Вернувшись в Visual Studio, найдите кнопку в файле XAML и добавьте атрибут с именем Click
. Click=""
заставит Visual Studio запросить у вас <New EventHandler>
. Выберите эту опцию, нажав Enter . Затем вы можете щелкнуть правой кнопкой мыши текст, который был добавлен, и выбрать « . Это увлечет вас в «код позади». Код позади — это область, которая используется для ввода кода C # (или VB.NET) — внутренности приложения написаны как incode сзади. Давайте заставим приложение отображать текст из текстового поля в Диалог сообщения. Сначала добавьте using System.Windows.Browser;
в область в верхней части страницы, где вы видите список операторов using
:
Пример 2. MainPage.xaml.cs
(отрывок)
использование System.Windows.Shapes; использование System.Windows.Browser; пространство имен PHPTutorialFirst {
Этот код импортирует пространство имен. Пространства имен позволяют разбить очень большую библиотеку классов .NETframework на более мелкие, управляемые части. Это определенное пространство имен включает в себя функцию оповещения, которую мы ищем. Далее, введите следующий код внутри функции Button_Click
чтобы показать всплывающее окно:
Пример 3. MainPage.xaml.cs
(отрывок)
private void Button_Click (отправитель объекта, RoutedEventArgs e) { HtmlPage.Window.Alert (txtName.Text); }
Это покажет содержимое текстового поля на экране. Вы можете помнить, что в XAML-файле вы добавили в TextBlock
атрибут с именем x:Name
. Это имя, как мы ссылаемся на элемент в нашем коде: txtName
Теперь, когда вы написали базовое приложение, вы готовы пойти дальше и начать использовать веб-сервис. Но прежде чем мы это сделаем, мы посмотрим, как вставить наше приложение Silverlight в наши HTML-файлы или PHP-шаблоны.
Первым шагом к интеграции Silverlight с вашим PHP-приложением является включение самого приложения в страницы, сгенерированные PHP. Есть несколько способов создания Silverlight. Первый способ — динамически добавлять новые приложения Silverlight с использованием JavaScript. Я не буду вдаваться в подробности, но вы можете узнать больше информации в документе MSDN Silverlight.jsreference . Второй вариант — использовать HTML-тег <object>
. Тег <object>
— это способ указать браузеру загружать внешний объект, такой как изображение или плагин. Большинство плагинов, таких как Flash и Silverlight, теперь используют этот тег. Чтобы помочь вам, Visual Studio создает для вас образец страницы, когда вы создаете новый проект Silverlight. Вы можете найти его в созданном ранее веб-проекте, который называется [applicationname]TestPage.html
. Итак, для нашего примера приложения SampleApplicationTestPage.html
файла — SampleApplicationTestPage.html
новый каталог в корневом каталоге вашего сервера для нового приложения (в наших примерах мы будем называть его silverlight
) и создайте в нем новую страницу index.php
, Скопируйте содержимое страницы тестирования, созданной Visual Studio, в этот файл и скопируйте Silverlight.js
из веб-проекта в вашу новую директорию. Теперь у вас есть файл PHP, который содержит <object>
указывающий на приложение Silverlightapplication, и сопутствующий файл JavaScript. с некоторыми необходимыми утилитами. Но, если вы изучите элемент object
, вы увидите, что его атрибут src
— ClientBin/SampleApplication.xap
. Оглядываясь назад на веб-проект Visual Studio, созданный для вас, вы увидите, что он действительно содержит каталог ClientBin
с SampleApplication.xap
SampleApplication.xap. Приложения Silverlight скомпилированы в так называемый пакет XAP (произносится как «zap»), который что затем включается в страницу с помощью <object>
. Поэтому вам просто нужно скопировать каталог ClientBin в каталог вашего приложения, и ваша страница index.php должна теперь правильно отобразить ваше приложение Silverlight. Вы можете переименовать или переместить файл XAP, вам просто нужно помнить, чтобы соответствующим образом настроить src
объекта. Помните, что если вы изменяете свое приложение Silverlight, вам необходимо снова скопировать ClientBin
каталога ClientBin
. Во время разработки, вероятно, будет проще запускать приложения Silverlight из VisualStudio и копировать их в каталог PHP, когда вы закончите. Теперь ваш каталог silverlight
должен выглядеть так, как показано на рисунке 4, «Содержимое каталога silverlight» с index.php
Файл index.php
содержащий содержимое сгенерированного SampleApplicationTestPage.html
из вашего веб-проекта Visual Studio.