Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

【勉強会】dotnetConf 2016 Japanに行ってきた

dotnetConf 2016 Japanに行ってきましたので、メモ書き。

csugjp.doorkeeper.jp

基本的にはリリースされたばかりの.NET Coreが中心。

.NET Core公式

.NET - Powerful Open Source Cross Platform Development

blogs.msdn.microsoft.com

他、今猛烈に押されている感じのXamarinなどなど

dotnetConf 2016 Japan 開催にあたって ~ .NET の今と未来

井上さん(&もしかしたら Drew Robbins)

新しい .NET Core 1.0 の登場で大きく変わろうとしている .NET の今と未来を紹介します。

.NET CoreのWeb appのデモをしてくれました。

WindowsのVisual Stuidoで編集して、Azure App Serviceにデプロイ

Githubを展開元に指定して、継続的なデプロイ環境を構築。

そのあと、MacGithubからソリューションを持ってきたあと、VS Codeで編集

Mac + VS Codeでここまでスピーディに編集できるのなぁ……。

しかも、ちゃんとデバッグできてる……!

セッティング情報、Config情報がJsonになってるのね。

Bower(JavaScript系ライブラリの管理)もデフォルトで組み込まれている

yosuke-furukawa.hatenablog.com

Azure app serviceの展開元でGitHubを指定することで、

GitHubWeb Hookを受け取って、自動的にAzure Web Appsにデプロイされるというのは知らなかった。

azure.microsoft.com

Mac側ではVisaul Studio Codeで編集

Mac上で変更、デバッグしてGitにPush。相当.NETの世界が広がるなぁ。

デモで紹介していたHTML・CSSのコーディング支援アドオン Emmet

Emmet — the essential toolkit for web-developers

visualstudiogallery.msdn.microsoft.com

セッション2.NET Standard

岩永信之さん

マイクロソフトによるXamarin買収や.NET CoreのRTMで、.NETがますます広い範囲で安心して使えるようになりました。一方で、内部実装が異なる.NET実行環境がいくつかある状態になっています。これら複数の実行環境で同一のライブラリを使えるように.NET Standardという新しい仕組みができました。今回はこの.NET Standardがどういうものか、どういう仕組みで動いているか、これまでとどう変わるかについて説明します。

docs.com

クロスプラットフォームを意識したライブラリの作り方。.NET standardとは?

.NET CoreではWindows 前提なものを除外されているとのこと。

やっぱり今までの.NET FrameworksのBase LibraryではもともとのWindowsの依存がそれなりにある

アプリのコードには再利用性は求めないが、Json数値計算などのライブラリは、そりゃあ共通で使いたいよね。

なので、どのプラットフォームからでも使うライブラリをどう作るべきか? というところで、.NET standardのお話しとなりました。

github.com

.NET standardで、Mono(Xamarin)でも、Coreでも、Frameworkでも動かせるライブラリを作れる

というよりも、この.NET standard に準拠することで、クロスプラットフォームなライブラリが構成できる、ってことかな

Nugetパッケージで提供される

www.nuget.org

まあ、確かにアプリ開発者側として、意識するものはあまりないよね。

ちゃんとNugetにアップされているものが、このスタンダードに準拠していれば、Xamarinでアプリを作る際などにも、意識することなくライブラリが使えますよと。

いつだったか、JsonのライブラリがWindows10アプリで使えないことがあって、困ったな。

www.talkingdotnet.com

Xamarinの新しい話とMonoの深い話

榎本さん+ちょまどさん

本家dotnetConf 2016、2日目のキーノートは、Monoチームを率いてきたXamarinのMiguel de Icazaによって行われました。Monoがその長い歴史のうちに独自に発展させてきた技術をもとに、Xamarinはどのような新しいことを行おうとしているのか、彼のキーノートを振り返りながら解説します。

speakerdeck.com

基本的には概要の通り、本家dotnetConfのMiguelさんのキーノート解説。

技術的にかなり濃ゆいお話し。というかほとんどついていけず。ただ、ちょまどさんに合わせていろいろと榎本さんが細かく解説してくれて大変助かった!

