Что такое appmakr?
appmakr — это онлайн-сервис для создания мобильных приложений под разные платформы, включая Windows Phone. Особенность сервиса в том, что для создания приложения не надо ничего программировать — он заточен под специальные сценарии потребления данных, которые позволяют генерировать приложения на основании указанных вами параметров (например, источника новостей в виде RSS-ленты).
Как это работает?
Первым делом, вам будет необходимо зарегистрироваться. После этого вы сможете попасть в панель управления (dashboard). Далее выберите создание нового приложения:
Чтобы сделать приложение под Windows Phone, выберите соответствующую опцию:
На следующем экране укажите источник для ваших данных (сайт на котором есть RSS/Atom или сразу ссылку на соответствующий фид) — я буду создавать приложение для нашего
студенческого блога:
Далее необходимо сделать базовые настройки: указать название приложения, выбрать иконку и экран загрузки из числа предложенных изображений (поиск можно уточнить), по ссылке или с диска:
Справа можно сразу посмотреть, как будет выглядеть ваше приложение в эмуляторе телефона:
Далее можно перейти к настройкам содержания (вкладка Tabs). Здесь можно скорректировать и добавить источники для контента (я добавлю RSS для постов и комментариев, а также RSS нашего твиттера Imagine Cup):
Следующий пункт — кастомизация приложения. Здесь можно изменить шапку приложения, а также поменять цвета:
Дальше остается добавить описание и во вкладке Publish сгенерировать приложение:
После этого приложение ставится в очередь на генерацию — вам остается лишь подождать какое-то время, пока приложение будет собрано и разместить его в Marketplace для всех желающих!
Готовый файл, генерируемый appmakr — это обычный zip-архив, который необходимо переименовать в xap-файл.
При большом желании приложение можно дополнительно настроить с помощью CSS и JavaScript.
Публикация в Marketplace
Теперь, когда у вас на руках есть готовый xap-файл, самое время опубликовать приложение в Marketplace. Часть графических элементов вы наверняка уже подготовили в процессе работы над приложением (например, иконки и экран загрузки), а часть еще понадобится сделать для публикации в магазине.
Напомню, что студенты (и аспиранты) могут зарегистрироваться в Marketplace бесплатно через программу DreamSpark. Также до 20 октября у Softkey действует специальная акция для размещения бесплатных приложений.
Полный набор графических объектов (не все из них обязательные) выглядит так: квадратные иконки шириной 99, 173 и 200px, фоновое изображение 1000x800px, а также набор скриншотов приложения. Скриншоты удобно делать с помощью встроенного в эмулятор средства для снятия снимков экрана.
Теперь остается заполнить все необходимые поля описания, установить цену (например, сделать приложение бесплатным), выбрать рынки (учтите, что если приложение содержит только данные на русском, то и публиковать его следует на российский рынок, иначе могут быть сложности с прохождением сертификации) и отправить приложение на проверку.
Через несколько дней ваше приложение будет доступно в магазине приложений.
Итог
Если вы хотите быстро и без лишних затрат сделать приложение для Windows Phone,
appmakr — сделает для вас решение этой задачи очень простым! Все что вам нужно, это браузер, источники данных и, возможно, несколько картинок.
Конечно, appmakr не решает всех задач и не способен охватить большое количество сценариев. Но, как минимум, чтобы быстро сделать приложение для себя или друзей, аггрегирующее несколько источников данных, или проверить на себе как работает весь процесс загрузки приложения и дальнейшей сертификации, appmakr подходит как нельзя лучше!
Бонус
Наконец, небольшой бонус. Мой коллега, Стас Павлов будет проводить вебинар «Основы разработки для платформы Windows Phone 7», на котором будет рассказано, как начать разрабатывать и зарабатывать на платформе Windows Phone 7.
Участие бесплатно. Регистрация обязательна.
Создание первого приложения
Последнее обновление: 31.10.2015
Запустим Visual Studio Express 2013 for Windows. В меню выберем File->New Project... Перед нами откроется окно создания проекта:
В левой части окна выберем Visual C#->Store Apps-> Windows Phone Apps. А среди шаблонов нового проекта выберем
Blank App (Windows Phone), дадим какое-нибудь название проекту, например, назовем его HelloApp. И нажмем ОК.
И Visual Studio создаст новый проект:
Проект по шаблону Blank App по умолчанию имеет следующие узлы:
-
Каталог Assets, содержащий используемые файлы изображений
-
App.xaml и App.xaml.cs — файл ресурсов приложения на xaml и файл кода приложения на c# соответственно
-
MainPage.xaml и MainPage.xaml.cs — файл графического интерфейса окна приложения и файл кода окна на c# соответственно
-
Package.appxmanifest — файл манифеста приложения
На данном начальном этапе пока для нас ценность представляют файлы MainPage.xaml и MainPage.xaml.cs. Откроем файл MainPage.xaml,
который представляет графический интерфейс:
Слева в виде телефона у нас будет окно графического дизайнера. Справа — окно разметки графического интерфейса на языке xaml. Графический интерфейс в данном случае представлен
классом MainPage, который представляет собой отдельную страницу. Все изменения по интерфейсу, которые мы сделаем,
тут же будут отображаться в графическом дизайнере, который даст нам визуальное понимание того, как в итоге будет все выглядеть.
Допустим, наше приложение будет считать сумму вклада после начисления процентов. Для этого нам нужно поле ввода суммы вклада,
поле для вывода результата и кнопку, с помощью которой мы будем инициировать вычисления итоговой суммы. Итак, изменим код файла MainPage.xaml следующим образом:
<Page x:Class="HelloApp.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:HelloApp" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid> <TextBox x:Name="textBox1" Width="200" PlaceholderText="Введите сумму" /> <Button x:Name="button1" Content="Считать" Width="150" VerticalAlignment="Top" Margin="140 60 0 0"/> <TextBlock x:Name="textBlock1" Width="150" Height="40" FontSize="24" VerticalAlignment="Top" Margin="40 120 20 0" /> </Grid> </Page>
Итак, тут мы добавили в элемент Grid три новых элемента. Страница с графическим интерфейсом может иметь один корневой элемент,
в который потом уже добавляются все остальные. В данном случае это элемент Grid.
Мы добавили текстовое поле (элемент TextBox) для ввода некоторого значения, кнопку для инициации действия, и элемент
TextBlock для вывода результата действия.
С помощью атрибутов элементов мы задаем их внешний вид и позиционирование. Например, с помощью атрибута Margin задаются отступы от внешнего края. Более подробно об атрибутах и прочих элементах языка xaml мы поговорим в дальнейшем.
После добавления элементов и их атрибутов у нас автоматически обновится и окно дизайнера:
Теперь изменим код кнопки следующим образом:
<Button x:Name="button1" Content="Считать" Width="150" VerticalAlignment="Top" Margin="140 60 0 0" Click="button1_Click"/>
С помощью выражения Click="button1_Click"
мы добавили обработчик события Click. Таким образом, по нажатию кнопки будет срабатывать метод
button1_Click
. Теперь определим этот метод.
Откроем файл MainPage.xaml.cs, который содержит логику страницы. По умолчанию он имеет следующий код:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Input; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; namespace HelloApp { public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); this.NavigationCacheMode = NavigationCacheMode.Required; } protected override void OnNavigatedTo(NavigationEventArgs e) { } } }
В класс MainPage добавим новый метод:
private void button1_Click(object sender, RoutedEventArgs e) { double capital; if(Double.TryParse(textBox1.Text,out capital)) { capital+=capital * 0.12; textBlock1.Text = capital.ToString() + " долларов"; } else { textBlock1.Text="Некорректное значение"; } }
В методе мы получаем введенное в текстовое поле значение и пытаемся его преобразовать к типу double. Если преобразование пройдет успешно, то выводим результат
несложных вычислений.
Запустим на выполнение:
При запуске мы можем выбрать, где мы будем тестировать приложение — на реальном устройстве или эмуляторе. В моем случае я запускаю приложение на реальном смартфоне,
поэтому в выпадающем списке выбираю Device. Однако можно выбрать и один из эмуляторов, если они уже установлены.
При запуске приложения на смартфоне важно, чтобы смартфон не находился в состоянии блокировки. Итак, запустим:
Введем в текстовое поле какое-нибудь число и нажмем на кнопку:
При тестировании через смартфон важно помнить, что при запуске приложение автоматически устанавливается на телефон, и мы можем его найти в списке всех приложений:
И при необходимости потом, отключившись от компьютера, также сможем его запустить, либо удалить.
На этом создание первого приложения завершено.
Windows Phone, хотя и ушел с рынка, все еще представляет собой
интересную платформу для изучения разработки мобильных приложений. В
этой главе мы рассмотрим, как создать приложение для Windows Phone с
использованием Visual Basic, основываясь на платформе Windows Phone SDK
и Visual Studio.
Основы
разработки приложений для Windows Phone
Windows Phone использует Windows Phone SDK, который является набором
инструментов для разработки приложений, включая редактор кода, симулятор
устройства, отладчик и другие полезные компоненты. Важно отметить, что
для создания приложений для Windows Phone можно использовать два языка
программирования: C# и Visual Basic. В данной главе мы сосредоточимся на
Visual Basic.
Среда разработки
Для разработки приложений для Windows Phone используем Visual
Studio. Это мощная интегрированная среда разработки (IDE),
поддерживающая все необходимые инструменты для работы с Windows Phone
SDK. Убедитесь, что у вас установлены все компоненты, включая Windows
Phone SDK и .NET Framework.
- Создание нового проекта
- Откройте Visual Studio.
- Перейдите в раздел Файл → Создать
→ Проект. - Выберите Windows Phone в списке доступных
платформ. - Выберите шаблон Windows Phone App (Visual
Basic). - Укажите имя проекта и нажмите Создать.
- Обзор структуры проекта После создания проекта вы
увидите несколько файлов и папок:- MainPage.xaml — основной файл интерфейса
приложения. Здесь будет находиться разметка UI. - MainPage.xaml.vb — файл, содержащий код для
обработки событий и логики приложения. - App.xaml — основной файл, управляющий жизненным
циклом приложения. - App.xaml.vb — код, управляющий начальной и
финальной инициализацией приложения.
- MainPage.xaml — основной файл интерфейса
Разработка интерфейса
Приложения для Windows Phone используют XAML (Extensible Application
Markup Language) для описания пользовательского интерфейса. Разметка в
XAML может включать различные элементы управления, такие как кнопки,
текстовые поля, списки и другие.
Пример: создание простого
интерфейса
Допустим, нам нужно создать приложение, которое при нажатии кнопки
отображает сообщение.
- Откройте файл MainPage.xaml и добавьте
следующее:
<phone:PhoneApplicationPage
x:Class="WindowsPhoneApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
<Grid>
<Button Content="Нажми меня" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button_Click"/>
<TextBlock x:Name="MessageTextBlock" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,40"/>
</Grid>
</phone:PhoneApplicationPage>
Здесь создается кнопка с надписью “Нажми меня” и текстовое поле для
отображения сообщения.
Обработка события нажатия
кнопки
Теперь откроем файл MainPage.xaml.vb и добавим
обработчик для события Click
, чтобы при нажатии на кнопку
выводилось сообщение.
Imports Microsoft.Phone.Controls
Public Class MainPage
Inherits PhoneApplicationPage
Public Sub New()
InitializeComponent()
End Sub
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
MessageTextBlock.Text = "Привет, мир!"
End Sub
End Class
В этом коде, когда пользователь нажимает кнопку, текстовое поле
MessageTextBlock
обновляется и отображает сообщение
“Привет, мир!”.
Работа с данными и хранение
Для создания функциональных приложений, которые работают с данными,
необходимо научиться взаимодействовать с базами данных и сохранять
информацию. В Windows Phone можно использовать несколько подходов для
хранения данных:
- Isolated Storage — для хранения небольших данных,
таких как настройки пользователя. - SQLite — для работы с более сложными базами
данных.
Пример: использование
Isolated Storage
Для хранения настроек приложения или небольших данных можно
использовать Isolated Storage. Например, давайте
сохраним и загрузим имя пользователя.
- Сначала добавим код для сохранения имени пользователя:
Imports System.IO.IsolatedStorage
Public Sub SaveUserName(userName As String)
Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
Dim isoStream As New IsolatedStorageFileStream("userName.txt", FileMode.Create, isoStore)
Dim writer As New StreamWriter(isoStream)
writer.Write(userName)
writer.Close()
End Sub
- Теперь добавим код для загрузки имени пользователя:
Public Function LoadUserName() As String
Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
If isoStore.FileExists("userName.txt") Then
Dim isoStream As New IsolatedStorageFileStream("userName.txt", FileMode.Open, isoStore)
Dim reader As New StreamReader(isoStream)
Dim userName As String = reader.ReadToEnd()
reader.Close()
Return userName
End If
Return String.Empty
End Function
Этот код позволяет сохранять и загружать имя пользователя с помощью
Isolated Storage.
Отладка и тестирование
Тестирование приложений на устройствах Windows Phone можно проводить
с помощью встроенного эмулятора, который предоставляется в Visual
Studio, или непосредственно на реальном устройстве. Чтобы начать
тестирование:
- Подключите ваше устройство Windows Phone к компьютеру.
- В Visual Studio выберите конфигурацию Release или
Debug. - Нажмите Запуск или Start Debugging
(F5) для запуска приложения на эмуляторе или устройстве.
Эмулятор Windows Phone позволяет вам тестировать приложение в
различных разрешениях экранов и с различными характеристиками
устройств.
Подготовка к публикации
приложения
Когда приложение готово, его можно подготовить к публикации в
Windows Phone Store. Этот процесс включает несколько
шагов:
- Сборка и тестирование: Пройдите все этапы
тестирования и убедитесь, что приложение стабильно работает на различных
устройствах. - Создание пакета для публикации: В Visual Studio
выберите Сборка → Публикация и
следуйте инструкциям. - Регистрация в Windows Phone Dev Center:
Зарегистрируйтесь в Windows Phone Dev Center для
загрузки приложения в магазин.
Заключение
Разработка приложений для Windows Phone с использованием Visual Basic
— это интересный процесс, который включает работу с интерфейсом, данными
и интеграцию с системными ресурсами. Используя возможности XAML и Visual
Basic, можно создавать качественные и функциональные мобильные
приложения для платформы Windows Phone.
Аннотация: На данном занятии мы познакомимся со средой разработки Microsoft Visual Studio 2010 Express for Windows Phone, в частности, с эмулятором телефона. Мы познакомимся с объектами PhoneApplicationFrame и PhoneApplicationPage и выведем на экран красиво отформатированный текст. После чего поработаем с элементом управления MapControl.
Дополнительные материалы к занятию можно скачать здесь.
Для телефона поддерживаются две технологии создания приложений: Silverlight и XNA. XNA в первую очередь предназначена для создания игр и приложений, работающих с 2D- и 3D-графикой.
Silverlight удобно использовать для бизнес-приложений, простых игр и прочих программ, имеющих «традиционный» управляемый событиями интерфейс (т.е. набор элементов управления типа строк ввода, списков и т.д.). Он приходит на смену более старым технологиям создания приложений Windows Forms. В основе Silverlight лежит принцип разделения разметки графического дизайна приложения и программного кода — интерфейс программируется с помощью XML-языка разметки XAML, а с действиями пользователя связываются события, программируемые отдельно на любом из .NET-языков (обычно на C#) [26].
Упражнение 14.1. Создание простейшего приложения MS Windows Phone 7
Запускаем Microsoft Visual Studio 2010 Express for Windows Phone
Создаем приложение p6. Выбираем пункт Windows Phone 7 Emulator.
Запускаем приложение, нажав кнопку F5:
В нашем приложении есть два заголовка — MY APPLICATION и PAGE NAME.
Внесем изменения в заголовки, заменив слово MY APPLICATION на Это-мое первое приложение и PAGE NAME — на Silverlight. Ниже приводится код xaml:
<phone:PhoneApplicationPage x:Class="p6.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" shell:SystemTray.IsVisible="True"> <!--LayoutRoot is the root grid where all page content is placed--> <Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="Это-мое первое приложение " Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="Silverlight" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"></Grid> </Grid> </phone:PhoneApplicationPage>
Результат:
Упражнение 14.2. Знакомство с элементом управления MapControl
Элемент управления Map позволяет в Silverlight-приложениях отображать карту.
Создаем новое приложение Windows Phone p6_2. Из панели инструментов перетаскиваем элемент управления Map.
При этом подключается пространство имен:
xmlns:my="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps"
Запускаем проект
На карте при этом можно разглядеть белую надпись: Invalid Credentials. Sign up for a developer account — Нет достаточных прав, подпишитесь на учетную запись разработчика.
Для регистрации необходимо зайти на сайт http://www.bingmapsportal.com/ и зарегистрироваться в качестве нового пользователя:
Затем нужно создать свой ключ (Create or view keys):
После заполнения анкеты получаем примерно такой ключ:
Один пользователь может получить бесплатно до пяти ключей.
Полученный ключ можно добавить к элементу управления Map:
<my:Map Height="595" HorizontalAlignment="Left" Margin="0,6,0,0" Name="map1" VerticalAlignment="Top" Width="456" CredentialsProvider="AqCnwcyoxN8o6P1nM76x9QNHNMvHLf5pQa-H8L77yju6wcBx2vwvWUniEEpR-ifw" />
Белая надпись при этом исчезнет.
Упражнение 14.3. Добавление точки (Pushpin) на карту
Для добавления точки на карту нужно указать координаты и подпись. Добавлять можно как в разметке xaml, так и в коде C#.
Создаем новый проект practice_13_2. Так же из панели инструментов перетаскиваем элемент управления Map.
Добавим точку в XAML разметке.
Для этого выбираем географическую широту и долготу интересующей нас точки ( северной широты и восточной долготы) и задаем подпись (Уфа):
<my:Map Height="595" HorizontalAlignment="Left" Margin="12,6,0,0" Name="map1" VerticalAlignment="Top" Width="438" CredentialsProvider="AqCnwcyoxN8o6P1nM76x9QNHNMvHLf5pQa-H8L77yju6wcBx2vwvWUniEEpR-ifw" > <my:Pushpin Location="54.73333333, 55.96666667" FontSize="30" Background="Orange" Content="Уфа" /> </my:Map>
Итоговый код приложения:
<phone:PhoneApplicationPage x:Class="p6_3.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" shell:SystemTray.IsVisible="True" xmlns:my="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps"> <!--LayoutRoot is the root grid where all page content is placed--> <Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <my:Map Height="595" HorizontalAlignment="Left" Margin="12,6,0,0" Name="map1" VerticalAlignment="Top" Width="438" CredentialsProvider="AqCnwcyoxN8o6P1nM76x9QNHNMvHLf5pQa-H8L77yju6wcBx2vwvWUniEEpR-ifw" Mode="Aerial" > <my:Pushpin Location="54.73333333, 55.96666667" FontSize="30" Background="Orange" Content="Уфа" /> </my:Map> </Grid> </Grid> </phone:PhoneApplicationPage>
Оказывается, это можно сделать всего за 6 часов! Scott Hanselman сделал первое приложение за 6 часов и подробно рассказал все шаги в своей статье. По его собственным словам, он преимущественно использовал коммуникаторы другой фирмы, и Windows Phone попал к нему случайно. Он попробовал использовать его и после этого решил, что нужно попробовать разработать приложение под Windows Phone. Вот что у него получилось. Выделятся 6 шагов:
Шаг 1. Скачать инструменты разработчика.
Шаг 2. Скачать все основные библиотеки с открытым кодом. Из рекомендуемых
LittleWatson, MetroGridHelper, SilverlightToolkit, TombstoneHelper, YourLastAboutDialog, Windows Phone Power Tools, PNGOut and PNGGauntlet, Portable Library Tools, NotifyPropertyWeaver и т.д
Шаг 3. Написать приложение, – добавить к нему ресурсы, инетересные сообщения, картинки, музыку. В общем, все что необходимо.
Шаг 4. Выложить приложение для проверки. Может пройти до 3 дней процедура принятия приложения.
Шаг 5. В случае принятия приложения, назначается и выставляется цена на приложение. Есть возможность сделать приложение абсолютно бесплатно!
Шаг 6. (опционально) Выложить обновление с исправлением ошибок найденных ошибок!
.
Автор утверждает, что никогда не разрабатывал под Windows Phone и это действительно его первое приложение!
Полезные ссылки:
1. From Concept to Code in 6 hours: Shipping my first Windows Phone App http://www.hanselman.com/blog/FromConceptToCodeIn6HoursShippingMyFirstWindowsPhoneApp.aspx
2. «Lost Phone Screen» The Customizable Windows Phone 7 Lock Screen http://www.lostphonescreen.com/