2015年5月26日火曜日

ASP.NET 5.0の概要

VisualStudio2015、ASP.NET5.0の正規版のリリースが間近に迫り
技術的な動向が気になるところ、今日はお世話になっているMicrosoft Academy
から「ASP.NET 5 概要」の動画をもとにまとめてみました。

-----------------------------------
タイトル:「ASP.NET 5.0の概要」
スピーカー:エバンジェリスト 中村
時間:20分
リンク:http://www.microsoftvirtualacademy.com/training-courses/aspnet5
-----------------------------------

ASP.NET5の概要
・モジュラー設計(NuGet)
・オープンソース(.NET Foundation)
・コンパイル不要の開発と配置(Roslyn)
・Windows,Mac,Linuxでの実行(MonoProject)
・完全なSydeBySide実行
・依存性の注入(Dependency Injection)
・高速化、低メモリ使用量と高スループット
・クラウドへ最適化(設定、デバッグ、ロギング、キャッシュ)
・クロスプラットフォーム


これらを要約すると
新しくリリースされるASP.NET5はGitHubでオープン化され、開発者ならだれでもソースを入手可能。
ASP.NET 5はWindows以外のLinuxやMac上でも動作可能なASP.NET CORE を提供する。
ライブラリがモジュール化かつ軽量化され、クロスプラットフォームやクラウド環境への展開が楽になる。

特に強調したいのが、コマンドラインからのアプリ実行
ASP.NET5 KRuntime 通常 KRE
あたらしい流れクロスプラットフォームを考慮。
VisualStudioがなくとも、ソース作成、コンパイル配置が可能である。

KREで利用する代表的なコマンドは3つ
1. KRE  ランタイムの管理
2. KREバージョン管理、KVM ランタイムの部分のバージョン管理
3. KPakeage Manager (KPM) アプリケーションの部分のバージョン管理

こんなコマンド叩いてWebアプリを実行する。
 kvm list
 kvm use default
 kpm restore ペッケージ取得
 k web ローカルホストで動く

それと、ASP.NET5プロジェクトのフォーマットがXMLからjsonフォーマットに変わった。

VisualStudio2015 の正規版待ち遠しいです。

2015年5月23日土曜日

VisualStudio2015 クロスプラットフォーム

今年発売予定のVisualStudio2015。
クロスプラットフォームを大々的にアピールしているので、
どんなもんなのかMicrosoftAcademyを覗いてみた。

デスクトップアプリやWebサイトの機能はVisualStudio2013と変わり映えしないのが率直な感想。
反面、クラスプラットフォーム開発用のXamarinやPhoneGapを標準搭載。そしてなんといってもVisualStudioでAndroidのエミュレーターを提供していることからもわかるように、スマホやタブレットをターゲットにした開発に注力しているように感じられた。

めったなことじゃないとお目にかからないWindowsStoreもWindowsPhoneよりも、みんな使っているAndroidやiOSへシフトするのが自然な流れであり、マイクロソフトでさえも認めざるを得ない事実なんだろうな。


確認した動画は「クロスプラットフォーム開発 VisualStudio」


ポイントを簡単にまとめると、

クロスプラットフォームの開発方法は3つ、違いは開発言語
 1.Cordova(PhoneGap)  HTML/JS
 2.Xamarin      C#
 3.CLang          C++
ほかにもゲームライブラリ Unityもあるが、説明にはなかった。
どれもAndroidはVisualStudioさえあれば開発できるが、iOSはMacとXCodeの開発環境が必要。


1.Cordove(PhoneGap)

 WebView上で動くアプリを作る。
 javaScriptで android,iOS,WidnowsPhoneのアプリを作ることができる。
 共通的なプログラムはそれぞれのネイティブアプリの上にあるWebView上で動く。
 iOSのビルド、デバッグ、エミュレーターはVisualStudioは用意してないのでマックが必要。


2.Xamarin(ザマリン)

 各プラットフォームのネイティブアプリを作る。
 共有化できるのは PCL (Portable Class Liblary)を使ったBizLogicのみで、UIについては各プラットフォームで作る必要がある。

 ・ Xamarin.Android,
 ・ Xamarin.iOS,
 ・ WindowsPhone
 ・ Silverlight5
 ・ .NET Framework4.5
 ・ Store App

 Xamarin.FormsでUIコードも共有化
 UIも共有化できる仕組みがそろいつつある。
 前提としてMVVMモデル、ロジックとUIの結びつきが弱い、独立したモデルを採用する必要あり。


3.CLang C++

 C++からオープンソースのコンパイラCLang を使ってAndroidのネイティブアプリを作る。
  iOSのネイティブはない。


ここまでが動画の内容。


VisualStudio2013でクロスプラットフォーム開発するには
VisualStudio2013 Update4 を適用し
Multi-deviceHybrid Apps というアドインを追加するとPhoneGapの開発ができる。


まとめ

Android,iOSにアプリを提供する上で、運用・保守フェーズに入ってからのプログラム保守費用と用とアプリのバージョンアップに伴い発生する配布コストが、クロスプラットフォームの環境で改善できるのは魅力的。

気になるのはVisualStudioのライセンス料かな。

AndroidStudioやXCodeも相当使いやすいから、単にネイティブアプリ作るなら、VisualStudioを選ぶ人はなかなかいないんじゃないかな。