SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Angularを利用したシステム開発事例
Copyright (C) Japan Business Systems, Inc. 2
■ 会社案内
■ フレームワークに求めること
■ デモ(勤怠管理システム)
■ Angularとは
■ Angularのメリット
■ Angularのデメリット
■ OSSライブラリと製品のバランス
■ デモ(見積システム)
Copyright (C) Japan Business Systems, Inc. 3
自己紹介
宮下 雄太 (みやした ゆうた)
情報システム本部 IT戦略室 エキスパート
→システムの企画, 立案, 設計, PMO
趣味:スポーツ(ソフトテニス, スノーボード)
中谷 大造 (なかたに たいぞう)
情報システム本部 情報システム部 インプリメント課
→フレームワーク選定, システム実装
趣味:e-スポーツ(Splatoon)
Copyright (C) Japan Business Systems, Inc. 4
フ レ ー ム ワ ー ク に 求 め る こ と
Copyright (C) Japan Business Systems, Inc. 5
理想の時間の使い方
便利機能
+デザイン
主流機能の実装
要件整理
Copyright (C) Japan Business Systems, Inc. 6
実際の時間の使い方
便利機能
+デザイン
主流機能の実装
要件整理
Copyright (C) Japan Business Systems, Inc. 7
理想と現実
便利機能
+デザイン
主流機能の実装
要件整理
便利機能
+デザイン
主流機能の実装
要件整理
理想
現実
Copyright (C) Japan Business Systems, Inc. 8
理想と現実
便利機能
+デザイン
主流機能の実装
要件整理
便利機能
+デザイン
主流機能の実装
要件整理
Copyright (C) Japan Business Systems, Inc. 9
理想と現実 = フレームワークに求めるもの
便利機能
+デザイン
主流機能の実装
要件整理
便利機能
+デザイン
主流機能の実装
要件整理
Copyright (C) Japan Business Systems, Inc. 10
実装に時間がかかる理由
デザイン
便利機能
スキルの変化
マルチデバイス対応
わかりやすい+テーマのあるUI
Clientサイドの充実
ライブラリの変化の速さ
ソート
フィルタ
グルーピング
Copyright (C) Japan Business Systems, Inc. 11
実装に時間がかかる理由
デザイン
便利機能
スキルの変化
マルチデバイス対応
わかりやすい+テーマのあるUI
Clientサイドの充実
ライブラリの変化の速さ
ソート
フィルタ
グルーピング
CSSフレームワーク
JavaScriptフレームワーク
Copyright (C) Japan Business Systems, Inc. 12
フレームワークに求めるもの
ドキュメントの量
サンプルソースの量
CSSフレームワーク JavaScriptフレームワーク
フレームワーク間の親和性
Copyright (C) Japan Business Systems, Inc. 13
フレームワークに求めるもの
ドキュメントの量
サンプルソースの量
CSSフレームワーク JavaScriptフレームワーク
フレームワーク間の親和性
サポート体制
更新の頻度
Copyright (C) Japan Business Systems, Inc. 14
フレームワークに求めるもの
ドキュメントの量
サンプルソースの量
CSSフレームワーク JavaScriptフレームワーク
フレームワーク間の親和性
サポート体制
更新の頻度
価格
Copyright (C) Japan Business Systems, Inc. 15
実装に時間がかかる理由
デザイン
便利機能
スキルの変化
マルチデバイス対応
わかりやすい+テーマのあるUI
Clientサイドの充実
ライブラリの変化の速さ
ソート
フィルタ
グルーピング
CSSフレームワーク
MDL
JavaScriptフレームワーク
AngularJS + Wijmo
Copyright (C) Japan Business Systems, Inc. 16
実 際 に 圧 縮 で き た 工 数
Copyright (C) Japan Business Systems, Inc. 17
工数比較
カレンダー
TreeView
Grid周り
Excelエクスポート
列レイアウト
1W
1W
7W + アキラメ
3W + アキラメ
3W
自前で実装
15W
+ アキラメ
Copyright (C) Japan Business Systems, Inc. 18
工数比較
カレンダー
TreeView
Grid周り
Excelエクスポート
列レイアウト
1W
1W
7W + アキラメ
3W + アキラメ
3W
自前で実装
3D
2D
5D
2D
3D
今回の実装
15W
+ アキラメ
15D
=3W
12W+アキラメの差
Copyright (C) Japan Business Systems, Inc. 19
工数比較
カレンダー
TreeView
Grid周り
Excelエクスポート
列レイアウト
1W
1W
7W + アキラメ
3W + アキラメ
3W
自前で実装
3D
2D
5D
2D
3D
今回の実装
15W
+ アキラメ
15D
=3W
12W+アキラメの差
しかも、変更が容易
Copyright (C) Japan Business Systems, Inc. 20
A n g u l a r と は
Copyright (C) Japan Business Systems, Inc. 21
AngularJSとAngularは同じもの?違うもの?
AngularJS = Angular
AngularJS ≠ Angular
Copyright (C) Japan Business Systems, Inc. 22
AngularJSとAngularは同じもの?違うもの?
AngularJS = Angular
AngularJS ≠ Angular
Copyright (C) Japan Business Systems, Inc. 23
AngularJSとAngularは同じもの?違うもの?
■ AngularJS
■ 2012年~ ( 2021年7月サポート終了予定 )
■ MVC、双方向バインド、etc… ( 当時としては画期的だった )
■ JavaScript の進歩に対応するには抜本的な改善が必要だった
■ Angular
■ 2016年~( 最新バージョンは 8.2.x )
■ Component ベースの JavaScript フルスタックフレームワーク
■ TypeScript を全面採用
■ AngularJS からの移行パスはあるが互換性はない
Copyright (C) Japan Business Systems, Inc. 24
リリーススケジュール
■ リリースは年に2回
■ 全てのバージョンが18ヶ月のサポート期間
■ 1つ前のバージョンに対する互換性保証
6.0.0 Active
7.0.0 Active
8.0.0 Active
6.0.0 LTS
7.0.0 LTS
8.0.0 LTS
Copyright (C) Japan Business Systems, Inc. 25
A n g u l a r の メ リ ッ ト
ただし、個人の主観あり。
Copyright (C) Japan Business Systems, Inc. 26
フルスタックフレームワークであるということ
UniversalRouterPWAProtractor
Dependency
Injection
MaterialKarmai18n
HttpFormsComponentsCompilerCLICDKAuguryAnimations
Language
Services
Lazy Loading Library Template
Copyright (C) Japan Business Systems, Inc. 27
フルスタックフレームワークであるということ
■ アプリケーション開発に必要な機能が Angular で完結する
■ 開発に使用する各種ライブラリーを選定、更新する作業からの解放される
■ 使用する部品やベストプラクティスの共有が容易で、
プロジェクトを超えて同じ構造、クオリティに集約し維持できる
Copyright (C) Japan Business Systems, Inc. 28
強力なCLIの開発サポート
■テンプレート生成( new / generate )
■ Angular アプリのワークスペース生成
■ Component や Service などの自動生成
■ビルド( serve / build )
■ ローカル開発サーバーを実行
■ 高度なビルド機能
■ AOT( Ahead of Time )ビルドで高速実行
■ Tree Shaking で不要な部品の除去
Copyright (C) Japan Business Systems, Inc. 29
強力なCLIの開発サポート
■モジュール更新( update )
■ Angularのバージョンを更新(依存関係を考慮して更新される)
■ メジャーバージョンアップに必要な変更点が自動で修正される
■ 手元のアプリケーションは v7 から v8 にアップグレードするのに約半日程度
■CLIの拡張( schematics )
■ CLIのテンプレート生成や更新処理に機能を追加
■ schematicsに対応しているライブラリーをCLI経由でインストール
■ ライブラリー追加時に必要なコードの修正が自動で反映される
Copyright (C) Japan Business Systems, Inc. 30
A n g u l a r の デ メ リ ッ ト
※個人の意見です。
Copyright (C) Japan Business Systems, Inc. 31
フルスタックフレームワークを採用するということ
Angular がフレームワークとしてサポートする範囲
覚えていますか、、、?
Copyright (C) Japan Business Systems, Inc. 32
フルスタックフレームワークを採用するということ
UniversalRouterPWAProtractor
Dependency
Injection
MaterialKarmai18n
HttpFormsComponentsCompilerCLICDKAuguryAnimations
Language
Services
Lazy Loading Library Template
Copyright (C) Japan Business Systems, Inc. 33
フルスタックフレームワークを採用するということ
とても数が多い
これを全部覚えないと開発できない、、、?
Copyright (C) Japan Business Systems, Inc. 34
フルスタックフレームワークを採用するということ
Angularの機能を全て覚える必要は無いが、最初に覚えることは多い
Web標準 Angular専用
HTML
CSS / SCSS / LESS
ECMAScript / TypeScript
HTML5 API
Module
Component / Directive
Dependency Injection
Router
HttpClient
etc…
Copyright (C) Japan Business Systems, Inc. 35
RxJSの罠
Reactive Extensions( Rx ) という言葉をご存じでしょうか?
Copyright (C) Japan Business Systems, Inc. 36
RxJSの罠
Rx は時間軸をシーケンスとみなして関数で処理するライブラリー
Copyright (C) Japan Business Systems, Inc. 37
RxJSの罠
■ RxJS は強力だが概念が難しく学習コストがとても高い。とても高い。
■ RxJS につまずいて Angular を諦めた人もいるのではというレベル
■ Hot / Cold の概念
■ オペレーター(処理を実行する関数)は全部で 100 個以上
■ 適当に使うと解読困難な処理が量産され、バグの温床に
■ 多用しない( Promiseを使う )
Copyright (C) Japan Business Systems, Inc. 38
O S S ラ イ ブ ラ リ と 製 品 の バ ラ ン ス
さらにAngular時代
Copyright (C) Japan Business Systems, Inc. 39
OSSライブラリと製品のバランス( OSS )
■NgRx
■ Angular チームが開発している Redux ライクな状態管理ライブラリー
■ Angular で Redux ライクなライブラリーのデファクトスタンダード
■ RxJS 必須なので学習コストは高め
■ immer と組み合わせると便利
■Angular Material( + CDK )
■ Angular チームが開発している Material Design UI ライブラリー
■ Material で画面を実装するために必要となる部品は大体揃っている
■ ドラッグ&ドロップ、オーバーレイなどの便利機能( CDK )
Copyright (C) Japan Business Systems, Inc. 40
OSSライブラリと製品のバランス(有償製品)
■SpreadJS
■ こちらも Angular に対応
■ Wijmo では対応できない、数式を含む複雑なエクセル風入力
■Wijmo
■ Angular に対応し、フレームワーク更新時のサポートも早い
■ 現在の主な用途は グリッド表示、グリッド入力とチャート
(フォーム入力系は Angular Material に集約)
Copyright (C) Japan Business Systems, Inc. 41
ご 清 聴 あ り が と う ご ざ い ま し た 。
Angularを利用したシステム開発事例

