SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社 新刊紹介(AD)

つまみ食いが横行するCSSを正しく理解する――『はじめてのCSS設計』著者インタビュー

  • このエントリーをはてなブックマークに追加

 手軽で自由度の高いCSS、しかし、それゆえにチーム開発や中~大規模プロジェクトで思わぬ「事件」が起きるのもCSSです。翔泳社が3月13日に刊行した『はじめてのCSS設計』の著者の一人、田辺丈士(アイ・エム・ジェイ)さんは「CSSのつまみ食い」が横行していると危惧。CSSをきちんと設計するための本書についてうかがいました。

  • このエントリーをはてなブックマークに追加

最初は大丈夫でものちのち大変なことになる

――『はじめてのCSS設計 フロントエンドエンジニアが教えるメンテナブルなCSS設計手法』は、CSSをかじったことがあってもゼロからは設計したことのない方のための解説書です。田辺さん始め著者陣の経験が詰め込まれた1冊だと思いますが、最初に田辺さんの経歴を教えてください。

田辺:僕は元々営業をやっていたんですが、Web 2.0と騒がれていたときに勉強し始め、海外でWebデザインの仕事をするようになりました。テーブルレイアウトだったものがフルCSSでいける。そう言われるようになってきたCSS全盛期に帰国し、Webデザイナーとして就職したんです。

 本書では「PART-1 CSS設計」という基礎的な部分を担当しています。CSSがどうしてこんなにシンプルなのか、シンプルゆえに問題が起きやすいといったことを書いています。

 個人や小規模プロジェクトだと設計を意識することはないかもしれませんが、中規模以上、もちろんチーム開発だとそうはいきません。複数人で開発するのであれば、設計は必ず必要になることです。

――チーム開発の場合は規模に関わらず「設計」が欠かせないのでしょうか。

田辺:基本的に一人だけで手がける案件はほとんどないかとは思います。エンジニアが自分だけの場合でも、ディレクターなど他の職種のメンバーが関わる案件もありますよね。エンジニアに頼むほどのことでもない修正をディレクターがやってしまうこともあるので、そういうときにルールが明記されていると事故が起きにくいはずです。

――田辺さんも事件・事故を経験されたことがありますか?

田辺:過去に遭遇したのは、CSSにあまり詳しくなくても使えるフレームワークである「Bootstrap」に関する事件がありました。ある人が納期の短いプロジェクトをBootstrapで乗りきろうとしたのですが、しっかり理解せずに組み込んだため、オリジナルのコンポーネントを追加しようとしたとき、全然うまく表示できなくなってしまったんです。結局はBootstrapをすべて外して、ゼロから設計し直しました。

 この事件の原因はCSSのフレームワークをルールや設計思想を理解しないで使ったことにあります。もちろんBootstrapに限らずですが、設計を怠ると、最初は大丈夫でものちのち大変なことになってしまいます。

 そうならないためには、あとからでも編集したり他人が理解したりしやすいかどうかを考えることが大事ですね。

田辺丈士さん
田辺丈士さん:アイ・エム・ジェイ テクニカルディレクター

CSSはなくならない

――想定している読者はどういう方ですか?

田辺:Webデザイナーはもちろん、Webアプリを手がけていてフロントエンドは得意でない方、これからフロントエンドでキャリアを築いていきたいマークアップエンジニアなどですね。特にWebアプリは盛り上がっていますから、Webアプリ開発に携わるエンジニアにとってCSSの知識は損がないと思います。

 最近はネット上に情報が溢れていて、フレームワークや設計方法に関する情報も自由に手軽に手に入ります。それをつまみ食いしていけばCSSは間に合うかもしれませんが、ゼロから作ってみることで気づくことも多いでしょう。実際に設計すると、意外と難しいことがわかります。

 自分がこれまでなんとなく使い回してきたコードやフレームワークの構造、そして設計の流れがわかるようになるはずです。

――たしかに、つまみ食いはできてもゼロから設計したことのある方は多くないかもしれません。その意味では、少し知識のある方だと読み進めるのにちょうどいいのかなと思いました。

