概要
本書は,日本国内で爆発的な人気を誇るVue.jsの最新ノウハウ・アイデアを1つにまとめた新しい「Vue本」です。アプリケーション開発のためのルーティング・レンダリングから,CSS設計,状態管理,コンポーネント開発,パフォーマンス改善まで,Vue.jsをプロジェクトで使用するうえのさまざまな開発上の観点をまとめつつ,現場のエンジニアによる解決方法をまとめています。
さらに,Vue.jsコアチームメンバーでもある川口和也(@kazu_pon)氏のインタビューを収録。川口氏が開発するVue18nや,企業に所属しながらのOSS活動についてもたっぷりと語っていただきました。Vue.jsエンジニア必携の1冊です。
こんな方におすすめ
著者から一言
本書は,日頃からVue.jsを使用してWebアプリケーションを開発している,エンジニアやデザイナーによって書かれています。著者らがサービス開発の際にたどってきたさまざまな経験やアイデアをまとめています。
本書は,Vue.jsを使用したアプリケーション開発についての本ですが,Vue.jsの入門書ではありません。また,この方法が正解である,といったことを示すものでもありません。当然,Vue.js自体が最良の選択肢とも限りません。この本に書かれていることをそのまま真似してもうまくいかないこともあるでしょう。サービス開発は,事業や組織,プロジェクトの状況に依存し,特定のプロジェクトの事例を直接当てはめてもうまくいかないことが多々あるからです。さまざまな選択肢のなかから優先順位をつけ,状況に応じて適切に取捨選択をしていかなければならないため,最適な方法はそのプロジェクトの状況に応じて異なる,と言わざるを得ません。しかし,問題にぶつかったり,迷ったりしたときの1つの考え方のヒントになることがあるかもしれません。アプリケーション開発に取り組むエンジニアやデザイナーの皆様に,少しでも本書がお役に立てば幸いです。
Vue.jsはいまや日本国内において爆発的な人気を誇り,フロントエンド開発をおこなう際のフレームワーク選定の選択肢として,ReactやAngularJSなどと共に挙げられるようになってきました。Vue.jsが日本においてここまで多く使用されるようになったのは,ドキュメントが日本語に翻訳されていることや,コミュニティ活動が活発であることなど,さまざまな理由が挙げられると思います。しかし,コミュニティ活動や技術ブログ,書籍等で多くの事例が公開されている一方で,サービスの開発開始フェーズから大規模化に至るまで,また,開発組織によるさまざまな試行錯誤についてまとめたものはあまり見かけません。そこで本書では,それらについてまとめる試みをおこないました。
著者らが所属する株式会社プレイドでは,「KARTE」というSaaSを開発していますが,Vue.jsが0.x系の2014年からその管理画面の開発にVue.jsを使い続けています。開発の初期段階からサービスが大規模化する今日に至るまで,理想の状態を目指してトライアンドエラーを重ねてきました。
近年,フロントエンド開発技術は目まぐるしい発展をとげ,さまざまな用語が飛び交っています。しかしながら,世の中で流行っている技術があるからといって,必ずしも自分たちの目的や状況に合ったものであるとは限らず,我々も最新技術を闇雲に導入していくことはしていません。それらの選定の際に,プロダクトの開発フェーズがどういった状況か,チームがどういった状況か,今後の採用計画はどうなのか,また,そもそもどういった事業進捗を目指すのか,などによって結果が異なるでしょう。つまり,それぞれのエンジニアが事業からブレークダウンして仮説を立て,検証して良いものを残していくという態度が必要だと考えています。
世の中にはベストプラクティスがさまざまな形で共有されています。新しいツールや開発手法も次々と生み出されており,日々便利になっています。しかし,プロジェクトの規模感や特性,状況に応じて,それらを導入すべきか否かは適切に判断しなければなりません。プロジェクトが小さな時にはある手法を使わずに開発したほうが効率が良くても,大規模化が進むにつれてその手法の導入を検討すべきタイミングが来るということもあります。弊社のプロジェクトも,小さなものが徐々に大きくなっていくにつれて,さまざまな問題にぶつかってきました。しかしながら,実際にその問題にぶつかる前にすべてをきれいに整備しておくべきであったかというと,そうとも限りません。それよりも,何か問題があったときにすばやく実装を変えられる状態を保つほうが,プロジェクトとしては健全かもしれません。ましてや,ビジネス的な観点でも不確実性が高いスタートアップなどではなおさらです。
本書では,Vue.jsをプロジェクトで使用するうえでのさまざまなフェーズにおける「開発上の観点」について紹介しつつ,それに対する「アイデア」を紹介します。それらの観点やアイデアが,ひとつでもプロジェクトをより良い方向に促進するお役に立てば幸いです。
(「はじめに」より)