Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

私が ASP.NET を選ぶ理由

330 views

Published on

私が ASP.NET を選ぶ理由

Published in: Software
  • Be the first to comment

  • Be the first to like this

私が ASP.NET を選ぶ理由

  1. 1. / 28 私が ASP.NET を選ぶ理由 1 WEBフレームワーク品評会 2017年09月16日 石崎 充良
  2. 2. / 28 自己紹介 石崎 充良 ( @mishi_cs ) 言語: C# XAML 活動: JXUG (もくもく会) (connpass) 城東.NET Users Group (connpass) .NET 読書会 (connpass) 2
  3. 3. / 28 この分野は専門外なので ・専門は Windows デスクトップアプリです。 ・Web は簡単なものだけです。 ・最近、サーバーサイドとして Web API は欠かせません。 3 そういう視点ならこういう選択肢もあるよ、という もらいに来ました プロのアドバイス
  4. 4. / 28 前提条件 ※個人の事情です ・Web だけを扱うことは減ってきた ・Web サイト + Web API + アプリ ・管理機能はデスクトップアプリもあり得る 4
  5. 5. / 28 概要 5
  6. 6. / 28 コードが共有できる ・ASP.NET なら C# (.NET) で作れるプラットフォームでコードの共有が可能 コード共有・・・ 6
  7. 7. / 28 コードが共有できる ・ASP.NET なら C# (.NET) で作れるプラットフォームでコードの共有が可能 コード共有・・・ 7 モデルが共有できる
  8. 8. / 28 どのくらい共有でき るか? ~ C# で何が作れるのか ~ 8
  9. 9. / 28 C# で作れるもの ・Web (ASP.NET MVC) ・Web (ASP.NET MVC Web API) ・Web (ASP.NET Web フォーム) ・Windows クラシック デスクトップ ・Windows アプリ ・Windows Phone アプリ (現役ではない) ・Android アプリ ・iOS アプリ ・Mac アプリ など 9
  10. 10. / 28 C# で作れるもの ・Web (ASP.NET MVC) ・Web (ASP.NET MVC Web API) ・Web (ASP.NET Web フォーム) ・Windows クラシック デスクトップ ・Windows アプリ ・Windows Phone アプリ (現役ではない) ・Android アプリ ・iOS アプリ ・Mac アプリ など 10 得意分野! !!?
  11. 11. / 28 C# でつくれるもの 11 フレームワーク 作れるもの MVC Web API Web フォーム WPF Windows デスクトップ UWP Android アプリ iOS アプリ Mac アプリ ASP.NET Xamarin Windows (10 Mobile) (ストア) アプリ ※C# だけでなく .NET には F# という言語もあります。 F# とは → .NET 界の関数型言語担当。関数型で何でも作りたい方にオススメ!
  12. 12. / 28 Xamarin 12
  13. 13. / 28 Xamarin とは .NET (C# または F#) でモバイルアプリ(ネイティブアプリ)を作れる開発ツール。 所謂クロスプラットフォーム開発ツール。 .NET のクラスライブラリと、 .NET 用にラップされた各プラットフォームの API が使 える。 プラットフォーム間でコード共有が可能。 13 カバー率 100% 7 割は行ける
  14. 14. / 28 よくある誤解 [ ] Swift や Kotlin でなら使える端末機能が全ては使えないのでは? [ ] → API カバー率 100% [ ] UI が独自のものになってしまうのでは? [ ] → UI はネイティブのものを使用。 storyboard や axml で作成。 [ ] UI はコード共有できない? [ ] → UI 共通化フレームワークを使うこともできる。 [ ] Swift や Kotlin を覚えなくても開発できるんでしょ? [ ] → 各 API の使い方などは Swift や Kotlin で書かれた情報が詳しい。 Swift や Kotlin を読む必要がある。 14
  15. 15. / 28 Web API ←→ クライアント のモデル共有 15
  16. 16. / 28 信頼できるものは何か? 16
  17. 17. / 28 JSON データモデル 17 Web API アプリ JSON データ シリアライズ シリアライズ 復元 復元 オブジェクト オブジェクト 共有のモデル インスタンス化 インスタンス化
  18. 18. / 28 実例 18
  19. 19. / 28 プロジェクト構成 19 この一つ一つが プロジェクト (実行形式やライブラリ の出力単位)
  20. 20. / 28 プロジェクト構成 20 モバイルの共通コード Android iOS Windows アプリ モデル WebAPI ASP.NET MVC Web フォーム デスクトップ
  21. 21. / 28 プロジェクト構成 21 全てで同じモデルを参照
  22. 22. / 28 モデルクラス 22
  23. 23. / 28 実行 23
  24. 24. / 2824
  25. 25. / 28 モデルを変更 25
  26. 26. / 2826
  27. 27. / 28 まとめ 27
  28. 28. / 28 まとめ 28 Web も作らなきゃならない デスクトップ も作らなきゃならない iOS も作らなきゃならない Android も作らなきゃならない それがシステム屋のつらいところ 少しでもコードを共有して ミスを減らしたい
  29. 29. / 28 ご清聴ありがとうご ざいました。 29

×