質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

2回答

2673閲覧

Windows Serverに最適なWEBフレームワーク

退会済みユーザー

退会済みユーザー

総合スコア0

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2020/06/21 15:05

前提・実現したいこと

Windows ServerへWEBアプリケーションを構築するためのフレームワークを選定しています。

初めは、Ruby on Railsを想定し、Docker for Winodowsも試しながら環境構築を試みましたが、つまずく箇所が多く、断念してしまいました。
色々自分なりに調べてみると、WindowsでRails・Dockerの開発環境&サーバー構築するのは不可能ではないものの、一般的にはLinux/Macを使うようでした。

そこで他にも候補をリストアップしてみたので、Windowsと相性が良いフレームワークの選定についてアドバイスいただきたいです。
「相性が良い」というのは、Windows OS起因で開発環境&サーバー構築に躓かないこと意味しています。

自分なりにリストアップしたもの

いちおう自分なりに調べて、下記のフレームワークをリストアップしました。

  1. ASP.NET MVC
  2. Vue.js + ASP.NET WEB API
  3. Django
  4. Vue.js + Django REST Framework
  5. Vue.js + Flask(WEB APIサーバーとして使用)

Windowsと相性が良いという意味では、1,2がベストだと思いました。
しかし、書籍やUdemy、WEB上の情報が少なく、できれば3,4,5がよいと考えています。
ただ、3,4,5について、Railsと同じようにLinux/Macが主流なのか、Windowsだと環境構築でつまずくポイントが多いのか、調べてもよくわかりませんでした。
Pythonは、virtualenv等の仮想環境を構築するツール?が充実しているから、Windows環境でも全然ありだったりするのでしょうか?(本番環境含め)
WEBアプリの規模は小さめです(せいぜい数十人が同時アクセスする程度)。

経験が少ないため用語の使い方等、とんちんかんな部分もあるかもしれませんが、アドバイス頂けると大変助かります!
(初投稿で緊張しています)

補足情報

  • 今いる職場でLinuxに詳しい人が少なく、また、環境構築が簡単にできることが望ましいため、Windows Serverを前提にしろと指示を受けました(Windowsの方が本当に簡単なのかわかりませんが・・・)。WEBサーバーはIIS、DBはSQL Serverが望ましいとのこと。
  • 「簡単」かつ「一般的」であれば、Windows Server上に仮想環境作るのもアリと考えています(曖昧な表現ですが・・・)。
  • WEBアプリケーションでは、グラフを動的に生成することが多くなりそうなので、2,4,5の方が作りやすいのかな?と思っています。
  • 私は、Vue.js&FirebaseでのWEB開発、Pythonで軽いツールやクローラー開発経験があったので、④⑤が学習コストが楽かなと思っています(日本だとWEBアプリ開発はPythonよりRubyの方が一般的だと聞いたので、最初はRailsを想定していました)。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raccy

2020/06/21 15:34

Windows ServerはWSL2が使える最新のWindows Server Version 2004という前提でよろしいですか?
len_souko

2020/06/21 15:45

お仕事で作るということならあなただけのスキルは正直どうでもいいかと思います(例外としてあなたが他の人に伝授できるだけの教えるスキルと時間がある場合は別です) なので、職場の他の人は1~5のどれが得意な感じですか?たとえあなた一人で作るという指示であったとしても、ほかの人に引き継ぐ可能性もあるので、そういったところも踏まえて検討すべきではないでしょうか?
len_souko

2020/06/21 15:50

> Windows Server上に仮想環境作るのもアリと考えています とありますが、仮想環境にまたwindows serverを入れてIISを構築するのですか?それともlinuxを構築するのですか? linuxだとしたら > WEBサーバーはIIS、DBはSQL Serverが望ましいとのこと。 という要望を却下することになりますが説得力のある理由は用意できますか?
退会済みユーザー

退会済みユーザー

2020/06/21 16:21 編集

raccy様 >Windows ServerはWSL2が使える最新のWindows Server Version 2004という前提でよろしいですか? ありがとうございます。その前提です。 Windows Server2016の想定しています。バージョンが抜けており、すみませんでした。
退会済みユーザー

退会済みユーザー

2020/06/21 16:17

len_souko 様 >なので、職場の他の人は1~5のどれが得意な感じですか?たとえあなた一人で作るという指示であったとしても、ほかの人に引き継ぐ可能性もあるので、そういったところも踏まえて検討すべきではないでしょうか? ありがとうございます。おっしゃる通りですね。 職場では1~5のうち、どれもできる人がいません。また、教えるスキルもないので、他の職場の人とも一緒に学ぼうというスタンスです。 >とありますが、仮想環境にまたwindows serverを入れてIISを構築するのですか?それともlinuxを構築するのですか? Linuxの構築を想定しています。 >という要望を却下することになりますが説得力のある理由は用意できますか? IIS, SQL Serverは絶対ではなく、上司も明確な根拠があるわけではないので、くつがえすハードルが高いわけではありません。以前Linuxでかなり苦労したようなので、Windowsと言っているだけのようでした。
hentaiman

