Первоначально Автор Social Ebola
Мы действительно рады нашему новейшему приложению! Теперь приложение определенно предназначено для пользователей-гиков, но мы думаем, что это действительно круто!
Вот в чем дело — вы можете использовать XAML и Javascript, чтобы попробовать разработку Windows Phone 7.5 прямо на вашем телефоне или через браузер. Загрузите приложение, создайте новый образец (или отредактируйте существующий) и поэкспериментируйте с XAML и посмотрите его прямо на своем телефоне. Вместо C # вы будете использовать Javascript, но в противном случае вы можете повозиться и поиграть с ним.
Если вы хотите присоединиться к бете, напишите нам (вам нужно будет исправить адрес)!
Весь образец содержится внутри одного файла. Вот как выглядит вновь созданный образец:
<UserControl xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" xmlns:sys="clr-namespace:System;assembly=mscorlib" d:DesignHeight="480" d:DesignWidth="480"> <!-- Thanks for using the Javascript/Xaml app! Each XAML file has 3 major parts: 1. The XAML itself - this describes the UI. 2. The Javascript code - this controls what happens in the sample 3. The manifest - gives the title of the sample + some more optional information --> <UserControl.Resources> <!-- The manifest contains information about the sample Title - contains the name of the sample IconUri - The URI for the icon of the sample. Under the Author element, you have 2 other elements Name - the name of the author of the sample WebSite - Uri for the web site of the author --> <sys:String x:Key="_manifest" xml:space="preserve"> <![CDATA[ <SnippetManifest> <Author> <Name>SocialEbola User</Name> <WebSite>http://socialebola.wordpress.com</WebSite> </Author> <EntryPoint> <Title>[Default Template]</Title> <!--<IconUri>http://server/something.png</IconUri> --> </EntryPoint> </SnippetManifest> ]]> </sys:String> <!-- The following code will be loaded and executed when the XAML is done loading. --> <sys:String x:Key="_code" xml:space="preserve"> <![CDATA[ // The hosting environment has an event called "Loaded". That event will fire when the sample starts. // The following shows how you hook the event and. host.add_Loaded(function() { // First thing we will do, is show an alert saying we are loaded. alert("loaded!"); // Now, we will hook the other events we want to handle - namely, the button click event. // host.UI contains all the named controls in the XAML so you can easily access them: host.UI.button1.add_Click(function() { // Here, we wil change the text on the button when it's clicked. host.UI.button1.Content = "Hello XAML world!"; }); }); }); ]]> </sys:String> </UserControl.Resources> <Grid x:Name="LayoutRoot"> <Button x:Name="button1" Content="Press me!"></Button> </Grid> </UserControl>
Использование приложения
Код JavaScript встроен в XAML и будет выполняться при загрузке образца (подробнее об этом позже)
Приложение поставляется с несколькими установленными образцами — вы можете увидеть их на главной странице приложения (нажатие и удержание образца показывает вам различные варианты, доступные для вас:
Если вы решите отредактировать образец, вы можете сделать это на телефоне (хотя это очень неудобно). Благодаря этому, приложение дает вам возможность просматривать ваши образцы с помощью веб-браузера, что делает среду редактирования несколько лучше.
Нажав на значок плюса и кнопку «Создать новый», вы создадите новый «пустой» образец, который вы можете использовать для проверки. Обратите внимание, что вы также можете указать любой URL-адрес, содержащий XAML — вам не нужно использовать наши серверы ,
После создания вы можете выбрать отправку по электронной почте веб-ссылок, чтобы вы могли редактировать XAML на рабочем столе (вы можете сделать то же самое — отправить ссылки по электронной почте — перейдя к свойствам образца).
При редактировании образца на телефоне вам предоставляется сводная таблица, содержащая XAML и код JavasScript (при сохранении код будет помещен обратно в XAML):
Если вы используете предоставленную ссылку для редактирования, вы получите очень простую веб-страницу для редактирования текста. Изменение XAML На этой странице и нажатие кнопки «сохранить» сохраняет образец обратно на сервере. Обновив образец на телефоне, затем перенесите его в телефон для тестирования.
Как выглядит XAML
XAML состоит из трех основных частей — самого XAML, который ведет себя как контейнер, манифеста (содержит некоторые метаданные о образце) и кода. И код, и манифест встраиваются в виде строк внутри ресурсов файла XAML.
Вот как выглядит манифест:
<UserControl.Resources> <sys:String x:Key="_manifest" xml:space="preserve"> <![CDATA[ <SnippetManifest> <Author> <Name>SocialEbola User</Name> <WebSite>http://socialebola.wordpress.com</WebSite> </Author> <EntryPoint> <Title>[Default Template]</Title> <!--<IconUri>http://server/something.png</IconUri> --> </EntryPoint> </SnippetManifest> ]]>
Единственный действительно важный бит — это элемент <Title>, который управляет тем, что вы увидите в списке образцов.
Код также встроен — опять же, вот код JavaScript по умолчанию, который вы получаете при запуске нового образца:
<sys:String x:Key="_code" xml:space="preserve"> <![CDATA[ // The hosting environment has an event called "Loaded". That event will fire when the sample starts. // The following shows how you hook the event and. host.add_Loaded(function() { // First thing we will do, is show an alert saying we are loaded. alert("loaded!"); // Now, we will hook the other events we want to handle - namely, the button click event. // host.UI contains all the named controls in the XAML so you can easily access them: host.UI.button1.add_Click(function() { // Here, we wil change the text on the button when it's clicked. host.UI.button1.Content = "Hello XAML world!"; }); }); }); ]]>
Как видите, первое, что делает код, это подключает событие «Loaded» к хост-объекту — это событие будет запущено при запуске образца (например, событие загрузки тела HTML).
Затем код сообщает, что он загружен.
Наконец, код перехватывает событие Click кнопки, которая находится в XAML, с помощью объекта host.UI (объект UI будет содержать все именованные элементы управления XAML).
На данный момент это все — мы собираемся опубликовать еще несколько блогов о том, что вы можете сделать, но если вы попадете в бета-версию, мы призываем вас попробовать и рассказать нам, что вы думаете
Вот ссылки на два предустановленных примера:
http://www.socialebola.com/Wpjs/Blob.ashx/Sample.Fin
http://www.socialebola.com/Wpjs/Blob.ashx/Sample.Conv
Это приложение не было бы возможно без следующих проектов с открытым исходным кодом:
Проект JINT на CodePlex ( http://jint.codeplex.com )
Перенос JINT Джоэла Мартинеса на WP7 ( http://www.codecube.com )