Microsoft Consumer Channels and Central Marketing Group

Slides:



Advertisements
Similar presentations
マイクロソフトがホスティングする拡張性に優れたサービス ベース アプリケーション プラットフォーム.
Advertisements

Microsoft VDI 事例とクラウド化. あらためて MS VDI と RDP の進化 3 Windows Server 2012 R2 の標準機能 1 platform 1 experience 4 deployment choices サーバーベースの リモートデスクトップ 旧ターミナル.
この部分こそが必 要とされている ! Runtime 自身と Expression が カバーする!
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
Oscar Koenders Principal Group Program Manager Microsoft Corporation
第28回codeseek勉強会 WPF で簡単ビデオ再生 2008年5月27日(火)
第27回codeseek勉強会 ZAM3D で簡単3D XAML プログラミング
D2-301 現時点の本資料は 完成版のスライドではありません。
MSON-B2 .NET Framework Web アプリケーション開発
Microsoft Consumer Channels and Central Marketing Group
Windows Summit /1/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /1/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /1/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
C# Programming .NET / C# Group 検索ワードでみる C#の困り事とその対策
3/2/2017 9:01 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Phone アプリケーションでの データ視覚化
3/3/2017 8:49 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
3/4/ :37 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Expression Blend 3で始めるSilverlight 3アプリケーション開発
ParadoxのLiveScripting事情
Using connected devices in Metro style apps Metro スタイル アプリで デバイスを使用する
3/11/2017 7:02 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
WindowsストアアプリをC++/CXで作る
Windows Summit /13/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
MIX 09 3/14/2017 9:51 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Microsoft Consumer Channels and Central Marketing Group
3/17/2017 1:49 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
データはお客様に属し、かつ、コントロール可能
HP ProLiant DL980 G7 SQL Server 2008 R2 NUMA 環境 ベンチマークテスト結果報告書
ビジネスにおける オープンソースの利用価値
XAML の勉強不要! WPF アプリケーションは作れます
大学におけるクラウド活用の 最新動向と先進ソリューションの 事例
3/21/2017 3:39 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Using tiles and notifications タイルと通知の使用
[コース: A1] .NET Framework の基礎
Windows Summit /6/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /8/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Azure - 今やるWindows ストアLOB アプリ開発のための設計手法
Windows Summit /9/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
9/17/ :17 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Summit /11/7 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Microsoft Partner Network Office 365 社内使用ライセンスの有効化
Microsoft Consumer Channels and Central Marketing Group
Azure Pack そして災害対策 日本マイクロソフト株式会社 エバンジェリスト 高添 修
11/9/2018 3:35 AM Windows Azure Platform ハンズオン トレーニング Windows Azure アプリケーション開発概要 ~ Windows Azure 入門編 ~ © 2007 Microsoft Corporation. All rights reserved.
Windows Summit /22/2018 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
Windows Summit /11/23 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
Windows Summit /24/2018 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
Expression Blend 3で始めるSilverlight 3アプリケーション開発
Chad Siefert Senior Test Lead Microsoft Corporation
Windows Azure 通知ハブ.
12/9/ :14 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Summit /31/2018 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
suppose to be expected to be should be
Microsoft Visual Studio 2005 Tools for
Windows Summit /21/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /22/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
MIX 09 2/23/2019 1:22 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Max Morris Principal Program Manager Microsoft Corporation
Windows Summit /24/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
主要関係者の特定用テンプレート Windows 10 and Office 365 導入ステップ 2/24/2019
Yochay Kiriaty Senior Technical Evangelist Microsoft® Corporation
~ 第5回 認証のためのプロキシー Web Application Proxy
Windows Summit /4/10 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Craig Rowland Senior Program Manager Microsoft Corporation
Microsoft Consumer Channels and Central Marketing Group
Windows Summit 2010 © 2010 Microsoft Corporation.All rights reserved.Microsoft、Windows、Windows Vista およびその他の製品名は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。
Windows Summit /22/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
MIX 09 8/2/2019 8:06 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Azure メディアサービス
Presentation transcript:

Microsoft Consumer Channels and Central Marketing Group 8/8/2018 C++/CX推奨プログラミング めとべや東京#3 2014/1/18 Sat 遥佐保(はるか・さお) © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

