Rails ではなく ASP.NET を使うわけ

Webアプリケーションを作成する時に ASP.NET を選択した理由を紹介します。

スポンサーリンク

制作

ある時、私はWebアプリケーションを作りたいと思いました。

過去にもそのように思い、Webアプリケーションを作ったことはあり、その時は Ruby on Rails (以下 Rails と表記) を使って作成しました。

しかし、今回は ASP.NET を使って開発することに決めたので、その理由を Rails と比較しながら書いていきたいと思います。

フロントエンドの導入

現在、Javascript や CSS に関して、Vue.js や React.js など、たくさんのフレームワークが存在します。

しかし、Rails ではこれらを導入しようとすると、少し面倒で、Rails の知識が要求されます。

とは言っても、Rails 5.1 からは、webpacker というものを使って、パッケージマネージャのwebpack を操作する機能が導入されました。なので、前よりもこれらのフレームワークを導入しやすくはなってはいますが、それらも Gem というプラグインを使う必要があり、導入が少し面倒です。

ASP.NET では、プロジェクトの作成時に、それらの導入に使うことができる Bower というパッケージマネージャが標準で用意されているので、とても楽です。さらに、Visual Studio には、この Bower を GUI で操作することができる機能があります。

今回作成したいWebアプリケーションは、SPA と呼ばれる、主に一つのページのみで完結するというものではないので、すぐにこれらを使う予定はないのですが、もし今後使うとなった時に、すぐに導入できたらいいなということを考えています。

機能の実装

Rails には、Gem というプラグインがあり、これらを使うと色々な機能を簡単に作ることができます。

私も、これらの Gem を使ってWebアプリケーションを作ったことはあるのですが、Gem でできることが色々ありすぎて、なんかよくわからないけど、やりたいことができちゃった、ということがよくありました。

しかし、よくわからないけどできちゃった、ということは、今後機能を変更しようと思った時に、うまく使うことができないということを表しており、いいことではありません。

その点、ASP.NET では、そのようなものはあまり多くなく、ほとんどを自分で実装する必要があります。

そのため、全てのソースコードをある程度理解する必要があり、よくわからないけどできちゃった、ということを防止することができます。

実際のところ、Rails でも、不必要な Gem を使わないようにすれば解決できます。

言語とIDE

私は、Rails のWebアプリケーションを開発する時に、Atom というエディタを使っていました。

Atom には、Rails を使った開発に便利なプラグインや、Ruby という Rails を記述するのに用いるプログラミング言語に関するプラグインなどを、たくさんインストールして使っていました。

しかし、それらも完全ではなく、たまにエラーが出たりして、少し不便に感じていました。

ASP.NET のWebアプリケーションは、C# というプログラミング言語で記述します。

(実際は、Visual Basic や F# なども使えますが、一般的にはC# を使う方が多いでしょう。)

C# や ASP.NET は、どちらも Microsoft社 によって開発されており、それらを使うための Visual Studio という IDE も存在します。

この Visual Studio という IDE が非常に便利で、Atom よりも高機能で、慣れてしまうと非常に便利で、手放すのが惜しくなります。

そのため、Rails よりも ASP.NET の方が開発をしやすいと思いました。

さらに、C# は静的型付け言語と呼ばれるもので、プログラムの実行時にコンパイルする必要があり、ミスタイプなどはこの時にある程度気づくことができます。Rails ではミスタイプをしても、気づきにくいのでこの部分は非常にいいと思っています。

その代わり、実行中に C# のプログラムを書き換えても、反映させるには、もう一度実行する必要があるのが玉にきずです。

実行環境

Webアプリケーションを作ったのであれば、最終的に公開することになります。

ASP.NET は、昔は IIS という Microsoft社 のWebサーバを使う必要があったのですが、現在は、.NET Core という、オープンソースの実行環境があり、IIS を使わなくてもよくなりました。

ただし、.NET Core で動作する ASP.NET は ASP.NET Core と呼ばれるもので、ASP.NET とは少し異なるものになります。

そのため、開発をする際には、ASP.NET Core 用にWeb アプリケーションを作る必要があるのですが、ASP.NET と比べると、大きな違いはないようです。でも小さな点では違うのは事実です。

実際、今回 ASP.NET を選ぶ理由を書いていますが、厳密に私が選んだのは、ASP.NET Core です。

デプロイの方法は、少し面倒ですが、Microsoft Azure というクラウドサービスの Web Apps というサービスを使えばかなり簡単にデプロイできますし、そうでなく、サーバに手動でデプロイをする場合は Rails と それほど手間も変わらないと思っています。

まとめ

個人的に、Visual Studio で開発できるのが非常に気に入っています。

ソースコードを書いている時に補完してくれたり、おかしなところを指摘してくれたり、至れり尽くせりです。

Rails に比べると、機能の追加のために全てソースコードを書く必要があるので、リリース時期は遅れる可能性はありますが、ソースコードの記述が書きやすいので、ストレスは少ないと思います。

もし Rails に不満があったり、これらの利点がいいと思った場合は、是非 ASP.NET を使うことを検討してみてください。

スポンサーリンク

シェアする

フォローする