Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2022年度新卒技術研修「フロントエンド」講義
Search
excitejp
PRO
June 15, 2022
Technology
0
1.2k
2022年度新卒技術研修「フロントエンド」講義
フロントエンド技術の変遷に関する講義です。
- フロントエンド技術の変遷
- フロントエンドのフレームワーク
- ECMAScriptについて
excitejp
PRO
June 15, 2022
Tweet
Share
More Decks by excitejp
See All by excitejp
エキサイトホールディングス株式会社 - 会社説明 -
excitejp
PRO
0
7.2k
あつまれ!toBプロダクトの沼
excitejp
PRO
1
1.2k
excite_techcon2023__RDS_performance_insightと実行計画 との付き合い方__DBとINDEXを学ぼう
excitejp
PRO
3
1.1k
え?!デザイナーが一人になることってあるんですか?!
excitejp
PRO
1
280
KUROTEN紹介資料_202302
excitejp
PRO
0
160
【エンジニア向け】エキサイト株式会社SaaS事業部紹介資料
excitejp
PRO
0
2.2k
2022年度新卒技術研修「良いコードの書き方」講義
excitejp
PRO
0
1.2k
2022年度新卒技術研修「DNS」講義
excitejp
PRO
1
1.4k
2022年度新卒技術研修「エンジニアマインド」講義
excitejp
PRO
0
1.3k
Other Decks in Technology
See All in Technology
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
260
ハイテク休憩
sat
PRO
2
160
.NET 9 のパフォーマンス改善
nenonaninu
0
1k
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
490
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
180
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
170
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
UI State設計とテスト方針
rmakiyama
2
620
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
310
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
110
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
270
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
The Cult of Friendly URLs
andyhume
78
6.1k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Bash Introduction
62gerente
608
210k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
4 Signs Your Business is Dying
shpigford
181
21k
The Language of Interfaces
destraynor
154
24k
The World Runs on Bad Software
bkeepers
PRO
65
11k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
How GitHub (no longer) Works
holman
311
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Transcript
フロントエンド フロントエンドの変遷から今どきまで iXIT 堀
はじめまして!iXITの堀です。 自己紹介 これまでサーバーサイド(C言語、Perl、ASPな ど)→インフラ&社内ヘルプデスク→フロントエン ドを経験。 最近はPM業をメインとしているためフロントエン ドの現場からは離れてしまっていますが、本日はフ ロントエンドの楽しさを知ってもらえればと思いま す。
01 フロントエンド技術の変遷 02 フロントエンドのフレームワーク 本日の内容 トピック 03 ECMAScriptについて
Web黎明期 1990年前半 IEとNetscapeによる第1次ブ ラウザ戦争。 静的にHTMLファイルを配 信するだけ。 フロントエンドエンジニア と言う区分けすらなかっ た。 動的HTML生成
1990年中盤 CGI, JavaServletなどクラ イアントからのリクエスト の内容をサーバが解釈しサ ーバ側でHTMLを作成しク ライアントに返す手法が流 行った。 DHTML 1990年後半 動的でインタラクティブな 表現が追加できることで話 題になったが当時のJS仕 様が貧弱だった上、ブラウ ザ間での差があった。 Ajax 2005年 非同期でサーバからデー タを取得する技術 フロントエンド技術の変遷 Firefox誕生 2004年 第2次ブラウザ戦争到来
jQuery登場 2006年 Ajaxの普及を後押し。 ブラウザ間の非互換性を ほとんど気にすること無 く簡潔なコードでDOM操 作、Ajax通信を可能とし た。 Chrome誕生 2008年
ブラウザ戦争が更に熾烈に Node.js登場 2009年 JSでサーバサイドを動か すことが出来ると話題に。 同時期にAngularJSも登場 しフロントエンド界隈がに ぎやかに。 React、Vue.js登場 2013年 Reactは旧Facebook社から 発表され、Virtual DOMとい う新しいレンダリング機能 が話題となり一気に普及し た。 遅れること9ヶ月、Vue.jsが 登場。 フロントエンド技術の変遷 npm登場 2010年 Node.jsにパッケージマ ネージャとして同梱され た。 モジュールを公開してシ ェアして再利用する文化 が定着し、JavaScriptプ ログラムの開発効率や品 質がかなり向上した。
旧Facebookが中心となって開発したJavaScriptのフレームワ ーク(Viewライブラリーと言われることもある) コンポーネントベースと呼ばれる考え方が取り入れられてい て、コンポーネントに分解(部品化)して管理できるようにな っている JSX記法(JSの中にHTMLタグを記載していく)による実装 CSS-in-JSやCSSフレームワークを利用してコーディング 処理が高速だがオブジェクトが増えるとCPUとメモリ消費も上 がる TypeScriptと相性が良い
【概要】 【特徴】 React フレームワーク について〜React編~ Reactを使ったアプリケーションフレームワーク。 サーバ機能を保持しているため、Webアプリケーションを実 施しやすい(Reactだけでは別途サーバモジュールを追加する 必要がある) アプリケーションの状態を保持できる ルーティングを自動生成出来る 【概要】 【特徴】 Next.js
JavaScriptのフレームワーク。 Javasciptに近い書き方が採用されているため導入ハードルが低 い。 props, emitなどを利用してデータ同期の機能が用意されている 公式で紹介されているライブラリーが多く拡張性が高い 「.vue」ファイル内にHTML, CSS, JSを記載する scoped属性を持つ<style>タグを利用して限定的なコンポーネン
トにスタイルが適用される 処理は高速でオブジェクト数が増えてもメモリ消費量は極端に は増えないが処理速度がReactより若干遅くなる Vue3でTypeScriptがサポートされた 【概要】 【特徴】 Vue.js Reactを使ったアプリケーションフレームワーク。 サーバ機能を保持しているため、Webアプリケーションを実 施しやすい(Reactだけでは別途サーバモジュールを追加する 必要がある) アプリケーションの状態を保持できる ルーティングを自動生成出来る 【概要】 【特徴】 Nuxt.js フレームワーク について〜Vue編~
高速で動作するビルドツール Vue.js, Reactのビルドもサポート 簡単に開発環境を構築することが可能(Vue3 x VITEは1行で完 了) ※Node.jsはver.12以降が必要 高速なHMR(Hot Module
Replacement) Vue CLIより高速 【概要】 【特徴】 VITE(ヴィート) フレームワーク について〜VITE編~ npm init vite@latest 開発環境の構築 yarn create vite または 実際に作ってみましょう!
ECMAScript JSの標準化を行う際に基本部分の仕様を定めたのがECMAScript です。 JSはECMAScriptの仕様に則って開発されています。 ECMAScriptは改定が行われるたびにバージョンが新しくなりま すが、JSにバージョンはありません。 Javascriptとの違い(以下JSと省略) ECMAScriptのバージョン(直近のもののみ)
ECMAScript 1997年の初版から改定を続けているECMAScriptですが、2015年 のES2015で大きな変更がありました。 一部抜粋して紹介します。 ES2015 ES2015以前はvarによる変数宣言のみでした。 スコープがグローバルで再代入可能なのでバグが多発する恐れがあった。 •変数宣言(let, const) ES2015以前はfunctionで記載。
アロー関数が導入され、=>で関数宣言が行えるようになった。 •アロー関数 Promiseは非同期処理を扱うオブジェクト。ES2015以前より使われていた コールバックより簡潔かつ明瞭に非同期処理が出来るようなった。 ES2017で追加されたsync/awaitはPromiseを使った非同期処理に対して新 しい構文。 現在はasync/awaitの方が主流となっている。 •非同期処理(Promis, async/await)
参考URL QiitaやCodepenなどを活用しよう! https://qiita.com/tags/react https://qiita.com/tags/vue.js https://zenn.dev/ https://risingstars.js.org/2021/ja Qiitaをはじめ多くの技術情報がWebに載っているので 活用しよう! https://codepen.io/ https://jsfiddle.net/
https://ja.reactjs.org/tutorial/tutorial.html https://v3.ja.vuejs.org/guide/introduction.html CodepenやJSFiddleを利用してコードを書いてみよ う!