田辺:最初にCSSの基礎を説明していますが、多少は知っているほうが読みやすいのは間違いありません。Gulp.jsやSassを触ったことがあると、なお理解しやすいと思います。『HTML5/CSS3モダンコーディング』と合わせて読むといいかもしれませんね。

――今後、CSSの需要はどうなっていくとお考えでしょうか。

田辺:フロントエンドではJavaScriptが花形になっています。CSSはプログラミング言語としては貧弱で、メインストリームに躍り出ることはないかもしれません。ですが、絶対になくなりはしません。そんな存在をフレームワークに頼りっきりにするのは変な話です。一度、きちんと勉強しても悪くはないでしょう。

つまみ食いで事故を起こさないために

――では、本書の狙いを教えてください。

田辺CSSはつまみ食いが横行しています。言語の本質を理解しないで、表面的にいじっただけででき上がっているものが多いという印象を持っています。時代の流れもあり、なるべく素早く世に送り出すのが今の主流なので、それはそれで仕方ありません。

 ですが、本質に立ち返って、CSSやそのフレームワークがどういった考え方でできているのか、どう設計すれば効率的かを知っていただけるといいなとも思っています。とはいえ、本書を通してCSSをゼロから設計する人を増やしたいわけではありません。

 本書で取り上げているOOCSS、SMACSS、BEMといった方法論を知っておくと、自分がしようとしていることの意味を正しく理解してコーディングできるようになるでしょう。

 小規模プロジェクト、たとえばLPしか作らないようなら、CSSについて深く知る必要はあまりありません。ただ、だんだんプロジェクトの規模が大きくなっていくことはありますし、自分一人で取り組む小規模の案件で本書の内容を試してみることはできると思います。

堅牢性と柔軟性のバランスを取る

――CSSを設計するうえで、大切なことはどんなことでしょうか。

田辺堅牢性と柔軟性のバランスです。堅すぎるルールだとどう編集すればいいのかわからず、次々にルールが追加されていく可能性があります。逆に、柔軟なルールでありすぎると誰でも改変できて崩れやすくなります。

 僕自身はそこに注意しつつ、案件、作業を引き継いだ人がやりやすいような状態にしておくことを意識しています。それぞれ考え方やスキルが異なるので、設計思想をはっきりさせておかないと引き継いだ瞬間にレイアウトが崩れる、といったことも起きかねません。

 また、本書では様々なツールも紹介していますが、これが正解というわけではありません。バージョンアップもありますし、そのとき最適で必要なものを利用してもらえればと思います。大事なことは、自動化や簡略化ができることはそうして、タスクを減らすことですね。CSS設計という、メインの作業に時間を割けなくなっては本末転倒です。

――最後に、読者にメッセージをいただけますか?

田辺:これからCSSをきちんと学びたい方には、本書は間違いなく役に立ちます。また、Javaなどを扱っている方でも、CSSの知識を持っておいたほうがいい場面もあるでしょう。CMSを開発していた方がCSSを壊してしまった、ということもありましたから。

 普段からCSSに慣れ親しんでいないエンジニアの方にとってCSSは厄介な曲者ですが、本書でCSSの成り立ちや、それゆえの設計があること、フレームワークの考え方を知ってもらえると嬉しいですね。そうすると、少しだけCSSに対して優しくなっていただけるのではないかと期待しています。

はじめてのCSS設計

Amazon SEshop その他


はじめてのCSS設計
フロントエンドエンジニアが教えるメンテナブルなCSS設計手法

著者:田辺丈士、大江遼、藤岡龍太、安光太郎、株式会社アイ・エム・ジェイ
発売日:2017年3月13日(月)
価格:2,894円(税込)

本書について

CSSの言語的な特性から、「SMACSS」や「BEM」といったCSS設計の 方法論、CSSプリプロセッサ「Sass」の導入、保守・運用までを考慮した破綻しないCSS設計を学べます。

 

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
翔泳社 新刊紹介連載記事一覧

もっと読む

この記事の著者

渡部 拓也(ワタナベ タクヤ)

 翔泳社マーケティング課。MarkeZine、CodeZine、EnterpriseZine、Biz/Zine、ほかにて翔泳社の本の紹介記事や著者インタビュー、たまにそれ以外も執筆しています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9996 2017/03/21 07:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング