SlideShare a Scribd company logo
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
3
4
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
C# / VB.NET                                     F#




Browser        Application Phone App     Game

                       HTML5
                                   XNA
              Silverlight
                            .NET
I   II
I                                  II

    • Windows Phone 7                      • ASP.NET
    • Windows 8                            • ASP.NET MVC
    • Kinect & NUI                         • Windows Azure
                   •    C#, F#
                   •    HTML5/JavaScript
                   •    XAML
                   •    DirectX / XNA
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
ДИЗАЙН:           ПЛАТФОРМА:     ОБОРУДОВАНИЕ:
    ОРИЕНТИРОВАН НА   НАСЫЩЕННЫЕ И   ЕДИНЫЕ СТАНДАРТЫ
    КОНЕЧНОГО         ПРОСТЫЕ
    ПОЛЬЗОВАТЕЛЯ      ПРИЛОЖЕНИЯ


1
Для пользователя:
• Революция в дизайне
• Приложения
• Единые стандарты
  оборудования
~10000 р.

Для программиста:
• Marketplace
• Низкий порог
  вхождения
• Здесь и сейчас
Прогноз долей рынка в 2014 году
Операционная система                               IDC   Gartner
Android                                           45%     49%
Symbian                                            0%      0%
Windows Phone                                     21%     20%
iOS                                               15%     17%
BlackBerry OS                                     14%     11%

Other (Linux, webOS, Maemo/MeeGo)                  5%      3%
Grand Total                                       100%    100%
Приложения   Игры
             и приложения
    и игры
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
<Grid x:Name="LayoutRoot" Background="Transparent">
  <StackPanel x:Name="TitlePanel" Grid.Row="0">
      <TextBlock x:Name="ApplicationTitle" Text="MY APP"/>
      <TextBlock x:Name="PageTitle" Text="Предсказатель"/>
  </StackPanel>
 <Grid x:Name="ContentPanel" Grid.Row="1">
  <TextBlock Name="textBlock1" Text="Нажмите кнопку"/>
  <Button Content="Предсказать" Name="button1"
               Click="button1_Click" />
 </Grid>
</Grid>
private void button1_Click(object sender,
      RoutedEventArgs e)
{
   Random R = new Random();
   textBlock1.Text = "Моя оценка будет: "+
                R.Next(2,5).ToString();
}
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
protected override void LoadContent()
{
  ship = Content.Load<Texture2D>("Ship");
  rocket = Content.Load<Texture2D>("Rocket");
  explosion = Content.Load<Texture2D>("Explode");

    font = Content.Load<SpriteFont>("GameFont");

    music = Content.Load<Song>("Music");
    laser = Content.Load<SoundEffect>("Laser");
}
protected override void                protected override void
       Draw(GameTime gameTime)                Update(GameTime gameTime)
{                                      {
  GraphicsDevice.Clear(Color.White);
  spriteBatch.Begin();                     ship_pos += ship_speed;
  spriteBatch.Draw(ship,
        ship_pos, Color.White);            var tc = TouchPanel.GetState();
  spriteBatch.End();
  base.Draw(gameTime);                     …
}
                                           base.Update(gameTime);
                                       }
http://msdn.com/windowsphone
Отличные
                приложения
                Сделано в стиле самого
   Delight      Windows Phone 7

                Полезные – ожидаемые
    Utility     функции, визуально красивые,
                часто используется

                Работает как ожидалось,
Functionality   включая качесттво контента и
                легкость использования
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
DllImport "avicap32.dll"            "capCreateCaptureWindow"
static extern int
  string                  int
  int    int    int           int
  int             int

 DllImport "avicap32.dll"
static extern bool
  int
   MarshalAs UnmanagedType          ref string
  int
   MarshalAs UnmanagedType          ref string
  int

// и ещё много такого же кода
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
using Windows.Media.Capture;

var         new CameraCaptureUI
                                         new Size

var           await                     CameraCaptureUIMode