Weitere ähnliche Inhalte

Was ist angesagt?

アジャイル開発におけるシステムテストの自動化
アジャイル開発におけるシステムテストの自動化アジャイル開発におけるシステムテストの自動化
アジャイル開発におけるシステムテストの自動化
Toru Koido
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
toshi_pp
 

Was ist angesagt? (20)

Universal Links対応をした話
Universal Links対応をした話Universal Links対応をした話
Universal Links対応をした話
 
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
 
Quarkus入門
Quarkus入門Quarkus入門
Quarkus入門
 
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
 
アジャイル開発におけるシステムテストの自動化
アジャイル開発におけるシステムテストの自動化アジャイル開発におけるシステムテストの自動化
アジャイル開発におけるシステムテストの自動化
 
SFUの話
SFUの話SFUの話
SFUの話
 
もしSIerのエンジニアがSRE本を読んだら
もしSIerのエンジニアがSRE本を読んだらもしSIerのエンジニアがSRE本を読んだら
もしSIerのエンジニアがSRE本を読んだら
 
Appium 2.0 ではじめるモバイルアプリテスト
Appium 2.0 ではじめるモバイルアプリテストAppium 2.0 ではじめるモバイルアプリテスト
Appium 2.0 ではじめるモバイルアプリテスト
 
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステムMicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
 
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境
 
