|
| 1 | +# おわりに |
| 2 | + |
| 3 | +これにてAstroハンズオンは完全に終了です!これでAstroの基本的な記述方法が分かったかと思います。 |
| 4 | + |
| 5 | +最後にAstroに限らないフロントエンド全般の話をして終わろうと思います。 |
| 6 | + |
| 7 | +## フロントエンドはなぜ難しいのか? |
| 8 | + |
| 9 | +Astroを触ってみて難しいと感じた人も多かったと思います。HTML・CSSだけの知識に留まらず、JavaScript/TypeScript、更にはNode.jsやJSXの知識も求められ、いきなり始める人には敷居が高いものであるのは事実だと思います。 |
| 10 | + |
| 11 | +実際、フロントエンドエンジニアと呼ばれる人達はこれ以外にも以下のような知識を身につけることを求められています。 |
| 12 | + |
| 13 | +- **ブラウザの違い** |
| 14 | + - 現在主要なブラウザにChrome、Firefox、Safariがある。これら全てのブラウザで正しく同じ動作を行えるか? |
| 15 | +- **セキュリティ** |
| 16 | + - Webサイトを構築する上でセキュリティ的な問題(XSS)などを回避できているか? |
| 17 | + - 認証サービスの認証・認可を正しく行えるか? |
| 18 | +- **パフォーマンス最適化** |
| 19 | + - 画像の圧縮、コードのMinify、キャッシュなどを上手く扱えるか? |
| 20 | +- **SEO** |
| 21 | + - 検索エンジンにクロールされるよう、metaタグやOGPの設定を行っているか? |
| 22 | +- **レスポンシブデザイン** |
| 23 | + - スマートフォンとPC、双方にとって最適なデザインを作れているか? |
| 24 | +- **アクセシビリティ** |
| 25 | + - imgのaltなど、Webサイトで必要となるアクセシビリティをきちんと実現できているか? |
| 26 | +- **テスト** |
| 27 | + - テストコードをきちんと書けているか? |
| 28 | + - UIは複雑だが、それを見越したテスト戦略を実現できているか? |
| 29 | +- **CI/CDツールの扱い** |
| 30 | + - GitHub Actionsなどを正しく扱えるか? |
| 31 | +- **インフラツールの扱い** |
| 32 | + - AWSやGoogle Cloudなどにデプロイできるか? |
| 33 | + - DockerやKubernatesなどのコンテナ管理ツールを扱えるか? |
| 34 | + |
| 35 | +なぜフロントエンドはここまで複雑な領域となったのでしょうか?1つ言えることは、フロントエンドは移り変わりがあまりにも激しいことでしょう。 |
| 36 | + |
| 37 | +10年前くらいなら、Webサービスの多くは[Ruby on Rails](https://rubyonrails.org)のようなフレームワークに[jQuery](https://jquery.com)を書けばそれで済んでいたかもしれません。 |
| 38 | + |
| 39 | +しかし、Webサービス上でなんでもやる需要が増え続け、メンテナンスが行き届かなくなるのを避けるためにやがて[Angular](https://angular.dev)が生まれました。でも、今では[React](https://ja.react.dev)のほうが優勢です。そのReactですら、[最新のアーキテクチャは議論を呼んでいます](https://www.docswell.com/s/ashphy/KM1NQ6-you-dont-need-nextjs)[^1]。 |
| 40 | + |
| 41 | +[^1]: これは2024年2月に行われた講演のスライドですが、これですらもう古い情報です。スライドに出てくるNext.jsはv15でキャッシュを見直し、Remixはreact-routerというライブラリにマージされました。 |
| 42 | + |
| 43 | +## フロントエンドでどう生きるか |
| 44 | + |
| 45 | +では、こんな激しい領域でどのように生き残っていけばよいでしょうか。私は **技術の本質をつかむ** のが大切であると考えます。 |
| 46 | + |
| 47 | +あと、これから5年くらいは持ちそうなものを探すのも大切です。個人的な見解としては |
| 48 | + |
| 49 | +- HTML、CSS、JavaScript |
| 50 | + - 絶対なくならない |
| 51 | +- TypeScript |
| 52 | + - 恐らくこれも大丈夫。Microsoftが開発やってるし、周りのライブラリも皆TypeScriptで書いてるし |
| 53 | +- JSX |
| 54 | + - これも長生きしそう。フロントエンド向けに書く記法はいっぱいあるけど、足りない部分をJavaScriptで補えるのが良い |
| 55 | + - Reactもなんだかんだ使われそう。React Nativeとかもあるし |
| 56 | + |
| 57 | +あたりでしょうか。これを学べるという点で、Astroはよくできると思います。 |
0 commit comments