if

      var             new BitmapImage
                          await              FileAccessMode
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
var




 var
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
public async Task<XElement> GetXmlAsync(string url) {
    var client = new HttpClient();
    var response = await client.GetAsync(url);
    var text = response.Content.ReadAsString();
    return XElement.Parse(text);
}

                                public Task<XElement> GetXmlAsync(string url) {
                                    var tcs = new TaskCompletionSource<XElement>();
                                    var client = new HttpClient();
                                    client.GetAsync(url).ContinueWith(task => {
                                        var response = task.Result;
                                        var text = response.Content.ReadAsString();
                                        tcs.SetResult(XElement.Parse(text));
                                    });
                                    return tcs.Task;
                                }
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
Декларация     Прозрачный   Произво-
возможностей   доступ       дительность
Высокая        Хранение в   Native-доступ
изоляция       облаке
Для получения $10 миллионов прибыли
              Цена: $4.99



      ~2,500,000 продаж
 0.5% пользователей Windows
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft
DevCon•12
developers developers developers
                                    23-24 мая
                                    ЗАГОРОДНЫЙ ФОРМАТ




Ежегодная конференция по разработке
и тестированию программного обеспечения

        Йонас Перссон                                                                      23–24
        главный операционный директор департамента                     Подмосковье          мая
        стратегических технологий на международном уровне

        Скотт Хансельман
        главный архитектор по проектам с сообществами
        в команде, создающей веб-технологии


50 СЕССИЙ, BOOT CAMPS, МАСТЕР-КЛАССЫ, NIGHT OF CODING, ФОКУС-ГРУППЫ,                 С++
КРУГЛЫЕ СТОЛЫ, ВЕЧЕРНЯЯ ПРОГРАММА, СПОРТИВНЫЕ МЕРОПРИЯТИЯ


http://msdevcon.ru                                                                   #msdevcon
CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft

More Related Content

PPTX
Парсим и кодогенерируем для С++ с использованием clang
PDF
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
PDF
«Организация Frontend-разработки на крупном проекте» — Дмитрий Кузнецов
PDF
«Как я научился не волноваться и полюбил Android-MVP», Никита Бартишок, ABBYY
PDF
#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил Реенко
PDF
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
PDF
CodeFest 2012. Катков С. — Бенчмарки как критерий естественного отбора
PPT
Chinati Foundation
Парсим и кодогенерируем для С++ с использованием clang
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
«Организация Frontend-разработки на крупном проекте» — Дмитрий Кузнецов
«Как я научился не волноваться и полюбил Android-MVP», Никита Бартишок, ABBYY
#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил Реенко
"Изоморфный D3 + MALEVICH", Алексей Охрименко, MoscowJS 25
CodeFest 2012. Катков С. — Бенчмарки как критерий естественного отбора
Chinati Foundation

Viewers also liked (7)

PPTX
CodeFest 2012. Петунин Д. — Идеальные инструменты для разработки на HTML5
PDF
CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...
PPTX
Sql Server 2012 for the new world of data
PPT
Emeco navy chair
PPTX
Sql Server 2012 overview and licensing
PPTX
CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...
PPT
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
CodeFest 2012. Петунин Д. — Идеальные инструменты для разработки на HTML5
CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...
Sql Server 2012 for the new world of data
Emeco navy chair
Sql Server 2012 overview and licensing
CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
Ad

Similar to CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft (20)

