ウェブ業界の当たり前だと思っていることでも、他社の人には違う常識があるかもしれません。自分が業界多数の傾向と違うところはどこなのか・・・、この連載ではアンケートデータから国内のウェブ業界の傾向を分析します。
連載7回目となる本記事では「ウェブ業界で、2010年代から変化したもの」をテーマとしてアンケート結果を紹介します。
floatプロパティーは現役?
float
プロパティーは、CSSレイアウトのために2000年代中頃からテーブルレイアウトに代わって使われてきました。FlexboxやCSS Gridなど、他にレイアウト手法が存在する現在において、float
プロパティーはどれほど使われているのでしょうか。
1829票の回答があり「とてもよく使う」が5.7%、「たまに使う」が19.8%、「ほとんど使わない」が69%、「floatを知らない」が5.5%でした。
現在はfloat
プロパティーを使う場面が少なくなったようです。これには回り込みを必要とするデザインが少なくなったことも背景にありそうです。今後は、float
プロパティーを知らない駆け出しエンジニアの方々が増えていくかもしれませんね。
疑似要素。コロンはいくつで記述していますか?
CSSの疑似要素は単一コロン「:
」で利用できますが、正しくは二重コロン「::
」です。コロンの違いで、疑似クラスと疑似要素を区別します。使い分けされているのか質問しました。
1303票の回答があり「単一コロン」が36.2%、「二重コロン」が58.7%、「疑似要素を使わない」が5.1%でした。
疑似要素の単一コロンは昔からの書き方であり(IE8以前は単一コロンだった)、CSSコーダーの世代をみるリトマス試験紙みたいなものかもしれません。似たような話で、疑似要素とセットでcontent: " "
と空白文字をいれるテクニックもかつては存在しました。過去互換を大事にするウェブでは単一コロンでも支障はないものの、区別して記述するほうが良さそうです。
CSSクラスって省略しますか?
CSSクラスの命名で、title
をttl
と省略するか質問しました。
3337票の回答があり「title派」が84.3%、「ttl派」が15.7%でした。ttl
はDNS等のTTL(Time To Live)など別の用語もあり、まぎらわしいのではないかとの否定的なコメントもありました。
対して、button
をbtn
と省略するか質問しました。
1815票の回答があり「button派」が41.5%、「btn派」が58.5%でした。
興味深いことに、ttl
はダメで、btn
は受けいれられているようです。クラス名や変数名は担当者の癖や制作会社の文化みたいなところはありますが、チームで共同作業をするときには命名規則を示しておいたほうがよいでしょう。
HTML要素をどうやって非表示にしますか?
HTMLで要素を非表示にするとき、どの方式を使うことが多いか質問しました。
1303票の回答があり「display: none」が84.9%、「visibility: hidden」が5.2%、「hidden属性」が4.5%、「HTML要素をDOMツリーから外す」が5.4%でした。
hidden
属性はHTML5から登場した属性で、要素の非表示についてセマンティックな情報を与えられます。ですが、hidden
属性は利用されることが少なく、従来の手法であるCSSのdisplay: none
が今も主流のようです。
CSS Transitionで個別に指定しますか?
CSSのtransition
はウェブページのモーション実装に利用できるプロパティーです。CSS Transitionの対象プロパティーを細かく指定するか質問しました。
1303票の回答があり「transition-property: width」が6.5%、「transition: width 1s;」が42.2%、「transition: all 1s;」が29%、「transition: 1s;」が22.3%でした。all
や未指定だとコードが短くなりますが、意図せぬモーションが適用される可能性があり、個別指定をしている方が多いようです。
will-change
プロパティーをあわせて使うと、性能面で利点を受けられることがあります。CSS Transitionでwill-change
プロパティーも一緒に設定しているか質問しました。
381票の回答があり「毎回設定している」が2.4%、「必要なときだけ設定している」が24.1%、「設定しない」が19.9%、「will-changeって何?」が53.5%でした。will-change
プロパティーの効果は記事『will-changeで目指す60fpsのぬるぬるCSSアニメーション - Qiita』を参照ください。
JSでのクォーテーションはシングルとダブルのどちらが主流か?
JavaScriptで文字列を記述する際に、シングルクォーテーションかダブルクォーテーションのどちらを使うのか質問しました。
736票の回答があり「シングルクォーテーション」が58.3%、「ダブルクォーテーション」が32.2%、「常にバッククオート」が3.4%、「こだわりがない」が6.1%でした。
JavaScriptにHTMLを書いたときに、取り込みやすいといった利点をコメントされている方もいました(HTMLの属性はダブルクォーテーション)。シングルクォーテーションの傾向は5年前にアンケートをしたときと傾向は変化していないようです。
非同期通信の方法は?
JavaScriptには非同期通信を行うための標準機能やJSライブラリがたくさんあります。どの手段で非同期通信を行うことが多いか質問しました。
835票の回答があり「fetch」が23.8%、「axios」が40.6%、「XMLHttpRequest」が3.8%、「jQuery」が31.7%でした。
window.fetch()
はJSライブラリの導入の手間なく使えることが利点ですが、IE11非対応などの事情もあり主流ではなさそうです。JSライブラリのaxiosはIE11に対応していたり、通信処理の中断・プログレス情報の取得など多機能です。なお、標準機能のXMLHttpRequest
を直接利用している方は少ないようですが、JSライブラリaxiosやjQueryの中身はXMLHttpRequest
が利用されています。
XMLは今も使う?
データ通信の形式としてXMLがどのぐらい使われているのか質問しました。かつては「AJAX」(Asynchronous JavaScript + XML)の名前につかわれるほど、XMLは非同期通信の代表的な存在でした。
563票の回答があり「XMLをよく使う」が2%、「たまに使う」が14.6%、「使わない」が68.6%、「XMLってなに?」が14.9%でした。
今もSVGや、サイトマップXMLやRSSフィードのためにXMLを使う機会が多いと思いますが、データ通信の形式としてはあまり使われなくなってしまったようです。古くから存在するWEB APIではXMLが使われている傾向があるとコメントも寄せられました。
iPhoneやiPadの設定で、「視差効果を減らす」を使っていますか?
iPhoneやiPadの設定で、モーションを減らす機能を使っているか質問しました。
736票の回答があり「使っている」が27.3%、「使っていない」が44.7%、「そんな機能は知らない」が28.3%でした。記事『ウェブサイトに演出は不要!? ユーザー設定にレスポンシブ対応できる新しいCSS』で紹介したように、モーション設定を無効にしているユーザーに対して、ユーザビリティーの改善としてCSSでケアできます。
エディターはどれが多い?
エディターの傾向について質問しました。
619票の回答があり「サクラエディタ」が5%、「秀丸エディタ」が2.4%、「Visual Studio Code」が88.2%、「Atom」が4.4%でした。
このアンケートは記事『ITエンジニアの理想の開発環境に関するツール・サービス調査|パーソルキャリア株式会社』の結果に疑問をもってのアンケートでした。パーソルキャリアのアンケートでは「サクラエディタ」と「秀丸エディタ」をあわせて6割弱となっていますが、ウェブ業界とは主流なエディターが異なっているのは興味深いですね。
まとめ
かつてフロントエンドの技術変化が早いといわれていましたが、JSフレームワークの隆盛も落ち着きここ数年で緩やかになりました。今後はInternet Expoloere 11がサポート終了になることで、HTMLやCSSの書き方に変化が訪れることでしょう。
このようなアンケートは今後も実施していく予定です。興味があれば筆者のTwitterアカウントをフォローいただければ幸いです。今回のアンケート実施にあたり、回答やシェアを多数いただきました。ご協力いただいたことに感謝を申し上げます。
前回の記事では「Sassのコンパイルエンジン(dart-sassかnode-sassか)」や「HTMLのテンプレートエンジンはどれが多いか」をまとめています。
- 第1回:業務時間やコードの書き方、Web技術について
- 第2回:学習方法、h1やCDNの使い分け、労働時間
- 第3回:HTMLコーディング
- 第4回:CSSコーダーにとっての2018年のコーディング事情
- 第5回:フロントエンドエンジニアにとっての2019年
- 第6回:HTMLコーダーにとっての2020年
※アンケート回答者の属性は、以前の記事の『回答者の属性/アンケート実施者について』を参照ください。