2020/06/21 22:22

linuxを使える人がdockerを使っても良いと思うけど、linuxが使えないからdockerを導入だ!なんてやるとたまたま導入時が上手くいったとしても困った時に死ぬと思う vargrantは使った事どころか調べた事すらないので知らないけど
退会済みユーザー

退会済みユーザー

2020/06/21 23:03

>hentaiman様 ありがとうございます。やはりそうですよね。参考になります。 Linuxを学習したくないわけではないので、もしDockerを入れるなら、それなりの学習コストを払う覚悟でやりたいと思います。
len_souko

2020/06/22 00:11

> それなりの学習コストを払う覚悟でやりたいと思います。 それはあなた以外の人もそれなりの学習コストを払う必要が出てきますが、職場でそのような許可が下りるものですか?また書きますが、あなた一人でやるとしても今後のメンテナンスや改修まで考慮するとあなた一人が頑張ればいいというわけではありません。言語や環境の選定はあなた一人で行うのではなくて職場の他の方とも相談すべきでは?
退会済みユーザー

退会済みユーザー

2020/06/22 01:03

「Windows Serverに最適」ではなくて、「あなたの組織に最適」という話になるはずですから、ここであなたの組織のことは何も知らない第三者に聞いても、あなたが満足できる答えは得にくいのではないでしょうか? > 「相性が良い」というのは、Windows OS起因で開発環境&サーバー構築に躓かないこと意味しています。 とのことですが、組織に蓄積された知識・経験が十分なら何をやっても躓かないでしょうから。担当する人によって程度の差はあるでしょうけど、組織内の初心者には組織として教育するのでは?
退会済みユーザー

退会済みユーザー

2020/06/22 01:06

>len_souko様 ご指摘ありがとうございます。私と私の職場の人の学習コストが高い方法/低い方法を、職場の人と比較検討しながら決めたいと思います。
退会済みユーザー

退会済みユーザー

2020/06/22 01:13

>SuferOnWww様 ありがとうございます。 >「Windows Serverに最適」ではなくて、「あなたの組織に最適」という話になるはずですから、ここであなたの組織のことは何も知らない第三者に聞いても、あなたが満足できる答えは得にくいのではないでしょうか? おっしゃる通りですね。今回初めてTeratailに投稿し、質問の仕方も学びとなりました。 >とのことですが、組織に蓄積された知識・経験が十分なら何をやっても躓かないでしょうから。担当する人によって程度の差はあるでしょうけど、組織内の初心者には組織として教育するのでは? Railsを無理矢理Windowsでやろうとして、つまづくことが多かったので、不必要に躓くことなく環境構築ができる方法を選びたいという意図がありました。ただ、質問の仕方がよくなかったと思います。
退会済みユーザー

退会済みユーザー

2020/06/22 01:55

> Railsを無理矢理Windowsでやろうとして、つまづくことが多かったので、不必要に躓くことなく環境構築ができる方法を選びたいという意図がありました。 Windows Server + IIS + SQL Server と上司から指示され、それを覆すことができるような案は出せない、その方向で進めて Web アプリ構築・運用になるべく敷居が高くない方向で進めたいということと理解します。 であれば、昔から WISA という言葉がありますが、Windows Server + IIS + SQL Server + ASP.NET をまず考えてはいかがですか。 また「Railsを無理矢理Windows」というような敷居を高くするようなことをすれば、再び躓くことになる(可能性が高くなる)のでは? ただ、先にも述べたように、「Windows Serverに最適」ではなくて、「あなたの組織に最適」という話をするとすれば、私のような第三者は何も言えませんが。
退会済みユーザー

退会済みユーザー

2020/06/22 01:58

>SurferOnWww様 ありがとうございます。「WISA」という言葉があるのですね。恥ずかしながら存じ上げませんでした。 おそらく「Windows Server + IIS + SQL Server + ASP.NET」で進めていくことになりそうです。
guest

回答2

0

コメントでやり取りしている通り、僕の考えとしては以下の通りです

  • 個人の趣味でなく仕事で行うことから、たとえ開発作業を一人で行うとしても自分さえできればいいというわけではない
  • 学習コストが高いと自分以外の職場の人にも高い学習コストを要求する=現在の作業に遅れが起きる要因となる
  • Windows ServerであってもWSLやdockerを使用するとなるとlinuxの知識がない人には単にlinuxを扱うよりも学習コストがかかるうえに、そもそもの前提条件をっ覆すことになるのでlinuxで苦労してうまくできなかったのでWindows Serverを前提とした人に「単にlinuxを扱うよりもややこしくなってどちらも新しい情報だけどみんなが頑張って苦労します」では前提を覆すことができるような説得は難しい

まず、そもそもの話ですが、選択肢の1~5以外はどうなんですか?
職場の他の方々の経験も不明なので回答者側としては今使ってる言語ではだめなの?という疑問が常に付きまといます