PPTX
DevCon 2016 - Xamarin
PDF
Desktop app based on node js and html5
PPTX
.NET core в современных проектах, Андрей Губский
PPTX
What's new in Visual Studio 2012
PDF
Леонид Васильев "Python в инфраструктуре поиска"
PPTX
Go Mobile! Windows Phone 7 for all
PPTX
разработка Metro style приложений
PDF
"Windows Azure для мобильных платформ". Владимир Юнев, Microsoft
PPTX
.NET Core в современных проектах
PPTX
Вячеслав Смирнов - Инструменты нагрузочного тестирования
PDF
Android: Как создать свое первое приложение?
PDF
Сергей Перескоков "JS API Яндекс.Карт 2.0: что нового и как это работает"
PPTX
Совместные решения Citrix и Dell для правильной организации рабочих мест
PDF
Так круто, что даже отвратительно
PPT
Node.JS: возможности для РНР-разработчика
PDF
IT-инфраструктура. FAQ для разработчика
PDF
Разработка мобильных приложений на HTML5
PPTX
Что нового в Android 5.0
PDF
МАИ, Сети ЭВМ, Лекция №5
PPT
Api Microsoft Loghechkin
DevCon 2016 - Xamarin
Desktop app based on node js and html5
.NET core в современных проектах, Андрей Губский
What's new in Visual Studio 2012
Леонид Васильев "Python в инфраструктуре поиска"
Go Mobile! Windows Phone 7 for all
разработка Metro style приложений
"Windows Azure для мобильных платформ". Владимир Юнев, Microsoft
.NET Core в современных проектах
Вячеслав Смирнов - Инструменты нагрузочного тестирования
Android: Как создать свое первое приложение?
Сергей Перескоков "JS API Яндекс.Карт 2.0: что нового и как это работает"
Совместные решения Citrix и Dell для правильной организации рабочих мест
Так круто, что даже отвратительно
Node.JS: возможности для РНР-разработчика
IT-инфраструктура. FAQ для разработчика
Разработка мобильных приложений на HTML5
Что нового в Android 5.0
МАИ, Сети ЭВМ, Лекция №5
Api Microsoft Loghechkin
Ad

More from CodeFest (20)

PDF
Alexander Graebe
PDF
Никита Прокопов
PPTX
Денис Баталов
PDF
Елена Гальцина
PDF
Александр Калашников
PDF
Ирина Иванова
PDF
Marko Berković
PDF
Денис Кортунов
PDF
Александр Зимин
PDF
Сергей Крапивенский
PDF
Сергей Игнатов
PDF
Николай Крапивный
PDF
Alexander Graebe
PDF
Вадим Смирнов
PDF
Константин Осипов
PDF
Raffaele Rialdi
PDF
Максим Пугачев
PDF
Rene Groeschke
PDF
Иван Бондаренко
PDF
Mete Atamel
Alexander Graebe
Никита Прокопов
Денис Баталов
Елена Гальцина
Александр Калашников
Ирина Иванова
Marko Berković
Денис Кортунов
Александр Зимин
Сергей Крапивенский
Сергей Игнатов
Николай Крапивный
Alexander Graebe
Вадим Смирнов
Константин Осипов
Raffaele Rialdi
Максим Пугачев
Rene Groeschke
Иван Бондаренко
Mete Atamel