システムのモダナイズ 落ちても良いアプリの作り方
システムのモダナイズ 落ちても良いアプリの作り方システムのモダナイズ 落ちても良いアプリの作り方
システムのモダナイズ 落ちても良いアプリの作り方
 
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろうUE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
 
フロントからバックエンドまで - WebAssemblyで広がる可能性
フロントからバックエンドまで - WebAssemblyで広がる可能性フロントからバックエンドまで - WebAssemblyで広がる可能性
フロントからバックエンドまで - WebAssemblyで広がる可能性
 
JavaユーザのためのVSCodeのススメ
JavaユーザのためのVSCodeのススメJavaユーザのためのVSCodeのススメ
JavaユーザのためのVSCodeのススメ
 
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
 
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
 
オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介 オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介
 
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
 

Ähnlich wie Angularを利用したシステム開発事例

Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
CData Software Japan
 
第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説
Hironori Washizaki
 

Ähnlich wie Angularを利用したシステム開発事例 (20)

Angularreflex20141210
Angularreflex20141210Angularreflex20141210
Angularreflex20141210
 
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
 
鹿駆動
鹿駆動鹿駆動
鹿駆動
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 
Deploy TypeScript with CodePipeline in Fargate
Deploy TypeScript with CodePipeline in FargateDeploy TypeScript with CodePipeline in Fargate
Deploy TypeScript with CodePipeline in Fargate
 
仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践 仮想通貨取引所 bitbank の IaC の導入と実践
仮想通貨取引所 bitbank の IaC の導入と実践
 
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
 
第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説
 
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With Kotlin
 
Wndows 10 Fall Creators Update Insider Previewから見たアップデート内容
Wndows 10 Fall Creators Update Insider Previewから見たアップデート内容Wndows 10 Fall Creators Update Insider Previewから見たアップデート内容
Wndows 10 Fall Creators Update Insider Previewから見たアップデート内容
 
Lightning componentとlightning design system
Lightning componentとlightning design systemLightning componentとlightning design system
Lightning componentとlightning design system
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェスト
 
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
 
アジャイル開発のためのDatadog
アジャイル開発のためのDatadogアジャイル開発のためのDatadog
アジャイル開発のためのDatadog
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
 
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
 

Mehr von Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)

Mehr von Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社) (20)

SPAを選択した理由とその結果 ~Reactを添えて~
SPAを選択した理由とその結果 ~Reactを添えて~SPAを選択した理由とその結果 ~Reactを添えて~
SPAを選択した理由とその結果 ~Reactを添えて~
 
グレープシティ製品からみるSPA開発のトレンドと動向
グレープシティ製品からみるSPA開発のトレンドと動向グレープシティ製品からみるSPA開発のトレンドと動向
グレープシティ製品からみるSPA開発のトレンドと動向
 
日常使っているツールを調べる ー Visual Studio Code について ー
日常使っているツールを調べる ー Visual Studio Code について ー日常使っているツールを調べる ー Visual Studio Code について ー
日常使っているツールを調べる ー Visual Studio Code について ー
 
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
 
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
 
グレープシティと業務システム開発のモダナイゼーション
グレープシティと業務システム開発のモダナイゼーショングレープシティと業務システム開発のモダナイゼーション
グレープシティと業務システム開発のモダナイゼーション
 