そのうえで、前提条件であるWindows Serverと、望ましいとしているIIS・SQL Serverということと、現在上げられている1~5全てにおいて職場の人が未経験と思われるということから、現在職場で使用している言語をIISで動かせるようにできるのであればそれで、できないのであればASP.NET(.net core3.1もしくは学習期間も含めて年末まで時間がもらえるのなら.net5)が妥当かと思います

現在使用している言語がIISで利用可能であるならば、環境構築の手順書さえ作ればIISの仕様が大きく変わらない限りは大抵何とかなりますので、学習コストは最初のひとりでほぼおしまいです

次点としてASP.NETを上げたのは、VisualStudioを使用することで開発環境は大して苦労せずに構築できます。この辺JAVAのような面倒な手間が省けるのは初めて手を出す人にとってメリットとなります
そしてSQL Serverとのやり取りも非常に簡単なので、言語使用を学習するだけで良いとなります

と、まずは職場の他の方の経験(業務・個人、関係なくの経験です)を確認したうえで判断する必要があるかと思います

投稿2020/06/22 01:07

len_souko

総合スコア1348

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/06/22 01:25

コメントでのやり取り含め、丁寧に回答してくださり、ありがとうございます。 >職場の他の方々の経験も不明なので回答者側としては今使ってる言語ではだめなの?という疑問が常に付きまといます 職場ではフレームワーク等は使用せずに、VBScriptで開発している人が多かったです。CSSもBootstrap等は使用していませんでした。そのため職場としても新しい技術を試し、効率的に開発を行っていきたいという意図がありました(そのような指示も受けました)。説明不足でした。 またLinuxについては、だいぶ的外れのことを考えていたと再認識しました。
guest

0

ベストアンサー

回答

「相性が良い」というのは、Windows OS起因で開発環境&サーバー構築に躓かないこと意味しています。

質問内容を読んでいると情報収集能力が高い人が居るorリード出来る技術者がいない組織に思います。
その状態でこの前提条件だとそもそも言語選択のレベルでかなり選択肢が狭まるんじゃないでしょうか。
具体的には.net系のどれかorJavaでないと引っかかった時に参考になる情報を集めるのに大きく苦労するんじゃないかなと思います。
(選択肢の中からだと1か2になりますね)

とはいえ、結局のところは主に苦労する人と責任を取る人が納得できる選択をするのが良いんでは無いかとは思いますよ。

以下感想

>とありますが、仮想環境にまたwindows serverを入れてIISを構築するのですか?それともlinuxを構築するのですか?

Linuxの構築を想定しています。

Dockerを使えば環境構築考えなくていいよ!
とか
Vagrantで環境共有出来るよ!
とかはとても正しいのですが、サービスとして公開する場合はどちらもそれなりに学習コストがかかる上、結局はLinuxの知識も必要になります。
(ホストと役割を適切に分ければ、Linux側の知識は減らせますがゼロにはならない)
それなら、最初からLinux(クラウド環境ならコンテナサービス)で良いんでは?という印象を強くうけます。

私は、Vue.js&FirebaseでのWEB開発、Pythonで軽いツールやクローラー開発経験があったので、④⑤が学習コストが楽かなと思っています(日本だとWEBアプリ開発はPythonよりRubyの方が一般的だと聞いたので、最初はRailsを想定していました)。

webアプリケーション全体のシェアで言うならPHPの方がその二つよりは一般的で、(歴史的な経緯から)Windows+IISで動いているPHP環境と言うのは結構あるので、PHPを選択肢に入れても良いかもしれません。
一方でRDBMSについてはPHP+SQLServerは苦労している話をよく耳にするので、MySQLやMariaDB,PostgreSQLを検討するのが楽だと思います。
XAMPPで開発している人が結構居るという事情もあり、開発環境構築も簡単な部類だと思います。

投稿2020/06/21 19:09

tanat

総合スコア18711

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/06/21 22:59

「回答」と「感想」ともに大変参考になりました。ありがとうございます。 考える参考材料が得られるとともに、自分のいる環境、自分のスキル感について客観視するのにも役立ちました。 >質問内容を読んでいると情報収集能力が高い人が居るorリード出来る技術者がいない組織に思います。 >とはいえ、結局のところは主に苦労する人と責任を取る人が納得できる選択をするのが良いんでは無いかとは思いますよ。 まさにおっしゃる通りの状況です。あまりリスクのない状態で0からやらせてもらえるので、自分のスキルアップのために良い機会ととらえ、多少の苦労はいとわず、がんばろうという気持ちでおります。 本当はRailsで挑戦してみたかったのですが、「責任を取る人」の意向とのバランスを取って、1or2を筆頭に、まずは触ってみて検討したいと思います。 >webアプリケーション全体のシェアで言うならPHPの方がその二つよりは一般的で、(歴史的な経緯から)Windows+IISで動いているPHP環境と言うのは結構あるので、PHPを選択肢に入れても良いかもしれません。 こちらも参考になります。1,2の選択肢とともに、チュートリアルレベルの学習をやってみて、どちらを採用するか決めようと思います。 改めて、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問