メインへジャンプ

ushironoko.me

Vue 3に関する商業誌を書きました

2021/07/20 ⏳ 4 min read

※発売後のフィードバックを受けて後半に内容を追記したためこれから買おうと思っている方はその部分を読んでいただけると幸いです。

Vue.js 3に関する本を商業誌として書かせてもらいました。本日発売です。

Vue.jsビギナーズガイド 3.x 対応 | ushironoko| 本| 通販| Amazon

物理本とKindleで購入できます。本自体固定レイアウトなため物理本の方が読みやすいとは思います。文中に引用元URLなどが含まれる箇所も多いため、コピペラビリティの高いKindle版も良いと思います、自分にあった方を選んでください。

Kindle版でもコピペできないみたいです。

完走した感想

本の前書きにも書きましたがほんとーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーに大変、2020/7から2021/6末まで常に執筆業のことが頭の片隅にあり、なかなかのストレス体験でした。何か新しいことを始めたい!と思ってもでも俺全然書けてないしな…となり、休日もやらなきゃという気持ちと書きたくないという気持ちがぶつかり合って何も純粋に楽しめてなかった気がします(実際は存在を忘れてゲームしてた日も多かった)。

本腰を入れたのは編集担当の方から締め切りを伝えられてからで、もうここが限界です、仕上げてくださいという状況にならないと人(俺)って動かないんだなぁとしみじみ感じました。ダメ人間すぎた。この時期はオリンピックが控えていて印刷所も忙しくなるため、その兼ね合いもあってか出せるなら早く出したいという気概が伝わってきました。実際の作業としては1 ~ 6章まであって3章までで約11ヶ月、残りを2週間で書いたような状況で、もっと早く真面目にやってたらあれもこれも書けたなぁと今でも若干後悔していたりします。

ただ今回書いた範囲はビギナーの方がVue.jsというライブラリを用いてUIコンポーネントを作り、それを自分の手でビルドしてリリースするという当初自分が書きたいと思っていた内容だったのでこれはこれで書きたいこと書けてるしいいかとも思ったり。

昨今の技術書や技術記事はアプリケーションを組み上げるところまでを前提とした内容が多く、基礎の基礎であるUIコンポーネント作りという面が通過点でしかないような印象を受けます(もちろんサービスを作るなら通過点です)。

まずVue.js 3ではどんなことができるようになったのか?周辺ツールとの相性はどこまで改善されているのか?を知ること、コンポーネントを作る上で必要なこと(テスト、ビルド設定含め)を全部自分自身で体験することをやって欲しいなという個人の想いがあり、どうせ書くならそこに100%振った内容にしてみようと考えました。

この本を読んでもグローバルストアの使い方は分からないし、ページ遷移の手法も分かりません、ごめんなさい。SPAって何?とかFirebaseに繋いでデータを保存して〜みたいな話も一切ありません。でもいざそれが必要になった時にどうすれば良いのかを自分で調べ、応用できるような基礎知識を身につけられる本にしたいなーとなんとなく思いました。公式ドキュメントにはない情報も交えて、なぜそう動くのか、なぜそこにその機能があるのかがちゃんと分かるように書きました(書いたはず)。

Vue.jsというのは本来「UIを宣言的に記述する」というパラダイムを、Reactよりさらに広いターゲット層(サーバーサイドエンジニアやポートフォリオが作りたいデザイナー、jQueryを倒したいレガシー環境の開発者等様々)が扱えるようになるライブラリという側面があるはずで、本質的には宣言的UIの民主化が目標のライブラリだと勝手に思っています。その本質がVueのコアシステムを形作っていて、表層のAPIにもあらわれています。Vue3で登場したComposition APIは、その面ではあまりVueらしくはないですが、コアがぶれていないためVueらしさは保たれていると個人的には思っています、多分。

よくReactを使っている方に、Vueって〇〇だからなぁ好きじゃないんだよなぁと言われたりしますが、それはVueが別の人を助けるために進化している証なので大目に見ていただきたいです。VueはVueっぽいことやってんなくらいの温度感で見てるのが良いと思います。たまにVueのリアクティビティとReactのリアクティビティを比べてそういう理念がベースにあるんですねとなるのも一興です(自分はReactエアプですが)。

そんなVue.js 3のことをまあまあ知れる本ということで興味ある方はお手にとっていただけると幸いです。怖くてAmazonレビューは絶対に絶対に見ないので素直な感想をいただければと思います。また、本書で分からないことがあれば #vue3_beginners_guide でツイートしていただけるともしかすると著者が見に行くかもしれません。文句とかも見えちゃいますが頑張って見ます、多分。

というわけで初めての商業誌で本当に至らない点が多いかと思いますが、今後ともよろしくお願いいたします。出版まで支えてくださった皆様、ありがとうございました。

発売後のフィードバックと振り返り

ビギナー向けでないという厳しめのご意見を結構お寄せいただいています。確かに本書の最初では「HTMLやCSS、JavaScript等の基礎知識や、ある程度のフロントエンドの開発経験がある読者向け」としており、この定義の解釈次第で買ってみたは良いものの自分には難しかった、ということはあるなと反省しています。

Vue3の本、しかもComposition APIについて詳しく触れた本が現状少ないということで、その面を中心にしつつ初学者の体験として良いものはなんだろうと考えた結果、Chapter05にあるより高度なライブラリ開発というところに落ち着きました。

技術書のサンプル実装は作り切った後も活かしていけるものが良いという思いがあり、自分のコンポーネントライブラリを作ることができればその後、ポートフォリオやより大きなアプリケーション開発にも役立てられて便利かなという考えです。

一方で、Vue3ならではの体験としてTypeScriptとの併用は絶対に外せない部分であり、Composition APIの利用においてもほぼそのままの記述で恩恵が受けられるため、初心者であってもハードルは高くないだろうという目論見でしたが、実際は壁になってしまっているようで申し訳ないことをしたなと少し後悔しています。

Tailwind CSSを用いたのはちょっと蛇足だったかなと思いつつ、ある程度見た目を担保出来て、将来自分好みに拡張できる余地も持たせられるためUIコンポーネント作りにおいてマッチしているという判断で、選択自体は悪いものではなかったかなとも思います。ただ、これもハードルを上げていることは確かですね。

それでも良い本だったという感想をいただくこともあるのでやはり第一印象とのギャップが人によって激しそうな本になっている(期待値を満たせる or 大きく外すの二分)のがありそうです。フィードバックを受けてこの本が本当に向いていそうだと思うのは、

  • Vue2を触ったことがありVue3に関してはあまり追えていないフロントエンドエンジニア
  • Reactなど他フレームワークを触っているが、Vueに関しては軽い2系の知識で止まっているフロントエンドエンジニア
  • 宣言的なUIフレームワークを触ったことはないが現代のフロントエンドについてある程度知っているエンジニア

あたりなのかなと感じました。

最後に、本書を購入し満足のいく体験を得られなかったにも関わらず、素直なフィードバックをくれた方々に感謝を申し上げます(わざわざレビューをしていただけるということは尊いことだとわかりました)。そういった忌憚のない意見こそが次へ繋がるものだと思っています。また前向きなフィードバックをくれた方々、ありがとうございます。少しでも本書で楽しく開発でき、後につながるものを残せていることを願っています。