.NET CoreアプリでWindowsの外に出発
.NET CoreアプリでWindowsの外に出発.NET CoreアプリでWindowsの外に出発
.NET CoreアプリでWindowsの外に出発
 
Webアプリの向こうに見えるPWAアプリ開発
Webアプリの向こうに見えるPWAアプリ開発Webアプリの向こうに見えるPWAアプリ開発
Webアプリの向こうに見えるPWAアプリ開発
 
クロスプラットフォームの夢をみる
クロスプラットフォームの夢をみるクロスプラットフォームの夢をみる
クロスプラットフォームの夢をみる
 
Toolsの杜 - 富士通九州システムズ&グレープシティ -「これまでの業務アプリケーションはどうなる?」
Toolsの杜 - 富士通九州システムズ&グレープシティ -「これまでの業務アプリケーションはどうなる?」Toolsの杜 - 富士通九州システムズ&グレープシティ -「これまでの業務アプリケーションはどうなる?」
Toolsの杜 - 富士通九州システムズ&グレープシティ -「これまでの業務アプリケーションはどうなる?」
 
Toolsの杜 - ランチセッションB - HTML5時代の業務アプリケーション開発にマッチ!グレープシティ JavaScript製品のご紹介
Toolsの杜 - ランチセッションB - HTML5時代の業務アプリケーション開発にマッチ!グレープシティ JavaScript製品のご紹介Toolsの杜 - ランチセッションB - HTML5時代の業務アプリケーション開発にマッチ!グレープシティ JavaScript製品のご紹介
Toolsの杜 - ランチセッションB - HTML5時代の業務アプリケーション開発にマッチ!グレープシティ JavaScript製品のご紹介
 
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
 
Toolsの杜 - ランチセッションA - Microsoftの開発環境の変遷とグレープシティの.NET開発支援コンポーネントの最新動向
Toolsの杜 - ランチセッションA - Microsoftの開発環境の変遷とグレープシティの.NET開発支援コンポーネントの最新動向Toolsの杜 - ランチセッションA - Microsoftの開発環境の変遷とグレープシティの.NET開発支援コンポーネントの最新動向
Toolsの杜 - ランチセッションA - Microsoftの開発環境の変遷とグレープシティの.NET開発支援コンポーネントの最新動向
 
Toolsの杜 - マーベリック - 「IT×デザイン」のススメ
Toolsの杜 - マーベリック - 「IT×デザイン」のススメToolsの杜 - マーベリック - 「IT×デザイン」のススメ
Toolsの杜 - マーベリック - 「IT×デザイン」のススメ
 
Excel業務をWebアプリに!コンポーネントベンダーが眺めたフロントエンド開発
Excel業務をWebアプリに!コンポーネントベンダーが眺めたフロントエンド開発Excel業務をWebアプリに!コンポーネントベンダーが眺めたフロントエンド開発
Excel業務をWebアプリに!コンポーネントベンダーが眺めたフロントエンド開発
 
グレープシティのMicrosoft Azure対応への取り組み
グレープシティのMicrosoft Azure対応への取り組みグレープシティのMicrosoft Azure対応への取り組み
グレープシティのMicrosoft Azure対応への取り組み
 
進化する帳票開発ツール「ActiveReports」の最新機能のご紹介
進化する帳票開発ツール「ActiveReports」の最新機能のご紹介進化する帳票開発ツール「ActiveReports」の最新機能のご紹介
進化する帳票開発ツール「ActiveReports」の最新機能のご紹介
 
ActiveReports、20年の歩みとその魅力
ActiveReports、20年の歩みとその魅力ActiveReports、20年の歩みとその魅力
ActiveReports、20年の歩みとその魅力
 
グレープシティのJavaScriptライブラリ
グレープシティのJavaScriptライブラリグレープシティのJavaScriptライブラリ
グレープシティのJavaScriptライブラリ
 
