Visual Studio + Xamarinで始めるモバイルアプリ開発
speaker 池原 大然( @neri78 )
Microsoft MVP for Windows Platform Development
スライドはこちら
Visual Studio 2015はクロスプラットフォームに力を入れている。
インストール時に選択できる。
Xamarin
Xamarinを利用することにより C# + VisualStudio or XamarinStudioでAndroid,iOS,Windows向けの開発をすることができる。
iOS開発用にXamarin.iOS,Android開発用にXamarin.Androidがある。
Visual Studio Emulator for Androidという機能が2015から追加されており、VisualStudio上でデバッグできる。
Xamarin Android Player(Xamarinのライセンスが必要)
WindowsPhoneは元々VisualStudioが対応しているので、Xamarinは特に関係なし。
ただしPortable Class Library(PCL)を利用することでXamarin.iOSやXamarin.Androidとコードを共有できる。
まとめ
Xamarinを使用することで開発環境と開発言語が統一化できる。
PCLを利用することでビジネスロジックを共有できる。
UIはそれぞれ別に作る必要がある。
Xamarin.Forms
XAML
XAMLについてはこちら
ナレッジを流用できている。
データバインディングとテンプレートエンジンを利用することでコントロールとしての機能と外観を分離できる。
Xamarin.Forms(共有UI:C# or XAML)でUI部分を共有できる。
WPF/SLアプリを構築している感じで実装できる。
提供されているコントロールは基本的なものが多い。
→ 業務系アプリに向いている。
InfragisticsではよりリッチなUIを構築する為の製品を取り扱っている。
Infragistics Ultimate
新しい Visual Studio & .NET と新時代のアーキテクチャ
speaker 古賀 慎一( @surviveplus )
Microsoft MVP for Visual Studio ALM
スライドはこちら
新しいVisualStudio
VisualStudio2015 Windows用統合開発環境
VisualStudioCode
Windows,mac,Linuxで使用可能
軽量な高機能エディタ
Mac OS XやLinuxでASP.NET5の開発ができる
クロスプラットフォームOSSツールを使えばビルドも可能
ASP.NET5はWindows/Mac OS X/Linuxで動く
VisualStudioOnline ALM&DevOps用
実はVisualStudio2015もASP.NET5の開発はcodeと同様
内部的にはクロスプラットフォームOSSツールを呼び出している。
VisualStudio2015とVisualStudioCodeの違い
VisualStudio
統合開発環境の完成形
OSSの機能も自動で扱ってくれる
VisualStudioCode
未完成でOSSとともに成長中
OSSを理解している人向けの高機能テキストエディタ
ASP.NETはコンテナ型のアプリ
マイクロサービスとデコード
マイクロサービス
動いているサービスを止めずにアップデートは大変
全体で巨大1システムだと変更・リリースが難しい
細かいサービスに分かれていれば部分的にリリースして差し替えしていくことができる
細かいサービスは仮想化ではなくDockerコンテナを使っていくとよいのでは。
データレイク
これまで
業務システムが目的のデータを収集、それを整形加工、分析へ
これから
IoTで大量に収集される生のデータ(ビッグデータ)
リアルタイムでストリーム処理する流れ
未整形データを一旦溜めて、整形加工して使用する流れ
→Microsoftでサービスを提供している
AzureML,AzureDataFactory,AzureDataLake...
VisualStudioとAzureの機能追加
VisualStudioで開発するアプリ配置先
VisualStudioで接続するアプリ先
VisualStudio2015 + VSO + Azure新機能
オープン化
クロスプラットフォーム
DevOps
コードレンズの強化
ソースコードをいつ?誰が?どう?変更したかをコードの近くに表示
(ここから担当者に連絡もできる(IM,メール,電話))
単体テスト結果確認、テスト実行もコードからできる
2015ではグラフィカルに「見える化」
開発者が情報収集するからツールが情報収集へ → 開発者が開発に集中できる
Light Bulb
コードをリアルタイムに分析、提案を表示
リファクタリング・コード分析がLight Bulbに統合
NuGetからコード分析ルールを取得できる
→ Azureのルールを取り込んだり、自分の独自ルールを追加できる
IntelliTest
Create Unit Test
単体テストの自動作成(メソッドから作成機能が復活)
Run IntelliTest
コードカバレッジ100%テストパターンを作成
接続済みサービス&Azuer AD認証の構成
VisualStudioからギャラリーを検索
Azure Active Directory認証の構成
標準でAzure ADの構成機能
タイムラインツール・診断ツールとIntelliTrace
IntelliTrace
問題が起こるまでを録画して再生するサービス 変数の変化やイベントを確認できる
Visual Studio Onlineの新しいBuild
自動ビルド・自動テスト・自動リリースができるようになるかも。
Application Insights
モバイルアプリ&Webアプリの問題の検出やクラッシュの解析
Compiler Platform: コード解析とC#の未来
speaker 岩永 信之( @ufcpp )
Microsoft MVP for .NET
スライドはこちら
C# 6.0
過去のスライド参照
正直なところ華はない
nameof演算子
IDE前提の機能
識別子を文字列として取得できる機能
IDEの中で真価を発揮する
もともとC#はIDE前提で効率を高めている言語
→ nameof演算子はまさにこの傾向を強めている
.NET Compiler Platform
C#コンパイラーの作りなおし
単なるコンパイラではなくプラットフォーム化
→ 中間データをホワイトボックス化し、拡張性の提供
標準で搭載されているコード解析に加え、コード解析の追加を誰でも作れるようになった
アナライザー(analyzer),コード修正(code fix)を作れる
自作と配布
自作にはVisual Studio SDK,.NET Compiler Platform SDKが必要
配布にはVSIX(Visual Studio Extension)形式かNuGet形式の2種類がある
拡張である意味
特定分野での使用やプロジェクトでカスタマイズが必要な場合、経験則的なチェックが必要な場合、ライブラリ固有事情を汲む場合(Code-awareライブラリ)には有用
いくつか紹介
将来の話 〜C#7.0
IDE連携≠VisualStudio連携
解析用の新構文が欲しい
null非許容参照型やメソッドコントラクトもアナライザーベースになるかも