今回はcycle7リリースの紹介。SkiaというGoogleが作っているグラフィックライブラリへの対応や

twitter.com

プロファイラー、Inspector周りのお話し。ios10 and Android Nへの対応など。

特に面白かったのは、Microsoftに買収された最大の恩恵とも思われるアップデート周り

Roslyn、MS Build、Debug Engine、Language Serviceへの対応に関するお話し。

今までXamarinが頑張って自前で作っていたものが、MSの資産をベースに組み込まれ始めた!

www.buildinsider.net

thinca.hatenablog.com

ただ、個人的にはMSテクニカルのバックグラウンドが知れて、Xamarin関係なく、大変面白かった。

RoslynやDebug Engineがどのように動いているのか、榎本さんとちょまどさんの掛け合いで、すごくわかりやすかった。

MVVM Done Right with Xamarin.Forms and Prism

Brian Lagunas

「It’s no secret that developing MVVM friendly Xamarin.Forms applications can be challenging to say the least. It’s messaging center is static, it’s dependency service is static, its system for showing alerts requires a page instance, no built-in logging, and the most important issue of them all is that its entire navigation system depends on page instances. Where does this leave us? It leaves you with a not-so MVVM friendly application with static references and Page objects scattered throughout your ViewModels. This makes things much more difficult to test, maintain, scale, and not to mention violates just about every MVVM principle out there. Join Brian Lagunas in this session to learn how we can remove the static classes, remove the page references, and remove the code-behind by leveraging the features of Prism for Xamarin.Forms to create pure MVVM Xamarin.Forms applications with logging, commanding, event aggregation, IoC, MVVM, dialog services, and truly decoupled navigation in your Xamarin.Forms applications.

このセッションでは Brian Lagunas が静的クラス、ページ参照やコードビハインドを Prism for Xamarin.Forms の機能を利用して取り除き、MVVM実装の様々な利点を備えた純粋な MVVM Xamarin.Forms アプリケーションを構築する方法を解説していきます。

ごめんなさい。おなかが減って、聞かなかった。

.NET Core on RHEL

@tanaka_733

.NET CoreはWindowsだけではなくOS XLinux上でも動作します。Linuxは複数ディストリビューションが動作対象になっていますが、中でもRHELRed Hatによる.NET Coreのサポートが受けられます。Visual StudioがないLinuxでどのように開発し、どのように動くのか。今回はRHEL上でのデモを交えながら説明します。

ごめんなさい。RHELに興味が無くて聞かなかった。

docs.com

ASP.NET Core

しばやんさん

TechEd NA 2014 で ASP.NET vNext として発表されてから丸二年、ようやく ASP.NET Core 1.0 の RTM がリリースされます。これまでの ASP.NET とは大きく異なる仕組みで動作する ASP.NET Core の基本と、みんな大好きな Core MVC 1.0 について解説します。

docs.com

blog.shibayan.jp

ASP.NET Coreの濃ゆい機能紹介!

ASP.NET Core

HTTPのレイヤーから新規開発?

既存のアプリケーション(もともとのASP.NET)との互換性は無い!

System.Webは使えない!

ASP.NET Core MVC

圧倒的にViewが書きやすくなった?

RazorじゃなくてTag Helpers!

www.hanselman.com

Introduction to Tag Helpers — ASP.NET documentation

マークアップの構造を崩さないので、検証が動作が可能と

Nugetパッケージの対応がちょっと難点か

ActionResult => IActionResultへ変更 MVCとWeb APIのresultで一貫性ができたのね

View Components View側で非同期処理の記述が可能。これはちょっと面白い。

■Entity Framework Core

まともになった!? まあ、でも基本はあまり変わっていない漢字。

blog.shibayan.jp

.NET Core/VS/VSCode他ツール類

18:35 - 19:20

ぼんぷろ

.NET Core 1.0 RTMと同時に、新しいSDKやTooling Preview 2などもリリースされました。このセッションでは、.NET Coreを用いたアプリケーション開発を支える環境やツール群をおさらいします。