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
0
44
What is Angular ?
第二回 合同勉強会 in 福岡(2017/08/26)の発表資料です。
ponday
August 26, 2017
Tweet
Share
More Decks by ponday
See All by ponday
関数型でGoFのデザインパターンやってみる
honda
1
1.3k
TypeScriptの型表現
honda
10
3.1k
Web Componentsの今
honda
1
430
これまでのReact、これからのReact
honda
0
320
Gatsbyお試し
honda
0
120
styled-components or emotion?
honda
0
690
Web ComponentsとAngular
honda
0
130
Atomic Design周りについての私見
honda
1
720
え、まだWeb Componentsを未来の技術だと思ってるの?
honda
2
840
Other Decks in Programming
See All in Programming
CSC305 Lecture 10
javiergs
PRO
0
220
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
390
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
520
CSC509 Lecture 06
javiergs
PRO
0
260
XP, Testing and ninja testing ZOZ5
m_seki
3
790
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
230
AI Agent 時代的開發者生存指南
eddie
4
2k
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
280
Cursorハンズオン実践!
eltociear
2
1.2k
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
310
Featured
See All Featured
Scaling GitHub
holman
463
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
BBQ
matthewcrist
89
9.8k
Building Applications with DynamoDB
mza
96
6.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
We Have a Design System, Now What?
morganepeng
53
7.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
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