Дни разработчика 2013. Программа конференции 09:30 – 09:35 Открытие конференции. Анонс программы 09:35 – 09:45 Программа BizSpark для разработчиков 09:45.

Презентация:



Advertisements
Похожие презентации
Lets look at some interesting and popular devices which have touchscreens.
Advertisements

Занятие 2 Инструменты Роман Здебский Тренинг Введение в разработку приложений на Windows Presentation.
Unity3d Fomin Maxim 394 group. Unity is an integrated authoring tool for creating 3D video games or other interactive content such as architectural visualizations.
Marmalade SDK Hands-On. What is the Marmalade SDK? Marmalade SDK is a powerful cross-platform SDK for the efficient development of richer games and apps.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Managing Your Network Environment Managing Cisco Devices.
Copyright ® 2000 MSC.Software Results S17-1 PAT301, Section 17, October 2003 SECTION 17 FILE MANAGEMENT.
WiseImage Open Architecture. Why to open? Modern technology demands A growing amount of customers demands for custom commands The limited development.
The.NET ModelKit Suite is a pack of.NET components which offers complex solution for reports creation, data visualization and data analysis. The product.
1/27 Chapter 9: Template Functions And Template Classes.
Преобразование типов Макаревич Л. Г.. Операция приведения типов Тип ( выражение ) Тип ( выражение ) (тип) выражение (тип) выражение int a = 5; float b.
WiseImage 6.0 for AutoCAD 2000/2000i/2002/2004 and AutoCAD LT 2000/2000i/2002/2004 On the leading edge of new technology.
1 Algorithms of time compression and analysis of formed patterns in autonomous adaptive control systems Mazur Yuri, Zhdanov Alexander Lebedev Institute.
CSTA is a kind of standard communication protocol used between PBX and computer that is famous in Europe. What is CSTA ? Control Requests Event Notifications.
Java Server Pages(JSP). JavaServer Pages (JSP) позволяют вам отделить динамическую часть ваших страниц от статического HTML. Вы, как обычно, пишете обычный.
Unit II Constructor Cont… Destructor Default constructor.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary November 4, 2014 Copyright © 2006 Eclipse Foundation, Inc., Made available.
Dynamic Designer Is the easy way for you to cut as much as 80% from the time and cost of getting your new products to market, and improving the old ones.
Evgeniy Krivosheev Andrey Stukalenko Vyacheslav Yakovenko Last update: Nov, 2013 Spring Framework Module 1 - Introduction.
Разработка приложений – делаем лучше Владимир Колесников Windows Phone 7 Camp.
Smart house is very similar to an ordinary house, but it is filled with technology! Please, click here !
Транксрипт:

Дни разработчика 2013

Программа конференции 09:30 – 09:35 Открытие конференции. Анонс программы 09:35 – 09:45 Программа BizSpark для разработчиков 09:45 – 10:00 Анонс курсов и конкурсов для разработчиков 10:00 – 11:00 Новые возможности при разработке Windows 8.1 приложений 11:00 – 12:00 Управление процессом разработки программного обеспечения с помощью Team Foundation Server :00 – 12:30 Кофе 12:30 – 13:30 Разработка игр для Windows 8 13:30 – 14:30 Активируй возможности Windows Azure 14:30 – 15:30 Обед 15:30 – 16:30 Новые возможности С++

Наша команда Виктор Цикунов, DPE Lead Татьяна Зубец, AMM Евгений Вакульчик, Win8&WP Top Apps Сергей Байдачный, Win8&WP Total Apps и многое другое … Сергей Поплавский, Главный по Azure Елена Харченко, Помощник DPE Lead Андрей Шоханов, IT Pro

BizSpark

Программа, ориентированная на стартапы: Все программное обеспечение Microsoft, бесплатно, на три года Специализированные события Покрытие команды до 10 человек Windows Azure Дополнительное visability

BizSpark Требования и условия: Компания или индивидуальный разработчик должны разрабатывать собственный продукт Иметь оборот менее 1 миллиона в год Компания не должна быть старше 3 лет Нет необходимости выпускать продукт Плата не взымается

Анонсы событий и конкурсов

Язык программирования C# Разработка Windows 8 приложений Разработка Windows Phone приложений Windows Azure

