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
What is Angular ?
Search
ponday
August 26, 2017
Programming
48
0
Share
What is Angular ?
第二回 合同勉強会 in 福岡(2017/08/26)の発表資料です。
ponday
August 26, 2017
More Decks by ponday
See All by ponday
関数型でGoFのデザインパターンやってみる
honda
1
1.6k
TypeScriptの型表現
honda
10
3.1k
Web Componentsの今
honda
1
470
これまでのReact、これからのReact
honda
0
340
Gatsbyお試し
honda
0
130
styled-components or emotion?
honda
0
720
Web ComponentsとAngular
honda
0
150
Atomic Design周りについての私見
honda
1
790
え、まだWeb Componentsを未来の技術だと思ってるの?
honda
2
880
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
400
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
0
240
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
210
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
0
110
書き換えて学ぶTemporal #fukts
pirosikick
2
380
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
0
200
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
620
「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First Steps in Vulnerability Response
mackey0225
2
130
20260514_its_the_context_window_stupid.pdf
heita
0
1k
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
150
Firefoxにコントリビューションして得られた学び
ken7253
2
160
cloudnative conference 2026 flyle
azihsoyn
1
190
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
390
Designing for Performance
lara
611
70k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
440
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
130
How GitHub (no longer) Works
holman
316
150k
The SEO Collaboration Effect
kristinabergwall1
1
450
How to Talk to Developers About Accessibility
jct
2
200
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Marketing to machines
jonoalderson
1
5.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Transcript
What is Angular ? 福岡合同勉強会 #2 / Aug 26, 2017
ponday(@ponday_dev)
Profile ponday (@ponday_dev) / 本田 裕介 - chibi-developer - ng-fukuoka
オーガナイザ community - Angular, Vue.js - Kotlin, Java, C# etc... - JavaScript skill
始めに質問
Angular使ってますか?
(多分ReactとかVue.jsのほうが多いんだろうなぁ...)
Angularのご紹介
What is Angular? ・Googleとコミュニティが協力して開発 ・AngularJS(1.x系)からアーキテクチャを一新 → 無理にAngularって名前にしなくても良かったんじゃ... ・積極的にモダンなWeb技術を取り込み ・TypeScript ・RxJS etc…
・MITライセンス
リリースサイクル ・セマンティックバージョニングを採用 → [Major] . [Minor] . [Patch] ・明確な開発ロードマップ ・6ヶ月に1度のメジャーリリース
・1ヶ月に1度のマイナーリリース ・週に1度のパッチリリース ・メジャーリリースでは破壊的変更を含む
and more... 2016/09 2017/03 2017/09 v2.0 v4.0 (LTS) v5.0 (plans)
機能 ・DI ・双方向バインディング ・Scoped CSS ・Httpクライアント ・Form ・Routing ・Animation ・Material
・Lazy loading ・モバイル ・エコシステム ・Angular CLI ・Language Service ・Augury (今後に期待) ・i18n ・Server Side Rendering
One framework. Mobile & desktop.
導入の課題
導入の課題 ・学習コスト ・パフォーマンス ・バージョンアップへの追従
導入の課題 ・学習コスト ・パフォーマンス ・バージョンアップへの追従
「Angularは学習コスト高そう...」
Angularの学習コスト = 高 → 要因は2つ
学習コストの要因:カバーしている機能の広さ ・Webアプリの開発に必要な機能を標準搭載 ・ルータ ・Httpクライアント ・アニメーション etc... ・どのフレームワークを使っても必要 → 標準か、そうでないか ・すべてをマスターする必要はない →
機能ごとにモジュールが分割されている。 使わない機能がバンドルされることはない。
学習コストの要因:要求される技術スタックの多さ ・利用にあたって必要となる知識が多い ・Angular ・TypeScript, ECMAScript ・RxJS etc... ・大半がモダンなWeb技術になりつつある → Angular本体以外の部分もすぐ陳腐化することはない ・TypeScript,
RxJSによって得られる高い生産性は魅力 ・型付けによる一次テスト ・TypeScriptはESの新機能をいち早く実装 ・RxJSによる簡潔で柔軟な記述
導入の課題 ・学習コスト ・パフォーマンス ・バージョンアップへの追従
「Angularって遅いんじゃないの?」
「Angularが遅い」は過去の話
Angularのパフォーマンス ・AngularJSは遅かった ・dirty checkに起因するムダの多さ ・コンポーネントの増加がクリティカルに影響 ・v2.xで変更検知の仕組みを一新 = Change Detection ・ReactやVue.jsの『仮想ツリー』とは異なる
→ Reactと同等かそれ以上のパフォーマンス ・コンポーネントが増えてもパフォーマンスに影響が出にくい ・Lazy loadingによるバンドルサイズの削減 ・初期ロード時は最低限必要なものだけDL → 初期表示の高速化 ※ (参考)『Angularは本当に早いのか?』 https://speakerdeck.com/honda/angularhaben-dang-nisu-ifalseka
導入の課題 ・学習コスト ・パフォーマンス ・バージョンアップへの追従
「半年に1回破壊的な変更は恐い...」
(今のところ)そこまで大きな変更はない
バージョンアップ ・Angular5の変更点 = 地味 ※Beta.4時点 ・破壊的変更: 1件のみ ・非推奨: 1件のみ ・破壊的変更は1度非推奨になってから
・ex) v5.xで非推奨 → v6.xで削除 ・マイナーリリースでは破壊的変更は起こらない → 「マイナーリリースで動かければそれはバグ」 ・1年半のサポート期間を持つLTSバージョンも
ユースケース
ユースケース ・Webアプリケーション ・CRUDの多いマスタ管理画面など ・サーバサイドエンジニアが多い場合 (よく検討が必要) ・Webサイト ・1, 2ページのWebサイトには向かない ・metaタグを頻繁に書き換えるサイトも向かない(らしい) ・お問い合わせフォームがある、Http通信が多い場合には採用もあり
さいごに
ng-fukuoka
ng-fukuoka website: ng-fukuoka.github.io github : github.com/ng-fukuoka twitter : @ng_fukuoka