CodeFest 2012. Сошников Д. — Разработка мобильных приложений на платформе Microsoft

  • 3. 3
  • 4. 4
  • 8. C# / VB.NET F# Browser Application Phone App Game HTML5 XNA Silverlight .NET
  • 9. I II
  • 10. I II • Windows Phone 7 • ASP.NET • Windows 8 • ASP.NET MVC • Kinect & NUI • Windows Azure • C#, F# • HTML5/JavaScript • XAML • DirectX / XNA
  • 12. ДИЗАЙН: ПЛАТФОРМА: ОБОРУДОВАНИЕ: ОРИЕНТИРОВАН НА НАСЫЩЕННЫЕ И ЕДИНЫЕ СТАНДАРТЫ КОНЕЧНОГО ПРОСТЫЕ ПОЛЬЗОВАТЕЛЯ ПРИЛОЖЕНИЯ 1
  • 13. Для пользователя: • Революция в дизайне • Приложения • Единые стандарты оборудования ~10000 р. Для программиста: • Marketplace • Низкий порог вхождения • Здесь и сейчас
  • 14. Прогноз долей рынка в 2014 году Операционная система IDC Gartner Android 45% 49% Symbian 0% 0% Windows Phone 21% 20% iOS 15% 17% BlackBerry OS 14% 11% Other (Linux, webOS, Maemo/MeeGo) 5% 3% Grand Total 100% 100%
  • 15. Приложения Игры и приложения и игры
  • 17. <Grid x:Name="LayoutRoot" Background="Transparent"> <StackPanel x:Name="TitlePanel" Grid.Row="0"> <TextBlock x:Name="ApplicationTitle" Text="MY APP"/> <TextBlock x:Name="PageTitle" Text="Предсказатель"/> </StackPanel> <Grid x:Name="ContentPanel" Grid.Row="1"> <TextBlock Name="textBlock1" Text="Нажмите кнопку"/> <Button Content="Предсказать" Name="button1" Click="button1_Click" /> </Grid> </Grid>
  • 18. private void button1_Click(object sender, RoutedEventArgs e) { Random R = new Random(); textBlock1.Text = "Моя оценка будет: "+ R.Next(2,5).ToString(); }
  • 22. protected override void LoadContent() { ship = Content.Load<Texture2D>("Ship"); rocket = Content.Load<Texture2D>("Rocket"); explosion = Content.Load<Texture2D>("Explode"); font = Content.Load<SpriteFont>("GameFont"); music = Content.Load<Song>("Music"); laser = Content.Load<SoundEffect>("Laser"); }
  • 23. protected override void protected override void Draw(GameTime gameTime) Update(GameTime gameTime) { { GraphicsDevice.Clear(Color.White); spriteBatch.Begin(); ship_pos += ship_speed; spriteBatch.Draw(ship, ship_pos, Color.White); var tc = TouchPanel.GetState(); spriteBatch.End(); base.Draw(gameTime); … } base.Update(gameTime); }
  • 25. Отличные приложения Сделано в стиле самого Delight Windows Phone 7 Полезные – ожидаемые Utility функции, визуально красивые, часто используется Работает как ожидалось, Functionality включая качесттво контента и легкость использования
  • 29. DllImport "avicap32.dll" "capCreateCaptureWindow" static extern int string int int int int int int int DllImport "avicap32.dll" static extern bool int MarshalAs UnmanagedType ref string int MarshalAs UnmanagedType ref string int // и ещё много такого же кода
  • 31. using Windows.Media.Capture; var new CameraCaptureUI new Size var await CameraCaptureUIMode if var new BitmapImage await FileAccessMode
  • 40. public async Task<XElement> GetXmlAsync(string url) { var client = new HttpClient(); var response = await client.GetAsync(url); var text = response.Content.ReadAsString(); return XElement.Parse(text); } public Task<XElement> GetXmlAsync(string url) { var tcs = new TaskCompletionSource<XElement>(); var client = new HttpClient(); client.GetAsync(url).ContinueWith(task => { var response = task.Result; var text = response.Content.ReadAsString(); tcs.SetResult(XElement.Parse(text)); }); return tcs.Task; }
  • 46. Декларация Прозрачный Произво- возможностей доступ дительность Высокая Хранение в Native-доступ изоляция облаке
  • 47. Для получения $10 миллионов прибыли Цена: $4.99 ~2,500,000 продаж 0.5% пользователей Windows
  • 50. DevCon•12 developers developers developers 23-24 мая ЗАГОРОДНЫЙ ФОРМАТ Ежегодная конференция по разработке и тестированию программного обеспечения Йонас Перссон 23–24 главный операционный директор департамента Подмосковье мая стратегических технологий на международном уровне Скотт Хансельман главный архитектор по проектам с сообществами в команде, создающей веб-технологии 50 СЕССИЙ, BOOT CAMPS, МАСТЕР-КЛАССЫ, NIGHT OF CODING, ФОКУС-ГРУППЫ, С++ КРУГЛЫЕ СТОЛЫ, ВЕЧЕРНЯЯ ПРОГРАММА, СПОРТИВНЫЕ МЕРОПРИЯТИЯ http://msdevcon.ru #msdevcon

Editor's Notes

  • #28: Every language is a first class citizen.. This is the official slide, Direct X is missing from this slide.. But you can show it..
  • #33: Native == performance .. There are no abstractictions here.. It is literally v-table pointer jumps.. C++ now has a new presentation language. On-going investment with XAML… tooling investment.. You can also do DirectX …. If your schedule allows definitely show a DX game..
  • #42: Create a Camera Capture UI demo. Seamless integration with devices and OS resources.
  • #45: Talking about appdata specifically, will talk about user data later when we look at skydrive, etc.Slide 8 from PLAT-475T
  • #46: Key, app does not have to do much – whole infrastructure built for you.Writes local and system takes care of the rest – some limitations, we will cover later.Slide 8 from PLAT-475T
  • #48: iPad: 4.5% (1/28)Android tab: 13.4% (1/8)80% tier worth an extra $622K to you