13
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

フロントエンドエンジニアAdvent Calendar 2016

Day 2

2016年も残り僅か!最低限知っておきたいフロントエンド技術

Posted at

2016年もあと残り少しですね。
今年も毎年恒例のようフロントエンド技術の移り変わりが激しかったと思います。
情報のキャッチアップ時間がない人、なにを学べかいいかわからない人のために、最低限知っておきたいフロントエンド技術をまとめました。
知っている技術もあるかと思いますが、知らない技術を見つける機会になればいいなと思います。

Sass

sass.jpg

Sassは既に定番になっていますが、まだまだ使っていない人が多いので紹介します。
SassとはCSSではできなかったことを実現することができます。
SassをCSSにコンパイルすることで、スタイルシートとして読み込むようになります。
少し進んだ時代にPostCSSもあるので、検索してみてください。

変数が扱える

スクリーンショット 2016-12-02 18.10.32.png

Sassは上記のようにCSSで変数を扱うことが可能です。
上記の方法をとることで、テキストの色が変わった際にも一箇所変更するだけでよくなります。

メディアクエリをまとめれる

スクリーンショット 2016-12-02 18.12.19.png

タブレットやPCスタイルの分岐点をまとめることができます。
一括管理することで、分岐点が変更された際の対応も楽になります。

ネストができる

スクリーンショット 2016-12-02 18.13.41.png

CSSでネストすることができます。こうすることで比較的見易いコードになります。
上記の画像では「&」を使用していますが、こうすることで親と文字列を繋げることができるので、BEMを使用した命名規則でかなりの効果を発揮します。

複数のファイルを1つのファイルにまとれる

スクリーンショット 2016-12-02 18.18.55.png

SassにはPartial機能というものがあります、分割したファイルを1つのCSSにまとめることが可能なので、1つ1つのファイルの可読性があげることができます。
後ほど説明するCSS設計では欠かせない機能になります。

gulp

スクリーンショット 2016-12-02 18.22.49.png

フロントエンド開発に関する面倒なこと自動化してくれるタスクランナーと呼ばれるツールです。
過去にはGruntがありましたが、ここ数年はgulpが主流となってきている傾向にあります。

基本的には処理を書くときはJavaScriptになります。

自動化してくれる処理

  • Sassのコンパイル
  • JS,CSSの圧縮
  • ファイル変更の監視
  • ベンダープレフィックスの付与
  • ブラウザ画面のリロード  

上記の他にも様々な機能が2185個のプラグインで提供されているので、下記を参考にいろいろ試してみると良いと思います。
gulpプラグイン一覧

Flexbox

CSS3から登場したレイアウトモジュールです。
floatを使用した複数カラムの実装が多かったのですが、Flexboxは比較的わかりやすく実装ができるので、最近多くのところで紹介されているのを見かけます。

以前私が書いたがあるので、こちらを参考にして頂ければ大まかな実装方法は掴めると思います。
CSSのfloatを使わずに、Flexboxを使用してwebサイトを作った話

CSS設計(FLOCSS)

CSSは非常に脆く壊れやすいものです。この状況を改善する為に、命名規則やディレクトリ管理などに厳格なルールを設けて、チーム開発や大規模開発におけるスタイルの崩壊を防ぐのがCSS設計となります。
SMACSSOOCSSなどCSS設計にも複数種類があります。この中から私はFLOCSSを使用しているので、FLOCSSを用いたCSS設計をお伝えします。

FLOCSSとは?

日本の方が考案したCSS設計になります。多くのCSS設計を元に考案され、ドキュメントも日本語の為、日本の方には馴染みやすいCSS設計かと思います。
命名規則には、MindBEMdingを採用しています。

FLOCSSのディレクトリ管理

FLOCSS下記のようなディレクト管理をルールとして設けています。

  • Foundation
  • Layout
  • Object
    • Component
    • Project
    • Utility

上記のディレクトリの関係はFLOCSSのgithubページに詳しく記載されているので、実践してみるといいでしょう。

最後に

今回紹介した技術は多くのフロントエンド技術の氷山の一角のようなものです。
今後上記の技術が廃れる可能性も0%ではありません。
日々のフロントエンド技術情報をキャッチアップし、自分に必要な技術を見つけて、この移り変わりが激しい現状を楽しみましょう!

13
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?