Курсы для участников BizSpark Разработка приложений с использованием Windows Azure

Новые возможности при разработке Windows 8.1 приложений Сергей Байдачный

Windows 8 APIs Geo-location Proximity Direct3DDirect2DDirect Write PlayTo Contracts Bing Azure Mobile HTML5/CSSXAMLInputControls Authentication Portable SensorsPlaybackCapture Printing SVG Canvas Local storageSMS Streams Background transfer SyndicationNetworking XML and JSON Skydrive Live tiles and toastAccessibilityData binding Application services Threading/timers Memory management GlobalizationCryptography Xbox Live

Windows 8.1 APIs Geo-location Proximity Direct3DDirect2DDirect Write PlayTo Contracts Bing Azure Mobile HTML5/CSSXAMLInputControls Authentication Portable SensorsPlaybackCapture Printing SVG Canvas Local storageSMS Streams Background transfer SyndicationNetworking XML and JSON Skydrive Live tiles and toastAccessibilityData binding Application services Threading/timers Memory management GlobalizationCryptography Xbox Live

Windows 8.1 APIs Geo-location Proximity Direct3DDirect2DDirect Write PlayTo Contracts Bing Azure Mobile HTML5/CSSXAMLInputControls Authentication Bluetooth USB HIDWiFi direct Point of service 3D printing Scanning WebGL HTTP Contacts Appoint- ments PDF Speech synthesis Diagnostics Portable SensorsPlaybackCapture Printing SVG Canvas Local storageSMS Streams Background transfer SyndicationNetworking XML and JSON Skydrive Live tiles and toastAccessibilityData binding Application services Threading/timers Memory management GlobalizationCryptography Xbox Live

WebView Корректная работа с XAML UI Поддержка Opacity и RenderTransform Поддержка механизмов навигации (Back, Forward,…) NavigateToLocalStreamUri Поддержка загрузки контента из локальной директории Поддержка внешнего resolver И многое другое

Демонстрация WebView

DatePicker и TimePicker Рассуждения об индусах Немного о контролах: Поддерживаются два разных элемента управления DatePicker и TimePicker Различные форматы Поддерживается объект типа Calendar Форматирование осуществляется с помощью DateTimeFormatter

Демонстрация DatePicker и TimePicker

RichTextBlock Hyperlinks let you give readers a visual hint that certain text links to other content. Read more on the Windows Dev Center... Text in a Hyperlink element is treated like the rest of the text and participates in line breaking.

Демонстрация RichTextBlock

Дерево в XAML в изображение var renderTargetBitmap = new RenderTargetBitmap(); await renderTargetBitmap.Render(myElementTree); var pixels = await renderTargetBitmap.GetPixelsAsync(); var picker = new FileSavePicker(); // Picker setup var file = await picker.PickSaveFileAsync(); // File validation using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite) { var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.BmpEncoderId, stream); encoder.SetPixelData(BitmapPixelFormat.Rgba8, 100, 0, 96, 96, await renderTargetBitmap.GetPixelsAsync()); await encoder.FlushAsync(); }

Flyout SettingsFlyout – элемент для ленивых Flyout Всплывающее окошко, которое связано с одним из элементов интерфейса MenuFlyout Обычный пункт Сепаратор Переключатель Зачем оно нужно?

Демонстрация Setting Flyout

Hub Создание главного хаба приложения в соответствии с дизайном Поддержка семантического зума Последовательное размещение элементов с помощью HubSection

Демонстрация Hub

AppBar Поддержка свойств Label и Icon Иконки могут быть одного из типов: Font, Bitmap, Path, Symbol Поддержка компактного размера AppBarButton можно использовать вне AppBar Поддержка кнопок, переключателей и разделителей Интеграция с элементом управления CommandBar

Другие изменения в элементах управления Заголовки для ComboBox, TextBox, PasswordBox и др. PlaceholderText для текстовых элементов управления Поддержка RequestTheme на уровне элемента Событие на вставку текста из буфера И многое другое

Новые режимы отображения 500 пикселей – новая минимальная ширина приложения 320 пикселей – старая ширина, но может поддерживаться Может быть несколько окон, открытых из одного приложения Более чем два приложения на экране Работает ли оно?