自己紹介 @hr_sao コミュニティ(大阪) Room metro C++テンプレート完全ガイド読書会 8/8/2018 自己紹介 @hr_sao コミュニティ(大阪) Room metro C++テンプレート完全ガイド読書会 Microsoft MVP for Client Development  [(Jan,2010 -)Jan,2013 - Dec,2014] © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

C++/CXストアアプリ 推奨のプログラミング方法があります

おさらい

Windows Kernel Services 8/8/2018 WindowsStoreApps環境(UI XAML) http://msdn.microsoft.com/ja-jp/library/windows/apps/jj160326.aspx OS process 混ぜるな危険! App container ( package manifest ) UI controls ( XAML ) 相互互換のための C++言語拡張機能 (中間の変換無し) C++実装クラス (ネイティブ) VSプロジェクト テンプレート WindowsStoreAppsを取り巻く環境のイメージ図 C++のふりをしているC++/CX 実行環境の中で、アプリが許可されるべき操作を柔軟に制御することができる デスクトップアプリやコンソールアプリでは明示的に出来なかった ビルドインのテンプレートを使う(アイコン、スタンダードスタイルXAML) 例えば、WinRTの機能は何かというと、タッチベースの操作にも対応している C++/CX Windows Runtime Win32 and COM CRT STL PPL Windows Kernel Services © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

推奨されているプログラミング方法

ラムダ式を使う int _tmain(int argc, _TCHAR* argv[]) { 8/8/2018 ラムダ式を使う [] : ラムダキャプチャ () : 関数の引数 {} : 関数の本体、コード () : 関数呼び出し #include "stdafx.h" #include <string> #include <iostream> int _tmain(int argc, _TCHAR* argv[]) { [ ]( std::string const &str ) // 引数定義 { std::cout << str << std::endl; } // 関数の本体 ( “Hello World!“ ); // 関数呼び出し return 0; } PPLタスク、STLはラムダで書きます © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

スマートポインタを使う 変数名 Windows Runtime 変数 ^ (ハット) COM変数 8/8/2018 スマートポインタを使う 変数名 Windows Runtime 変数 ^ (ハット) COM変数 Microsoft::WRL::ComPtr その他 std::shared_ptr / std::unique_ptr など、スマポ使うこと © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

auto を使う 戻り値に利用 auto decoder = 8/8/2018 auto を使う 戻り値に利用 auto decoder = make_shared<BitmapDecoder^>(nullptr); データコレクションの取り出しにも利用 For (auto file : files) { auto photo = ref new Photo(file, ……); } 自動型推論 コードが読みやすくなる auto は至る所で使われている 通常の for や for_each より簡潔 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

型変換のオーバーヘッドを無くす ref クラス →Platform/Windows 名前空間などを使う std::vector を 8/8/2018 型変換のオーバーヘッドを無くす ref クラス  →Platform/Windows 名前空間などを使う std::vector を Windows::Foundation::Collections::Vector^ で見たい! vector<AAA^> vec_a; b = ref new Vector<AAA^>(std::move( vec_a )); refクラス = Windows Rumtimeのクラス コピーは発生しない マーシャリング コストを最小限にする手法がとられている(つまり、言語の相互運用を意識している作り) ムーブ セマンティクス対応 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

.winmd 出力の内容を把握する ref クラス →public 前提 8/8/2018 .winmd 出力の内容を把握する ref クラス →public 前提 →public ref 型のメタデータは .winmd ファイルに出力 →ABI 境界を越えるデータ型ということ! 不要なものを公開しない ref クラスは相互運用が目的 ref クラスでガリガリ処理をさせたりしないこと © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

他にもいろいろ… ref クラスのメソッドは決められたスレッドから呼び出す http://msdn.microsoft.com/ja-jp/library/windows/apps/jj160326.aspx ref クラスのメソッドは決められたスレッドから呼び出す public ref クラスのデストラクターは virtual としてマークする C++/CX がニーズを満たしていない場合は、WRL を使った、より深いレベルでの相互運用性を検討する C++/CX 言語拡張機能と C++/CLI を混同しない 内部型をパブリック ref クラスで公開しない スタック セマンティクスと RAII パターンを使う 必要以上に長い時間、オブジェクトを保持しない 循環参照を防ぐ

Visual C++ CompilerNovember 2013 CTP http://www.microsoft.com/en-us/download/details.aspx?id=41151 C++11追加対応 C++14対応 C++17(?)対応 WinVista/7/8/8.1 http://hilo.codeplex.com/

Let’s C++/CX Life ありがとうございました!