asp.netの今とこれから

43
ASP.NET のの

Upload: tsubasa-yoshino

Post on 07-Aug-2015

34 views

Category:

Technology


0 download

TRANSCRIPT

ASP.NET の今

はじめに

今回のお話は , 所属する団体や企業とは一切関係ありません

自己紹介

吉野翼 @papemk2

信州大学工学部をこの前卒業 長野高専 電子情報工学科 OB

.NET, C#, Kinect, Azure

Xbox の音声入力で人間の尊厳を失いかけた

NUI と機械学習が専門

自己紹介

この春就職します

来週からキラキラ新社会人! 期待に胸が膨らむ!

採用面接の時は , .NET が書けるって聞いていました .NET が仕事で書ける!やった!

自己紹介

ふたを開けたら PHPer になってた???

EC サイトがメインだって採用されてから知った

PHP 辛い

ということで

今日は , .NET について話します

デモ多めです

.NET を支えるもの

共通言語基盤 (CLI)

共通型システム

共通言語仕様

共通中間言語

JIT コンパイラ

.NET を支えるもの

共通言語基盤 (CLI)

共通型システム

共通言語仕様

共通中間言語

JIT コンパイラ

共通言語基盤 (CLI)

共通言語基盤 (CLI)

ECMA, ISO で標準化されている

.NET Framework は , MS による共通言語基盤の商用実装

Mono は , これのオープンソース実装

ソニーも独自カスタムの実装をやっていた ( 年内にサポート打ち切り )

共通言語基盤 (CLI)

これのおかげで同じようなコードがどの環境でも大体動く

それぞれの実装毎に中身が違う .NET は , 商用製品 , オープンな実装もシェアードソースでコピペ厳禁とかとか 実装毎にギャップがあったり実装が遅れていたり Windows から足りない dll を持って行ったりとかアホらしい

Mono が頑張って .NET の実装に追いつこうとしてくれている 結構すごい勢いでやってるっぽい 気が付いたら最新ビルドが 4.1 だった ( 全然 Jenkins 通る気配がないけど )

Mono と .NET

大体相互で動く 計算処理とかだったらあまり困ることはなさそう

Visual Studio で作ったバイナリが Mono でそのまま動かせる CLI がその場でネイティブ変換するから Mono が対応できていれば大概動く MonoDevelopment でビルドすると相互に互換性のないバイナリが吐き出された

デモ 1

Visual Studio で吐いたバイナリを Mono でそのまま動かしてみる

5 以前の ASP.NET

Mono Development のテンプレートは , MVC 5.2 一応 MVC5.2 は , 動く部分は , 動く 動かない部分は , 普通に動かない or Mono 用にいじる必要がある やめた方がいい

5 以前の ASP.NET

5 以前の ASP.NET

普通に動くと思っちゃいけない

バイナリは , ある程度動く , MVC もある程度動くでもやめた方がいい Linux で動かすとか言われたら全力で Azure Web Apps に逃げた方がいい

どこが動く or 動かないの確認する作業とか最悪

System.Web が絡む時点でほぼ何もできないと思っていい

餅は , 餅屋 , ASP.NET は , IIS + Windows

最近の .NET の動向

最近の .NET の動向

.NET Core フルの .NET Framework を軽量化したサブセット オープンソース Windows 以外でも動く .NET のフォーク的な位置づけ アジャイルなリリースサイクル

CoreCLR フルの .NET の CLR を軽量化したサブセット 要は , .NET Core の実行エンジン NuGet のおかげで全体のモジュール化が進んで軽量になった

最近の .NET の動向

.NET Native

すごくイケてる 起動時間が短くなる ( 実行時コンパイルの必要がない )

最終的に実行マシンに .NET Framework が必要なくなるかも ストアアプリ以外にも対応してほしい (セキュリティが怖い )

最近の .NET の動向

ASP.NET 5

普通に Mono で動く Mac or Linux で動かないんでしょw は , もう言わせない Side by side が楽になった

設定が JSON

パッケージの依存関係も全部 JSON で管理するからわかりやすい 依存関係の設定ファイルも IntelliSense が使えるのとかすごくイケてる

最近の .NET の動向

OmniSharp とか開発環境も便利になった ( 結構前からあった )

Emacs, Atom, Sublime Text, Vim などで Intellisense が使えたりする Mono Development とかいうク○から解放された! Emacs で ASP.NET が快適に開発できる!最高! とりあえず Vim使おうとする人たちも殴れる

ASP.NET の動向

非Windowsユーザから見ても ASP.NET は , もう怖くない

Visual Studio がなくても大概どうにかなる Visual Studio を使うのが一番幸せだが…

クラウドに最適化された モジュール化で軽くなったとか?

大体 GitHub に集約されてる オープンソース教の方々も殴れる

Linux or Mac で ASP.NET 5 を動かすには Mono 3.4 以降 (4.1 だと動かなかった )

Node.js

Npm

Bower

Kpm

Kre

libuv

Ubuntu なら apt-get で入る (libuv 以外 )

デモ 2色々デプロイしてみる

デモ 2色々デプロイしてみる 色々なデプロイができる

もう環境は選ばない

Azure 最高

注意点

まだ正式にいろいろ固まっていない

Visual Studio 2015 がアップデートするたびに KRE がごちゃごちゃ動かなくなるの辛い

注意点

名前とかコロコロ変わる

常に破壊的に変更されるので生暖かく見守りましょう

Windows版に Mono 用のランタイムを入れる方法がない ?

逆もまた然り

Kpm pack で , アプリケーションのポータブル化ができる Windows から mono 用ランタイム , Mono 環境から Windows 用を吐き出すことはま

だ無理そう そもそもランタイムの入れ方が分からない

マルチプラットフォームな ASP.NET

SignalR の中継サーバを Linux で構築したい場合

いい参考書?は , ありまぁーす

ASP.NET + OSS の参考書

自己紹介

岡谷市から来ました

人口の 8割がマイルドヤンキー ( 体感 )

駅から徒歩 1 分のデパートが潰れるくらいの田舎

自己紹介

自己紹介

岡谷まゆみ

自己紹介

岡谷まゆみ

現実

理想

現実

内定者研修とかどうせいらないでしょ?暇なら働いてよ どんな .NET の案件かな? 期待に胸が膨らむ!

現実

現実

現実

PHPer やってます

Yii2フレームワーク使ってます 旧共産圏 , 東欧で流行ってるフレームワークらしい 日本語の書籍 0 (Amazon.co.jp)

ググるとキリル文字とか出てくる ロシア語 , ウクライナ語 , ベラルーシ語 , セルビア語 , etc…

読めない以前に文法が分からないから何語かわからない

EC サイトがメインの会社でした 採用された後に知った

OWIN ってどうなったの?

Open Web Interface for .NET

アプリケーションとその下のレイヤーが疎になると期待してた

結局 ASP.NET は , OWIN の上に乗らない 代わりに OWIN の互換レイヤーを ASP.NET に実装 OWIN の実装やらが遅いからそうした by スコットハンセルマン