Поддержка устройств HID PoS Bluetooth USB 3D Printers

Новые типы тайлов 70 на на 310

Синтез голоса // The media object for controlling and playing audio. MediaElement mediaElement = this.media; // The object for controlling the speech-synthesis engine (voice). var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer(); // Generate the audio stream from plain text. SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync("Hello World"); // Send the stream to the media object. mediaElement.SetSource(stream, stream.ContentType); mediaElement.Play();

DirectX Динамические шейдера: Unity Marmalade Ogre И др.

Windows Game Developer Features Windows 8 Direct3D 11.1 XAudio2 PointerPoint MouseLook XInput C++ Windows 8.1 Direct3D11.2 Tiled Resources Scalers & Overlays HLSL Shader linker 8-25GB packages Multi-mon Wi-Fi Direct

И многое другое Поддержка PDF Wi-Fi Direct Smart Card security …

Вопросы?

Разработка игр для Windows 8 Сергей Байдачный

Где тут ? Где тут DirectX?

2D graphics 3D graphics Segoe UI Fonts, text analysis, layout Image & video decoding

HTML5, CSS3 & Direct2D Direct3D Segoe UI HTML5, CSS3 & DirectWrite HTML5, Direct2D effects, WIC & Media Foundation DirectCompute & C++AMP

Архитектура графической подсистемы в Windows 8

Немного о DirectX

Версии DirectX Windows XP DirectX 9 hardware DirectX 9 API Windows Vista DirectX 10 hardware DirectX 10 API Windows 7 DirectX 11 hardware DirectX 11 API

Feature levels DirectX11 API предлагает унифицированный механизм разработки приложений Feature levels по отношению к оборудованию Feature level 9 DirectX 9 hardware (ARM/power efficient machines) Feature level 10 DirectX 10 hardware (many laptops) Feature level 11 DirectX 11 hardware (high end gaming machines)

DirectX 11.1 DirectX11.1 это DirectX 11 для Windows 8 Интеграция в стек технологий платформы

C++

C++ Component Extensions (C++/CX) Key Bindings FeatureSummary 1. Data Types ref classReference type value classValue type interface classInterface propertyProperty with get/set eventDelegate property with add/remove/raise delegateType-safe function pointer genericType-safe generics 2. Allocation gcnewGarbage-collected allocation ref newReference-counted allocation 3. Pointer & Reference ^Strong pointer (hat or handle) %Strong reference

Поговорим о фреймворках

Open Source Technologies ANGLE Box2D

Physics of objects in a 2-D plane Ballistics, collisions, rotation, friction, joints, constraints, motors, ray-queries, etc. of Circles, rects, polygons, chains, ropes, etc. Used in: Angry Birds, Tiny Wings, Cut The Rope, Crayon Physics Deluxe, Limbo, Rolando, Fantastic Contraption, Incredibots, Transformice, Happy Wheels, Cocos2D, etc. Box2D

Physics of 3D objects Ballistics, collisions, rotation, friction, joints, constraints, motors, ray-queries, etc. Used in: Hydro Thunder: Hurricane, Trials HD Has had GPU-accelerated fabric simulation using DirectCompute for years Bullet Physics

Open source OpenGL ES2 API wrapper Enables easy transition from iOS or Android Used by many popular products Originally built on Direct3D9, Now updated to Direct3D11 for Windows Store Runtime shader compiles work in Windows ANGLE – Almost Native GL Engine

Popular engine for sprite games on phones 1000s of games already shipped Runs on Windows 8 phone, Windows RT, Windows 8, etc. Cocos2D-x

Full 3D rendering engine Rich shader capabilities for photorealism Includes native Direct3D module since starting Used in: Ankh by Deck13, and Torchlight by Runic, etc. Runs on Windows Phone and Windows 8 OGRE - OO Graphics Rendering Engine

SharpDX Efficient C# bindings to DirectX APIs Low-level Direct3D access for best C# performance Includes basic input, audio, file loading, etc. Using C#?

MonoGame OSS implementation of the full XNA 4.0 API spec which Microsoft contributed to the community Used in Armed, Skulls of the Shogun, Galactic Reign Using C#?

