Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемВероника Пудикова
1 Дни разработчика 2013
2 Программа конференции 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 Новые возможности С++
3 Наша команда Виктор Цикунов, DPE Lead Татьяна Зубец, AMM Евгений Вакульчик, Win8&WP Top Apps Сергей Байдачный, Win8&WP Total Apps и многое другое … Сергей Поплавский, Главный по Azure Елена Харченко, Помощник DPE Lead Андрей Шоханов, IT Pro
4 BizSpark
5 Программа, ориентированная на стартапы: Все программное обеспечение Microsoft, бесплатно, на три года Специализированные события Покрытие команды до 10 человек Windows Azure Дополнительное visability
6 BizSpark Требования и условия: Компания или индивидуальный разработчик должны разрабатывать собственный продукт Иметь оборот менее 1 миллиона в год Компания не должна быть старше 3 лет Нет необходимости выпускать продукт Плата не взымается
7 Анонсы событий и конкурсов
9 Язык программирования C# Разработка Windows 8 приложений Разработка Windows Phone приложений Windows Azure
10 Курсы для участников BizSpark Разработка приложений с использованием Windows Azure
11 Новые возможности при разработке Windows 8.1 приложений Сергей Байдачный
12 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
13 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
14 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
15 WebView Корректная работа с XAML UI Поддержка Opacity и RenderTransform Поддержка механизмов навигации (Back, Forward,…) NavigateToLocalStreamUri Поддержка загрузки контента из локальной директории Поддержка внешнего resolver И многое другое
16 Демонстрация WebView
17 DatePicker и TimePicker Рассуждения об индусах Немного о контролах: Поддерживаются два разных элемента управления DatePicker и TimePicker Различные форматы Поддерживается объект типа Calendar Форматирование осуществляется с помощью DateTimeFormatter
18 Демонстрация DatePicker и TimePicker
19 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.
20 Демонстрация RichTextBlock
21 Дерево в 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(); }
22 Flyout SettingsFlyout – элемент для ленивых Flyout Всплывающее окошко, которое связано с одним из элементов интерфейса MenuFlyout Обычный пункт Сепаратор Переключатель Зачем оно нужно?
23 Демонстрация Setting Flyout
24 Hub Создание главного хаба приложения в соответствии с дизайном Поддержка семантического зума Последовательное размещение элементов с помощью HubSection
25 Демонстрация Hub
26 AppBar Поддержка свойств Label и Icon Иконки могут быть одного из типов: Font, Bitmap, Path, Symbol Поддержка компактного размера AppBarButton можно использовать вне AppBar Поддержка кнопок, переключателей и разделителей Интеграция с элементом управления CommandBar
27 Другие изменения в элементах управления Заголовки для ComboBox, TextBox, PasswordBox и др. PlaceholderText для текстовых элементов управления Поддержка RequestTheme на уровне элемента Событие на вставку текста из буфера И многое другое
28 Новые режимы отображения 500 пикселей – новая минимальная ширина приложения 320 пикселей – старая ширина, но может поддерживаться Может быть несколько окон, открытых из одного приложения Более чем два приложения на экране Работает ли оно?
29 Поддержка устройств HID PoS Bluetooth USB 3D Printers
30 Новые типы тайлов 70 на на 310
31 Синтез голоса // 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();
32 DirectX Динамические шейдера: Unity Marmalade Ogre И др.
33 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
34 И многое другое Поддержка PDF Wi-Fi Direct Smart Card security …
35 Вопросы?
36 Разработка игр для Windows 8 Сергей Байдачный
37 Где тут ? Где тут DirectX?
38 2D graphics 3D graphics Segoe UI Fonts, text analysis, layout Image & video decoding
39 HTML5, CSS3 & Direct2D Direct3D Segoe UI HTML5, CSS3 & DirectWrite HTML5, Direct2D effects, WIC & Media Foundation DirectCompute & C++AMP
40 Архитектура графической подсистемы в Windows 8
41 Немного о DirectX
42 Версии 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
43 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)
44 DirectX 11.1 DirectX11.1 это DirectX 11 для Windows 8 Интеграция в стек технологий платформы
45 C++
46 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
47 Поговорим о фреймворках
48 Open Source Technologies ANGLE Box2D
49 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
50 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
51 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
52 Popular engine for sprite games on phones 1000s of games already shipped Runs on Windows 8 phone, Windows RT, Windows 8, etc. Cocos2D-x
53 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
54 SharpDX Efficient C# bindings to DirectX APIs Low-level Direct3D access for best C# performance Includes basic input, audio, file loading, etc. Using C#?
55 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#?
56 Коммерческие решения
57 Commercial Middleware
58 Camp/Building-Windows-Games-with-Unity Camp/Building-Windows-Games-with-Unity Unity 3D
59 Authentication & Identity Friends List Player Stats, Leaderboards, Achievements Matchmaking -Real-time and Asynchronous Synchronous (real-time) Multiplayer Supports Windows Phone too Agora Hydra
60 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
61 Commercial implementation of OpenGL ES on Direct3D Includes a full native C++ game API set Runs on Windows Phone too Marmalade
62 Full IDE for game creation Asset marketplace Game Salad
63 Вопросы?
64 Новые возможности С++ Сергей Байдачный
65 С++ настолько сложный для изучения, что мы расширили его дополнительными командами
69 C++ и Visual Studio 2013 Некоторые возможности С++ 11 (C++0x) уже были в Visual Studio 2010 Многие возможности С++ 11 были реализованы в Visual Studio 2012 В Visual Studio 2013 продолжена работа над реализацией С++ 11 и некоторых возможностей С++ 14 С++ 14 дополняет и завершает С++ 11
70 Перейдем к возможностям C++
71 Инициализация: раньше Инициализация массива возможна с помощью {} Но инициализация других типов отличается между собой int i=0; int k(2); Person p; Person p(); Person p(Sergey, Baydachnyy);
72 Инициализация: сейчас int i{2}; Person p{}; Person p{Sergiy,Baydachnyy}; std::vector v{1,2,3,4};
73 Демонстрация Инициализация
74 Конструкторы Компилятор способен генерировать конструкторы «по умолчанию» Default, Copy, Move Как только Вы пишите хотя бы один конструктор, то теряете все «по умолчанию» Невозможность вызова одного конструктора из другого приводит к дублированию кода С++ 11 позволяет вызывать один конструктор из другого
75 =default Возвращает авто сгенерированный конструктор по умолчанию class Person { public: Person()=default; Person(char* firstname, char* lastname); ~Person(); };
76 =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 };
77 Демонстрация Конструкторы
78 using
79 Демонстрация using
80 Умные указатели Что такое delete? std::shared_ptr std::unique_ptr Использовать заголовочный файл memory C++ 11 представляет make_shared C++ 14 представляет make_unique Ключевое слово auto еще больше упрощает процесс создания умных указателей Помним о nullptr
81 Демонстрация Умные указатели
82 Строковые литералы В С++ два вида строк: std::string, char * Любые спецсимволы нужно задавать с помощью обратной косой черты (\, \\, \n, \r,…) С++ 11 позволяет упростить запись строковых литералов R(все, что \Вы хотите ) Сохраняются все разделители в строке (включая переход на другую строку) В случае, если строка содержит круглые скобки, то можно использовать свой разделитель Имеет смысл только для ) RMyS(…………….)MyS
83 Демонстрация Строковые литералы
84 Изменения в шаблонных функциях Параметры по умолчанию могли присутствовать в шаблонных классах В шаблонных функциях параметров по умолчанию не было С++ 11 позволяет писать что-то подобное template T& increment (T& val)
85 Демонстрация Параметры шаблонных функций
86 Явное приведение типов Ключевое слово explicit доступно: При создании конструкторов При создании функций приведения типов Явное приведение типов можно выполнить с помощью static_cast
87 Демонстрация Явное преобразование
88 Variadic templates Рассмотрим make_shared auto p = make_shared (Sergiy,Baydachnyy); Количество параметров не определено заранее Типы могут быть совершенно разные Примером может служит std::tuple
89 Variadic template Создание класса template class MyClass { //class declaration }; Создание функции template void f(Ts… vals) { //method definition }
90 Вопросы?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.