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

Mais conteúdo relacionado

Mais procurados

達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)
masayoshi takahashi
 
Ruby Kaigi LT - unshiu
Ruby Kaigi LT - unshiuRuby Kaigi LT - unshiu
Ruby Kaigi LT - unshiu
gaooh
 

Mais procurados (20)

Fiddler 使ってますか?
Fiddler 使ってますか?Fiddler 使ってますか?
Fiddler 使ってますか?
 
TypeScript + Express
TypeScript + ExpressTypeScript + Express
TypeScript + Express
 
TypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリTypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリ
 
Casablanca
CasablancaCasablanca
Casablanca
 
C++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するC++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用する
 
達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)
 
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
 
ReactiveSignalR
ReactiveSignalRReactiveSignalR
ReactiveSignalR
 
TypeScript補完計画 for Sublime Text 2
TypeScript補完計画 for Sublime Text 2TypeScript補完計画 for Sublime Text 2
TypeScript補完計画 for Sublime Text 2
 
.NET today and tomorrow
.NET today and tomorrow.NET today and tomorrow
.NET today and tomorrow
 
Reactに触れてみた
Reactに触れてみたReactに触れてみた
Reactに触れてみた
 
俺とホットキー
俺とホットキー俺とホットキー
俺とホットキー
 
Realm
RealmRealm
Realm
 
Phalcon PHP Framework のご紹介 - PHPカンファレンス2013 フレームワークアップデート
Phalcon PHP Framework のご紹介 - PHPカンファレンス2013 フレームワークアップデートPhalcon PHP Framework のご紹介 - PHPカンファレンス2013 フレームワークアップデート
Phalcon PHP Framework のご紹介 - PHPカンファレンス2013 フレームワークアップデート
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
 
Pinocoのご紹介
Pinocoのご紹介Pinocoのご紹介
Pinocoのご紹介
 
Ruby Kaigi LT - unshiu
Ruby Kaigi LT - unshiuRuby Kaigi LT - unshiu
Ruby Kaigi LT - unshiu
 
酒の肴はC# vNext
酒の肴はC# vNext酒の肴はC# vNext
酒の肴はC# vNext
 
CONBU API の開発
CONBU API の開発CONBU API の開発
CONBU API の開発
 
真Intermediate languageのキホン
真Intermediate languageのキホン真Intermediate languageのキホン
真Intermediate languageのキホン
 

Semelhante a 私が ASP.NET を選ぶ理由

Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-ltWindowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Tomokazu Kizawa
 

Semelhante a 私が ASP.NET を選ぶ理由 (20)

デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912
 
WPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめないWPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめない
 
マイクロソフト系エンジニアとは何をしている人?
マイクロソフト系エンジニアとは何をしている人?マイクロソフト系エンジニアとは何をしている人?
マイクロソフト系エンジニアとは何をしている人?
 
テンプレートを使ったストアアプリの作成
テンプレートを使ったストアアプリの作成テンプレートを使ったストアアプリの作成
テンプレートを使ったストアアプリの作成
 
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
 
.NET Core でデスクトップアプリ Visual Studio 2019 Preview 版
.NET Core でデスクトップアプリ Visual Studio 2019 Preview 版.NET Core でデスクトップアプリ Visual Studio 2019 Preview 版
.NET Core でデスクトップアプリ Visual Studio 2019 Preview 版
 
XAML Islands
XAML IslandsXAML Islands
XAML Islands
 
Uno Platform 入門
Uno Platform 入門Uno Platform 入門
Uno Platform 入門
 
[Japan Tech summit 2017] CLD 005
[Japan Tech summit 2017]  CLD 005[Japan Tech summit 2017]  CLD 005
[Japan Tech summit 2017] CLD 005
 
Visual Studio 2017 事はじめ
Visual Studio 2017 事はじめVisual Studio 2017 事はじめ
Visual Studio 2017 事はじめ
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET Core
 
新しい EditorConfig (IntelliCode)
新しい EditorConfig (IntelliCode)新しい EditorConfig (IntelliCode)
新しい EditorConfig (IntelliCode)
 
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-ltWindowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
Windowsストアアプリ開発ハンズオントレーニングに行ってきました 2012-09-22-lt
 
XAML Standard
XAML StandardXAML Standard
XAML Standard
 
WPF & Windows Forms on .NET Core 3.0
WPF & Windows Forms on .NET Core 3.0WPF & Windows Forms on .NET Core 3.0
WPF & Windows Forms on .NET Core 3.0
 
UWPでもDataTable
UWPでもDataTableUWPでもDataTable
UWPでもDataTable
 
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
 
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy
 
まんまとリレーションされた話
まんまとリレーションされた話まんまとリレーションされた話
まんまとリレーションされた話
 
Windows 8時代のアプリ開発
Windows 8時代のアプリ開発Windows 8時代のアプリ開発
Windows 8時代のアプリ開発
 

Mais de m ishizaki

Mais de m ishizaki (20)

継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#
 
継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#
 
Visual Studio を使わず .NET する
Visual Studio を使わず .NET するVisual Studio を使わず .NET する
Visual Studio を使わず .NET する
 
Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話
 
「スタバ」する話
「スタバ」する話「スタバ」する話
「スタバ」する話
 
エンジニアと「スタバ」ツイートについて
エンジニアと「スタバ」ツイートについてエンジニアと「スタバ」ツイートについて
エンジニアと「スタバ」ツイートについて
 
Build 2022 / Uno Platform
Build 2022 / Uno PlatformBuild 2022 / Uno Platform
Build 2022 / Uno Platform
 
7 つの Blazor
7 つの Blazor7 つの Blazor
7 つの Blazor
 
C# Tokyo コミュニティ説明 202205 版
C# Tokyo コミュニティ説明 202205 版C# Tokyo コミュニティ説明 202205 版
C# Tokyo コミュニティ説明 202205 版
 
仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話
 
2022 抱負
2022 抱負2022 抱負
2022 抱負
 
モバイルディスプレイ
モバイルディスプレイモバイルディスプレイ
モバイルディスプレイ
 
Windows フォームアプリ 2022
Windows フォームアプリ 2022Windows フォームアプリ 2022
Windows フォームアプリ 2022
 
dotnet tool
dotnet tooldotnet tool
dotnet tool
 
C#10
C#10C#10
C#10
 
C# Tokyo コミュニティについて Short 版
C# Tokyo コミュニティについて Short 版C# Tokyo コミュニティについて Short 版
C# Tokyo コミュニティについて Short 版
 
C# Tokyo コミュニティ案内
C# Tokyo コミュニティ案内C# Tokyo コミュニティ案内
C# Tokyo コミュニティ案内
 
C# 9 のおすすめ新機能
C# 9 のおすすめ新機能C# 9 のおすすめ新機能
C# 9 のおすすめ新機能
 
C# Tokyo コミュニティ説明 2021/01/29 版
C# Tokyo コミュニティ説明 2021/01/29 版C# Tokyo コミュニティ説明 2021/01/29 版
C# Tokyo コミュニティ説明 2021/01/29 版
 
秋葉原 C# もくもく会
秋葉原 C# もくもく会秋葉原 C# もくもく会
秋葉原 C# もくもく会
 

私が ASP.NET を選ぶ理由