開発ツール「Wijmo」と「SpreadJS」からみる業務アプリケーションの変遷とこれから
開発ツール「Wijmo」と「SpreadJS」からみる業務アプリケーションの変遷とこれから開発ツール「Wijmo」と「SpreadJS」からみる業務アプリケーションの変遷とこれから
開発ツール「Wijmo」と「SpreadJS」からみる業務アプリケーションの変遷とこれから
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

Angularを利用したシステム開発事例

  • 2. Copyright (C) Japan Business Systems, Inc. 2 ■ 会社案内 ■ フレームワークに求めること ■ デモ(勤怠管理システム) ■ Angularとは ■ Angularのメリット ■ Angularのデメリット ■ OSSライブラリと製品のバランス ■ デモ(見積システム)
  • 3. Copyright (C) Japan Business Systems, Inc. 3 自己紹介 宮下 雄太 (みやした ゆうた) 情報システム本部 IT戦略室 エキスパート →システムの企画, 立案, 設計, PMO 趣味:スポーツ(ソフトテニス, スノーボード) 中谷 大造 (なかたに たいぞう) 情報システム本部 情報システム部 インプリメント課 →フレームワーク選定, システム実装 趣味:e-スポーツ(Splatoon)
  • 4. Copyright (C) Japan Business Systems, Inc. 4 フ レ ー ム ワ ー ク に 求 め る こ と
  • 5. Copyright (C) Japan Business Systems, Inc. 5 理想の時間の使い方 便利機能 +デザイン 主流機能の実装 要件整理
  • 6. Copyright (C) Japan Business Systems, Inc. 6 実際の時間の使い方 便利機能 +デザイン 主流機能の実装 要件整理
  • 7. Copyright (C) Japan Business Systems, Inc. 7 理想と現実 便利機能 +デザイン 主流機能の実装 要件整理 便利機能 +デザイン 主流機能の実装 要件整理 理想 現実
  • 8. Copyright (C) Japan Business Systems, Inc. 8 理想と現実 便利機能 +デザイン 主流機能の実装 要件整理 便利機能 +デザイン 主流機能の実装 要件整理
  • 9. Copyright (C) Japan Business Systems, Inc. 9 理想と現実 = フレームワークに求めるもの 便利機能 +デザイン 主流機能の実装 要件整理 便利機能 +デザイン 主流機能の実装 要件整理
  • 10. Copyright (C) Japan Business Systems, Inc. 10 実装に時間がかかる理由 デザイン 便利機能 スキルの変化 マルチデバイス対応 わかりやすい+テーマのあるUI Clientサイドの充実 ライブラリの変化の速さ ソート フィルタ グルーピング
  • 11. Copyright (C) Japan Business Systems, Inc. 11 実装に時間がかかる理由 デザイン 便利機能 スキルの変化 マルチデバイス対応 わかりやすい+テーマのあるUI Clientサイドの充実 ライブラリの変化の速さ ソート フィルタ グルーピング CSSフレームワーク JavaScriptフレームワーク
  • 12. Copyright (C) Japan Business Systems, Inc. 12 フレームワークに求めるもの ドキュメントの量 サンプルソースの量 CSSフレームワーク JavaScriptフレームワーク フレームワーク間の親和性
  • 13. Copyright (C) Japan Business Systems, Inc. 13 フレームワークに求めるもの ドキュメントの量 サンプルソースの量 CSSフレームワーク JavaScriptフレームワーク フレームワーク間の親和性 サポート体制 更新の頻度
  • 14. Copyright (C) Japan Business Systems, Inc. 14 フレームワークに求めるもの ドキュメントの量 サンプルソースの量 CSSフレームワーク JavaScriptフレームワーク フレームワーク間の親和性 サポート体制 更新の頻度 価格
  • 15. Copyright (C) Japan Business Systems, Inc. 15 実装に時間がかかる理由 デザイン 便利機能 スキルの変化 マルチデバイス対応 わかりやすい+テーマのあるUI Clientサイドの充実 ライブラリの変化の速さ ソート フィルタ グルーピング CSSフレームワーク MDL JavaScriptフレームワーク AngularJS + Wijmo
  • 16. Copyright (C) Japan Business Systems, Inc. 16 実 際 に 圧 縮 で き た 工 数
  • 17. Copyright (C) Japan Business Systems, Inc. 17 工数比較 カレンダー TreeView Grid周り Excelエクスポート 列レイアウト 1W 1W 7W + アキラメ 3W + アキラメ 3W 自前で実装 15W + アキラメ
  • 18. Copyright (C) Japan Business Systems, Inc. 18 工数比較 カレンダー TreeView Grid周り Excelエクスポート 列レイアウト 1W 1W 7W + アキラメ 3W + アキラメ 3W 自前で実装 3D 2D 5D 2D 3D 今回の実装 15W + アキラメ 15D =3W 12W+アキラメの差
  • 19. Copyright (C) Japan Business Systems, Inc. 19 工数比較 カレンダー TreeView Grid周り Excelエクスポート 列レイアウト 1W 1W 7W + アキラメ 3W + アキラメ 3W 自前で実装 3D 2D 5D 2D 3D 今回の実装 15W + アキラメ 15D =3W 12W+アキラメの差 しかも、変更が容易
  • 20. Copyright (C) Japan Business Systems, Inc. 20 A n g u l a r と は
  • 21. Copyright (C) Japan Business Systems, Inc. 21 AngularJSとAngularは同じもの?違うもの? AngularJS = Angular AngularJS ≠ Angular
  • 22. Copyright (C) Japan Business Systems, Inc. 22 AngularJSとAngularは同じもの?違うもの? AngularJS = Angular AngularJS ≠ Angular
  • 23. Copyright (C) Japan Business Systems, Inc. 23 AngularJSとAngularは同じもの?違うもの? ■ AngularJS ■ 2012年~ ( 2021年7月サポート終了予定 ) ■ MVC、双方向バインド、etc… ( 当時としては画期的だった ) ■ JavaScript の進歩に対応するには抜本的な改善が必要だった ■ Angular ■ 2016年~( 最新バージョンは 8.2.x ) ■ Component ベースの JavaScript フルスタックフレームワーク ■ TypeScript を全面採用 ■ AngularJS からの移行パスはあるが互換性はない
  • 24. Copyright (C) Japan Business Systems, Inc. 24 リリーススケジュール ■ リリースは年に2回 ■ 全てのバージョンが18ヶ月のサポート期間 ■ 1つ前のバージョンに対する互換性保証 6.0.0 Active 7.0.0 Active 8.0.0 Active 6.0.0 LTS 7.0.0 LTS 8.0.0 LTS
  • 25. Copyright (C) Japan Business Systems, Inc. 25 A n g u l a r の メ リ ッ ト ただし、個人の主観あり。
  • 26. Copyright (C) Japan Business Systems, Inc. 26 フルスタックフレームワークであるということ UniversalRouterPWAProtractor Dependency Injection MaterialKarmai18n HttpFormsComponentsCompilerCLICDKAuguryAnimations Language Services Lazy Loading Library Template
  • 27. Copyright (C) Japan Business Systems, Inc. 27 フルスタックフレームワークであるということ ■ アプリケーション開発に必要な機能が Angular で完結する ■ 開発に使用する各種ライブラリーを選定、更新する作業からの解放される ■ 使用する部品やベストプラクティスの共有が容易で、 プロジェクトを超えて同じ構造、クオリティに集約し維持できる
  • 28. Copyright (C) Japan Business Systems, Inc. 28 強力なCLIの開発サポート ■テンプレート生成( new / generate ) ■ Angular アプリのワークスペース生成 ■ Component や Service などの自動生成 ■ビルド( serve / build ) ■ ローカル開発サーバーを実行 ■ 高度なビルド機能 ■ AOT( Ahead of Time )ビルドで高速実行 ■ Tree Shaking で不要な部品の除去
  • 29. Copyright (C) Japan Business Systems, Inc. 29 強力なCLIの開発サポート ■モジュール更新( update ) ■ Angularのバージョンを更新(依存関係を考慮して更新される) ■ メジャーバージョンアップに必要な変更点が自動で修正される ■ 手元のアプリケーションは v7 から v8 にアップグレードするのに約半日程度 ■CLIの拡張( schematics ) ■ CLIのテンプレート生成や更新処理に機能を追加 ■ schematicsに対応しているライブラリーをCLI経由でインストール ■ ライブラリー追加時に必要なコードの修正が自動で反映される
  • 30. Copyright (C) Japan Business Systems, Inc. 30 A n g u l a r の デ メ リ ッ ト ※個人の意見です。
  • 31. Copyright (C) Japan Business Systems, Inc. 31 フルスタックフレームワークを採用するということ Angular がフレームワークとしてサポートする範囲 覚えていますか、、、?
  • 32. Copyright (C) Japan Business Systems, Inc. 32 フルスタックフレームワークを採用するということ UniversalRouterPWAProtractor Dependency Injection MaterialKarmai18n HttpFormsComponentsCompilerCLICDKAuguryAnimations Language Services Lazy Loading Library Template
  • 33. Copyright (C) Japan Business Systems, Inc. 33 フルスタックフレームワークを採用するということ とても数が多い これを全部覚えないと開発できない、、、?
  • 34. Copyright (C) Japan Business Systems, Inc. 34 フルスタックフレームワークを採用するということ Angularの機能を全て覚える必要は無いが、最初に覚えることは多い Web標準 Angular専用 HTML CSS / SCSS / LESS ECMAScript / TypeScript HTML5 API Module Component / Directive Dependency Injection Router HttpClient etc…
  • 35. Copyright (C) Japan Business Systems, Inc. 35 RxJSの罠 Reactive Extensions( Rx ) という言葉をご存じでしょうか?
  • 36. Copyright (C) Japan Business Systems, Inc. 36 RxJSの罠 Rx は時間軸をシーケンスとみなして関数で処理するライブラリー
  • 37. Copyright (C) Japan Business Systems, Inc. 37 RxJSの罠 ■ RxJS は強力だが概念が難しく学習コストがとても高い。とても高い。 ■ RxJS につまずいて Angular を諦めた人もいるのではというレベル ■ Hot / Cold の概念 ■ オペレーター(処理を実行する関数)は全部で 100 個以上 ■ 適当に使うと解読困難な処理が量産され、バグの温床に ■ 多用しない( Promiseを使う )
  • 38. Copyright (C) Japan Business Systems, Inc. 38 O S S ラ イ ブ ラ リ と 製 品 の バ ラ ン ス さらにAngular時代
  • 39. Copyright (C) Japan Business Systems, Inc. 39 OSSライブラリと製品のバランス( OSS ) ■NgRx ■ Angular チームが開発している Redux ライクな状態管理ライブラリー ■ Angular で Redux ライクなライブラリーのデファクトスタンダード ■ RxJS 必須なので学習コストは高め ■ immer と組み合わせると便利 ■Angular Material( + CDK ) ■ Angular チームが開発している Material Design UI ライブラリー ■ Material で画面を実装するために必要となる部品は大体揃っている ■ ドラッグ&ドロップ、オーバーレイなどの便利機能( CDK )
  • 40. Copyright (C) Japan Business Systems, Inc. 40 OSSライブラリと製品のバランス(有償製品) ■SpreadJS ■ こちらも Angular に対応 ■ Wijmo では対応できない、数式を含む複雑なエクセル風入力 ■Wijmo ■ Angular に対応し、フレームワーク更新時のサポートも早い ■ 現在の主な用途は グリッド表示、グリッド入力とチャート (フォーム入力系は Angular Material に集約)
  • 41. Copyright (C) Japan Business Systems, Inc. 41 ご 清 聴 あ り が と う ご ざ い ま し た 。