· 3分で読了
フロントエンドはCSを学ぶべきか?
# フロントエンド この記事は中国語から自動翻訳されたものです。翻訳によりニュアンスが失われている場合があります。
このテーマについては長い間議論されてきましたので、自分の考えを簡単に記録しておきます。
昔、HTMLとCSSだけの時代には、せいぜいjQueryを加える程度で、静的なウェブページをFTPにアップロードするだけで、エキスパートと呼ばれることができました。
ブラウザができることが増えていく中で、フロントエンドがカバーする範囲も広がってきました。「フロントエンド」という言葉だけでも、複数の分野に分かれるかもしれません:
- UI:ユーザー体験を重視し、APIの状態管理、データ処理、ユーザー体験、a11y、適切なアニメーションのインタラクションを含みます。
- マルチメディア:音声や映像、ライブストリーミングに重きを置いたサービス。UIへの理解だけでなく、マルチメディアの背後にあるデコードや伝送についての基本的な知識も必要です。
- データフロー / フロントエンドエンジニアリング:ツールフレームワークのマスター、ビジネスニーズやドメイン知識への理解が求められます。
- データビジュアライゼーション / ストーリーテリング:Chart LibraryやD3に精通していることに加え、ブラウザのグラフ表示の限界を理解し、Canvas、SVG、WebGLの使用タイミングを知る必要があります。また、ストーリーテリングのスキルも必要で、派手なグラフを作ってもユーザーが興味を示さないことのないようにする必要があります。
- アーキテクチャ:フロントエンドのデプロイ、ロギング、基盤フレームワーク、規範、API管理、状態管理など、経験だけでなく一定のCS知識も必要です。
- ゲーム:ゲームを通じて物語を語ることや単純にエンターテインメントとして楽しむことを含み、ゲーム理論に関わり、一般的な開発手法とは異なります。
- コンセプトフロー:Vue、React、Svelteなど、コンセプト(コンポーネント、仮想DOM)から直接アプローチし、開発者のフロントエンドに対するイメージを根本から変えます。
CSの背景を持つ開発者が作るUIは、CSの背景がないフロントエンドエンジニアよりも劣る場合があります。アルゴリズムを学ぶよりも、a11yやUIについて深く研究することがこの社会にとってより役立つかもしれません。
すべての分野で専門性を持つ人は少なく、基本的に全てに精通しているなら、フロントエンドとは言わず、Software Engineerと名乗ることになるでしょう。このような人に出会うのは難しく、全員がスキルツリーを満たした達人になる必要はありません。
以上の観点から見ると、企業の条件やニーズを考慮せずに、ただアルゴリズムやCSの背景を強調するのはナンセンスです。多くの場合、それは採用の心態の怠惰に過ぎません。
結局のところ、重要なのはあなたの目標と、あなたがなりたい人です。
関連記事
- 超リンクの下線をもっときれいに見せる:text-underline-offsetデフォルトでは下線が文字にかなり近く、こういう見た目を好まないデザイナーもいる。僕自身も、あまりきれいだとは思っていない。
- なぜウェブは Pixel Perfect を追求すべきではないのかPixel Perfect が本当に重要なときだけそれを気にすべきであり、そうでなければ往々にして双方にとって損な結果になる。
- CSS の HSL で色を書こう!(そしてより良い方法)Web開発において、従来の HEX や RGB の色表現は広く使われているものの、読みやすさや直感性に欠ける問題があり、P3 のような広色域では表現力にも限界がある。HSL(色相、彩度、明度)は、より直感的に色を定義できる方法であり、開発者が色を理解し調整しやすくしてくれる。HSL は色相・彩度・明度の3つの軸で色を表すため、特にデザインシステムにおいて、カラーパレットの明度変化をより自然に扱える。
- line-heightを1およびellipsisを設定しないようにしたい本文では、なぜウェブデザインにおいて line-height を 1 に設定することが推奨されないのか、また ellipsis を使用する際に直面する言語の問題について探ります。