none
ASP.NET Coreアプリをローカルアプリとして納品 RRS feed

  • 質問

  • お世話になります。

    ここ最近は ASP.NET MVCで主に開発していますが、最近話題の(?) ASP.NET Coreについてお聞きしたいと思います。

    ASP.NETのようなWebアプリでなく、ローカルアプリをクライアント向けに配布しようとする場合、従来はお馴染みのWindowsデスクトップアプリの他、WPFやUWPでしたが、今後は「ASP.NET Core アプリを配布」するなんて選択肢は考えられますか?

    まだCoreについて開発経験がなくトンチンカンな質問かもしれません。
    ただ、CoreアプリがIIS無しで動くという事を考えると、ローカルアプリとしてクライアントに納品という事もあり得るのではないか?と思いついたのでした。
    利点として以下のようなものが考えられます。

    1. ユーザーがWindowsアプリよりブラウザベースのインターフェイスに慣れている
    2. 開発者によっては、ローカルアプリよりASP.NETの開発に慣れている
    3. Google Chart APIやGoogle Mapsなど、Webの資産を活用できる(ライセンスの問題はありますが)
    4. UWPにあった「SqlServerに直接接続できない」問題が、Coreアプリなら解決
    5. (Linuxはともかく)Macでも動く

    いかがでしょうか?
    Coreアプリがどういう形で配布できるのか等、知らないことが多いため楽観的すぎるかもしれませんが、何か問題等考えられますでしょうか?また、それでもUWPが上回る利点などありましたら、教えて頂けると幸いです。

    2017年6月29日 6:36

回答

すべての返信

  • > CoreアプリがIIS無しで動くという事を考えると、ローカルアプリとしてクライアントに納品と
    > いう事もあり得るのではないか?

    ASP.NET Core と言っても、結局サーバー(Windows の場合は IIS、Mac/Linux の場合は Kestrel) 上で動く Web アプリになるようですので、それはないと思います。

    以下の記事の構成図を見てください。

    ASP.NET Coreの概要を理解してセットアップしよう
    https://codezine.jp/article/detail/9681

    ただ、自分が知らないだけで、話が変わってきていて、他にもいろいろ活用方法が出てきているのかもしれませんが。


    #以下のような話もありますし、業務上の差し迫った必要がなければ様子見という人も多いのではないかと思います。

    ASP.NET Coreが.NET Frameworkサポートを終了
    https://www.infoq.com/jp/news/2017/06/ASPNET-Core-2

    #実は自分も様子見です。構成ファイル他の変更が多くて今までの知識では歯が立たないし、以下のような不具合(?)もまだ残っているようですし、業務上の差し迫った必要もないですし。(笑)

    ASP.NET Core で文字化け
    http://surferonwww.info/BlogEngine/post/2017/06/16/decoding-problem-caused-by-view-created-by-scaffolding-in-aspnet-core-project.aspx

    2017年6月29日 8:11
  • SurferOnWww様

    ご回答ありがとうございます。

    Windowsでは結局IISが必要になるんですね…ちょっと考えが甘かったようです。

    以前WebFormsからMVCへの移行に乗り遅れた経験から、今回はいち早くCoreへの理解を深めたいと考えましたが、SurferOnWwwさんから頂いた諸々の記事を見ると、まだ急いで考える必要もなさそうですね。

    ControllerやViewの部分はMVCの知識が活かせますが、構成ファイルは全然変わってしまいましたね(web.configがない事はかなりショックでした)。

    2017年6月30日 0:11
  • 私もあまり詳しくないのですが、SurferOnWwwさんが以下で示された構成図を見て、WindowsでもIISは必須ではないように受け取りました。つまり、Windowsだと、IISか、IIS Expressか、Kestrelで動作させることができると。

    ASP.NET Coreの概要を理解してセットアップしよう
    https://codezine.jp/article/detail/9681

    で、少し調べてみたのですが、Coreに内包されているKestrelというWebサーバーだけでも動くのですが(セルフホスト)、管理とかセキュリティの関係でIISを立ててリバースプロキシにしたり、IISで直接実行させたりすることができるようです。

    Is it possible to self-host a ASP.NET Core Application without IIS (not Web API)?
    https://stackoverflow.com/questions/30298458/is-it-possible-to-self-host-a-asp-net-core-application-without-iis-not-web-api

    ASP.NET Coreを動かすためのIISの構築方法
    http://qiita.com/taiga_takahari/items/7809c78393750c42e443

    #とりあえず調べてみただけで、あまり詳しくないです。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2017年6月30日 1:42
    モデレータ