Коммерческие решения

Commercial Middleware

Camp/Building-Windows-Games-with-Unity Camp/Building-Windows-Games-with-Unity Unity 3D

Authentication & Identity Friends List Player Stats, Leaderboards, Achievements Matchmaking -Real-time and Asynchronous Synchronous (real-time) Multiplayer Supports Windows Phone too Agora Hydra

Popular physics library Now includes Vision 3D rendering engine, destruction, AI, and cloth modules Supports the whole Microsoft ecosystem Havok for Windows 8 and Windows Phone 8 Havok

Commercial implementation of OpenGL ES on Direct3D Includes a full native C++ game API set Runs on Windows Phone too Marmalade

Full IDE for game creation Asset marketplace Game Salad

Вопросы?

Новые возможности С++ Сергей Байдачный

С++ настолько сложный для изучения, что мы расширили его дополнительными командами

C++ и Visual Studio 2013 Некоторые возможности С++ 11 (C++0x) уже были в Visual Studio 2010 Многие возможности С++ 11 были реализованы в Visual Studio 2012 В Visual Studio 2013 продолжена работа над реализацией С++ 11 и некоторых возможностей С++ 14 С++ 14 дополняет и завершает С++ 11

Перейдем к возможностям C++

Инициализация: раньше Инициализация массива возможна с помощью {} Но инициализация других типов отличается между собой int i=0; int k(2); Person p; Person p(); Person p(Sergey, Baydachnyy);

Инициализация: сейчас int i{2}; Person p{}; Person p{Sergiy,Baydachnyy}; std::vector v{1,2,3,4};

Демонстрация Инициализация

Конструкторы Компилятор способен генерировать конструкторы «по умолчанию» Default, Copy, Move Как только Вы пишите хотя бы один конструктор, то теряете все «по умолчанию» Невозможность вызова одного конструктора из другого приводит к дублированию кода С++ 11 позволяет вызывать один конструктор из другого

=default Возвращает авто сгенерированный конструктор по умолчанию class Person { public: Person()=default; Person(char* firstname, char* lastname); ~Person(); };

=delete Применимо к методам и конструкторам Позволяет запретить перегрузку метода class type { public: type( const type& ) = delete; type& operator=( const type& ) = delete; type() = default;// restore suppressed default constructor }; void bar( long long ); // accept long long… void bar( long ) = delete; // … but nothing else class custom_regex_iterator {// stores a pointer to its regex public: // … custom_regex_iterator( const regex& );// lvalues only please custom_regex_iterator( const regex&& ) = delete;// no rvalues need apply };

Демонстрация Конструкторы

using

Демонстрация using

Умные указатели Что такое delete? std::shared_ptr std::unique_ptr Использовать заголовочный файл memory C++ 11 представляет make_shared C++ 14 представляет make_unique Ключевое слово auto еще больше упрощает процесс создания умных указателей Помним о nullptr

Демонстрация Умные указатели

Строковые литералы В С++ два вида строк: std::string, char * Любые спецсимволы нужно задавать с помощью обратной косой черты (\, \\, \n, \r,…) С++ 11 позволяет упростить запись строковых литералов R(все, что \Вы хотите ) Сохраняются все разделители в строке (включая переход на другую строку) В случае, если строка содержит круглые скобки, то можно использовать свой разделитель Имеет смысл только для ) RMyS(…………….)MyS

Демонстрация Строковые литералы

Изменения в шаблонных функциях Параметры по умолчанию могли присутствовать в шаблонных классах В шаблонных функциях параметров по умолчанию не было С++ 11 позволяет писать что-то подобное template T& increment (T& val)

Демонстрация Параметры шаблонных функций

Явное приведение типов Ключевое слово explicit доступно: При создании конструкторов При создании функций приведения типов Явное приведение типов можно выполнить с помощью static_cast

Демонстрация Явное преобразование

Variadic templates Рассмотрим make_shared auto p = make_shared (Sergiy,Baydachnyy); Количество параметров не определено заранее Типы могут быть совершенно разные Примером может служит std::tuple

Variadic template Создание класса template class MyClass { //class declaration }; Создание функции template void f(Ts… vals) { //method definition }

Вопросы?