僕が「マンガ読んだ!!」でBlazorを使い始めた理由

この内容は Blazor Advent Calendar 2019 - Qiitaの8日目の記事です。僕はマンガ読んだ!!いうサービスをBlazorで1年以上(サービス自体は2年半以上)作り続けています。マンガ読んだ!!は、自分が読んだマンガのログを残すことが出来るマンガログサービスです。というわけで、今日はBlazorをサービスに使い始めたきっかけを書きます。技術的な内容ではなく、エモい方です。

C++ Builder

その前に少し昔話を書きます。プログラムを初めて、開発環境に対してのこだわりは殆どない方でした。与えられた開発環境をそのまま使う。それだけでした。ある時Windowsのツールを作ることになってC++ Builderというソフトを渡されました。ハマリました。ツールを作るのにこんな素晴らしい環境があるのかととても驚きました。あまりに気に入りすぎて、まだ社会人1年目だったにも関わらず、結構高いのにソフト買ったぐらいです。それからもツールを作るときはC++ Builderでした。

Visual Studio & C#

それから何年かして、ある新しい開発環境に出会います。それがVisual Studioでした。C#という聞いたことのない言語と共に。その時C++しか知らなかった僕ですが、触ってみて本当にどハマリしました。これはC++ Builderより良いかもしれない。しかも信じられないことに無料で使える。その後Visual StudioC#は僕にとって最強の開発環境になります。そしてその後この2つの開発環境を作った人は同じ人だと知ります。その人こそ、僕の神アンダースヘルスバーグです。まあ、何が言いたいかというと、自分にとってVisual StudioC#は、神からの贈り物ということです。

Vus.js & TypeScript

で、自作サービスの話に戻ります。ASP.NET MVCで1年かけて作ったサイトを公開して、そこから大幅な技術見直しをして、Vue.jsでの開発に移行しました。Vue.jsの開発を始めた時、Blazorは一応知っていました。けれど、飛びつきませんでした。その時はまだexperiment(実験的)というタイミングでしたし、そんな時期に手を出しても茨だろうなと。でも、正直Vue.jsの開発がどうにも楽しめませんでした。さまざまな問題があってVisual Stuidoのポテンシャルは行かせないし、サーバーがC#でクライアントがJavascriptという二刀流は結構なストレスがありました。何かあったときにコンテキストスイッチの切り替えはやっぱり嫌です。TypeScript(余談ですがTypeScriptの開発者もアンダースヘルスバーグ!)という選択肢もあったんですが、個人的な感覚ではVue.jsとTypeScriptの愛称も決して良いと感じませんでした。僕がやった時期に丁度TypeScriptとの連携が強化されたんですが、TypeScript的に書けるようになったというより、TypeScriptをVue.jsぽく書けるようになったという印象でむしろマイナスと思っていました。

Blazorを使い始めたきっかけ

で、何ヶ月かVue.jsでの開発を続けて、フラストレーションが大分溜まっていました。そんなときに僕は捻挫しました。痛くて家プログラムが1週間ぐらい組めませんでした。そして大分マシになったので、プログラムを再開するとなったときに思いました。よし Blazorに移行だ!と。つまり、なんらロジカルな思考で選んだのではありません。捻挫して衝動的に乗り換えただけです。でも、いざ使ってみるとめちゃめちゃハマりました。数か月やっていたJavaScriptにもっている不満みたいなものが、Blazorにしたことで全て吹っ飛びました。良くわからない設定ファイルを書かなくて良いし、ああ書きたい、こう書きたいと思っていた書き方がサクサク出来る。何より2つの言語を使わなくて良いのがとても快適でした。やっぱり多くの人は慣れ親しんだ言語で書きたいと思います。Rubyが好きな人ならサーバーサイドはRuby on Rails、クライアントサイドはJavaScriptで書くよりやっぱりRubyで書きたいと思います。BlazorはクライアントもC#で書けるこれが最大のメリットです。

Blazorをオススメする人

そして技術的なメリット以外にもまるで故郷に帰ってきたような圧倒的な安心感と何より作っている楽しさが全然違いました。書いていて楽しい、これが最大のモチベーションです。自分には楽しくなかったVue.jsの開発では下手したら折角1年以上も開発を続けていた自作サービスを途中で止めてしまったかもしれません。Blazorを使っているからこそ、1年以上の開発を続けているとも言えます。だから、Blazorを使うのに適している人は「Visual StudioC#でプログラムを組むことが楽しいと思っている人」です。そういう人でSPAの開発が選択肢に上がるのであれば、もう圧倒的にオススメします。Blazor開発とっても楽しいですよ!!

明日

明日の Blazor Advent Calendar 2019 - Qiitaの9日目の記事はもう少し技術的な話題なのでブログではなくQittaに書くつもりです。
http://manga-yonda.com/manga-yonda.com