nekoTheShadow’s diary

IT業界の片隅でひっそり生きるシステムエンジニアです(´・ω・`)

桑原聖仁『Riot.jsで簡単Webアプリ開発』(シーアンドアール研究所) を読んだ

Riot.jsで簡単Webアプリ開発

Riot.jsで簡単Webアプリ開発

Riot.jsにはまえまえから関心を持っていたのですが、日本語の入門書を見かけたので、写経しつつ読みました。入門書としてとてもよい本だったと思います。内容としては、簡単なアプリケーションを作りながら、Riot.jsの重要な機能を紹介していくというものです。個人的な話ですが、新しいフレームワークや技術に取り組む際、本の内容を写経しながら学習を進めていくことが多いので、こういう写経しやすいつくりの本は勉強しやすくてすごく好きです。

量については多すぎるということもなければ、足りないということもない感じでした。少なくとも、細かい機能まで網羅的に紹介しているというものではないです。入門としては必要十分という感じでしょうか (Riot.jsについて詳しいわけではないので、何とも言えないところではありますが)。あと、Riot.jsだけでなく、Semantic UIやMaterial UI、IconicなどのCSSフレームワークとの連携についても、紙幅を割いて解説してくれているのが個人的にはGood。CSSには苦手意識があって、最近の流行がまったく追い切れていなかったので、ここも勉強になりました。

あえて指摘があるとすると、やや誤字脱字が多いのが気になったぐらいですね。写経対象のコード自体には問題なかったように思いますが、それ以外の文章に誤字脱字がちょこちょこあるといった感じ。校正ミス・誤植については気にしすぎてもしょうがないので、内容に大きな誤りがなければヨシ (←現場猫)


ロートルな製造業相手のアプリSEという仕事柄、がっつりJavaScriptに取り組むことはなく、触るとしても、サーバサイドレンダリングされたWebアプリケーションに装飾を加える程度、SPAなどもってのほか。とはいえJavaScriptフレームワークについても知っておくに越したことはないということで、React、Vue.js、Riot.jsなどに入門してきたのですが、個人的には今回勉強したRiot.jsが一番好きですね。とくに覚えることが少ないのがいいですね。サーバサイド屋さんなので、フロントエンドに取り組むといっても限度があるなか、この機能の薄さというのは自分に合っていると思いました。

もちろん覚えることが少ない = 機能が少ないということであって、現実の業務アプリケーションを作るにあたっては、Riot.jsだとややきついかもしれません。ただ、簡単な自作アプリケーションぐらいでしか、jsフレームワークを使う想定がない身としては、このレベルでいいかなとも思っています。プロトタイプやPoC向きのフレームワークなのかもしれません。


せっかく時間を使って勉強したし、Riot.jsを使って何か作ってみようと思って、作成したのが以下。

https://nekotheshadow.github.io/codeforces/

Codefocesの問題を一覧表示して、解答済みの問題を強調表示するアプリケーションです。いわゆるエデュフォを中心に勉強しているので、エデュフォの問題と解答済みの問題をフィルタリングする機能も付けています。

github.com

解答済みのコードを管理しているレポジトリにプッシュすると、GitHub Actionsでparcel buildし、GitHub Pagesで自動公開されます。ホスティング先がGitHub Pagesなので、サーバサイドはなし。公開済み問題・解答済み問題の取得は本来サーバ側で処理しますが、それをすべてGitHub Actionsと簡単なPythonスクリプトで生成するというかなり無理のある作りになっています(´・ω・`)