SlideShare une entreprise Scribd logo
1  sur  48
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Angular でもっとAPIファースト・もっとモダンデザイン
なWebアプリケーションを作ろう!
インフラジスティックス・ジャパン株式会社 桐生 達嗣
CData Software Japan 合同会社 桑島 義行
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
本日のアジェンダ
Agenda
• 自己紹介
• APIファースト・モダンデザインなWebアプリケーションとは
• 多様化するAPIの現状とAPIエコシステム、APIの在り方
• APIを3ステップでDBから自動生成できる CData API Server
• Ignite UI CLI を使ったAngular アプリ構築
• CData API Server + Ignite UI for Angular “Budget App”
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
登壇者自己紹介
Self Introduction
桐生達嗣 (tkiryu@Infragistics.com / @TatsushiKiryu )
・インフラジスティックス・ジャパン株式会社
テクニカル コンサルティング エンジニア
・専門分野: Web アプリ / フロントエンド開発
桑島義行 (kuwajima@cdata.com / @kuwazzy )
・CData Software Japan合同会社 テクニカル ディレクター
・専門分野: DB / BI / WebAPI
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
About CData Software
Bi-directional Access to Live App, Database, & Web API Data Through Standard Drivers
・CData Software, Inc. / Started: 1994 (/nsoftware)
・Location: Chapel Hill, NC a spin-off of /n software
・CData Japan: 2016/6 (JV with Infoteria)
・20年以上にわたりデータ関連コンポーネントを提供
・100を超えるデータソースへのデータ接続を標準化
・APIエコシステムの構築をサポート
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
RDB(SQL) ⇔ Web API 変換のエキスパート
Enable real-time data integration with hundreds of applications, databases, and Web APIs
Data Drivers
API を仮想RDB 化することで使
いやすく
API Server
APIをノンプログラミングで開発
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
業界最多級100+のデータソース
Drivers for NoSQL, Big Data, & SaaS Connectivity
CRMおよびマーケティング自動化
会計システム
コラボレーションおよびERP
オンプレミスおよびクラウドDB
ドキュメントおよびファイル形式
ソーシャルネットワーキングネットワーキングおよび認証
電子商取引
その他
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
About INFRAGISTICS
z
1989年
創立、米国
本社オフィス
開設
2000年
Windows
Forms &
ASP.NET
対応製品
販売開始
2006 年
東京オフィス開
設
WPF 対応製品
販売開始
2008年
UX サービス
部門設立
2010年
HTML5/
Javascript
対応製品
販売開始
2012年
iOS 対応製品
販売開始Indigo
Studio 販売開
始
2014年
Xamarin &
Android 対応
製品
販売開始
2018 年
継続する
イノベー
ション
2016年
ReportPlus
Embedded
提供開始
2017年
プロダクティビティ
パック、Angular
コンポーネントを
提供開始
・UI コンポーネント専業で約 30 年間
・日本法人を設立して 13 年目
・近年、Angular をはじめとした Web アプリ開発支援ツールに注力
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Angular, Flutter, React,
Vue.js, Electron, Node.js,
Ionic, Xamarin, UWP, .NET,
近年、乱立するクライアント テクノロジー、フレームワーク
テクノロジー、フレームワークの
選択が重要に
さらに、開発の前の
「学習」にもコストがかかる
開発支援ツール Infragistics Ultimate
Web、モバイル、デスクトップに対応する UI コントロールと
生産性を向上させる プロダクティビティ ツールを提供
モバイル向け
• Ultimate UI
for Xamarin
• Ultimate UI
for iOS
• Ultimate UI
for Android
Web 向け
• Ignite UI for
Angular
• Ignite UI for
JavaScript
• Ultimate UI for
ASP.NET
デスクトップ向け
• Ultimate UI
for Windows
Forms
• Ultimate UI
for WPF
デザイン
• Indigo Studio
• ICONS
1. UI コントロール
2. プロダクティビティ
ツール
3. エンタープライズ
サポート
コントロール「だけ」ではなく、UI 開発全体を支援
1. 高機能 UI コントロール
 グリッド、チャート、スケジュール、ピボット
2. 学習コスト、作業コストを低減する
プロダクティビティ ツール
 CLI ツール、コンフィギュレーター
3. エンタープライズに対応したサポート、
サービス
 製品サポート + 各種開発コンサルティング
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
モダンWebアプリケーションとは?
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Mobile
PC
クライアントサイド
モダン Web アプリとは?
データソースサイド
RDB
ファイル
クラウド
サービス
サーバーサイド
これまで:
HTML のやり取り
モダン:
データ(API)
でのやり取り
コードの再利用性を高めるためバックエンドとクライアントサイドは、疎結合
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Mobile
PC
クライアントサイド
モダン Web アプリとは?
データソースサイド
RDB
ファイル
クラウド
サービス
サーバーサイド
これまで:
HTML のやり取り
モダン:
データ(API)
でのやり取り
コードの再利用性を高めるためバックエンドとクライアントサイドは、疎結合
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
#APIあるある
実録
APIの現実・・・
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
API を使うのに紙文書で申請が必要!
#APIあるある
・NDAや申請書、パートナー契約などなど紙文書でのやり取りが必要
・時には恐ろしい数のヒアリング項目
・APIを利用するまでに2週間以上時間がかかることも・・・
・(参考)Salesforce は、開発アカウントはOnline 申請、即API
利用開始
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
仕様書がPDFやExcel
・Word ベース や 神エクセル
・いったいどうやって管理・アップデートする?
・実装とドキュメントは当然乖離
・中にはドキュメントがCD-ROMで送られてくるところも・・・。
・コピー&ペーストできない
#APIあるある
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Limit が厳しすぎる
#APIあるある
・1分間にXX回リクエストまで、等
・ちょっと連携開発でテストしたら、ロック
・BIするのに全データを取得したいが制限にひっかかってしまい、取得できない
(Twitterなどもちろん仕方がないものもある)
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
リソース指向と関数指向がまざってる
#APIあるある
・例えばURLが
https://XXX.com/getXXX
https://XXX.com/findXXX
https://XXX.com/users
・詳細検索するときだけ、FindやSearchといったURL
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
リソース名が省略語だらけ
#APIあるある
例えば・・・
・営業案件 Opportunity がOPP
日本語ローマ字略称は覚えづらく、つらい・・・
・勘定科目マスタ が KKM とか
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
ページングの指定方法が違いすぎる
Qiita MoneyForward
ページ指定方法
URLパラメータで指定
Page=1
URLパラメータで指定
Page=1
ページ数最大値表示
レスポンスヘッダに記載
Total-Count: 6
レスポンスボディに記載
total_count : 6
1ページあたりの表示件数表記
URLパラメータで指定
per_page=20
URLパラメータで指定
Limit=100
次ページリンク
レスポンスボディに記載
Link:
<http://qiita.com/api/v2/users?pa
ge=1>; rel="first",
なし
#APIあるある
・同じ会社のAPIでも微妙に違う
・ヘッダに記載していたり、ボディに記載していたり
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
通貨フィールドが「¥」マーク付き
#APIあるある
・昔、データ型ってあったのを忘れたのか?
・通貨フィールドが数値型ではなく、円マーク付きで返ってくるので文字列になってしまう
例:var x = “1,000,000”;
・クライアントサイドで通貨マークの調整処理が必要
・BIツールに取り入れる時には数値変換が必要
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
データを取得したいのにPOST
#APIあるある
・例:Bodyで検索条件を指定するから、POSTメソッドでGETする
・基本的にすべてのエンドポイントがPOST仕様だったり
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
エンドポイント一覧がAPIで取得できない
#APIあるある
・どのくらいリソースがあるのかわからない
・クライアントサイドで動的な処理ができない
・APIの変更に動的に対応することができない
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
リソースが存在しないのにステータスコード200(正常)
#APIあるある
• 成功なのに失敗?
• リソース名が間違っていたはずなのに200番。404(Not Found)では?
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
サマリデータのみで、明細が取れない
#APIあるある
• 見積の合計金額は取れるのに、明細が取れない
• APIから取得できるデータがそもそもサマリした後のデータで、使用者側でサマリの観点
を変えることができない
• ヘッダと明細を一括のリクエストで作成しないといけないAPIもあったり
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
まだまだありそうな予感
皆さまの
を募集中!
SNS で発信しよう!
#APIあるある
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
原因:
「REST はプロトコルではない」から
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
OData
• Microsoftが主導となり推進しているプロトコル
• HTTPメソッド(GET/POST/PUT/DELETE)でデータの参照更新ができる仕様
• RESTfulな設計パターンを実装
Open API Specification
• 略してOAS、旧Swagger
• REST APIの記述に関する仕様とAPIをコールするためのコードとドキュメントを自動生成するツール群
• Apache 2.0 License
• 2015年に推進団体「Open API Initiative」が設立
• The Linux Foundationの協力のもと、Microsoft/Google/IBM/Paypal/3Scale(Redhat) / Apigee(Google) などにより
結成
REST APIの規格・標準
Standards-based Interfaces
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
モダンWebアプリケーションに求められるAPI
1. メタデータ・スキーマの提供
2. メタデータ・スキーマから自動生成されたドキュメント
3. 規格(リクエスト・レスポンスルール)の統一
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
『たのむ
メタデータ・スキーマをくれ。
できれば、動的に』
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
クライアントサイドデータソースサイド
API
PC
Mobile
モダンなAPI=クライアントサイドに優しい
RDB
ファイル
クラウド
サービス
API仕様書から
自動生成
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
モダンAPIを3ステップでDBから自動生成できる
CData API Server
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
ノンコーディング、3ステップでAPI 実装
公開するデータソースに接続1
ユーザーの設定とアクセス権限を指定
2
3
公開するデータを選択
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
クライアントサイドデータソースサイド
API
PC
Mobile
Demo
API Server
• バックエンドAPI+Webフロント構成アプリケーション
• マルチデバイスアプリケーション
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
API を活用したモダン Web アプリの構築
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
クライアントサイドデータソースサイド
API
PC
Mobile
データはつながった、次はクライアントアプリ(画面)だ!
API Server
• データを「活かす」アプリケーションを「すばやく」実装
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
モダン Web 向け: Ignite UI for Angular
• 約 50 種類のAngular 専用コンポーネント
• マテリアルデザイン サポート
• 軽量、高速、高機能
• OSS
• デュアル ライセンス
Angular ロゴ: https://angular.io/presskit
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
• 利用するフレームワークの選択
(Angular, jQuery, React)
• 各種コントロールの利用に必要な
スクリプト、CSS、HTML の
ひな型をプロジェクトに追加
• 独自のカスタムテンプレートを
作成可能
コマンド “2行” でモダン Web アプリ開発を開始
$ npm install igniteui-cli -g
$ ig
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Demo
Ignite UI CLI を使ったAngular アプリ構築と
API サーバーへの接続
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
予実管理 株取引 人事管理 不動産取引
Ignite UI for Angular で作成できる Web アプリ例
• レスポンシブ、マルチデバイス対応モダン Web アプリ
• 「見栄えの良さ」を実現
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Demo
API サーバー + Ignite UI for Angular
“Budget App”
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
更なる進化: Indigo Design to Code (D2C) Studio
• まとめスライド
• https://youtu.be/1I9Rl8f07gc
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
まとめ
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
まとめ
• モダン API: 統一された規格、メタデータ、ドキュメントの提供
• API Server ですばやく実現
• モダン Web アプリ: プリミティブなデータのやりとり、クライアントを動的に生成
• Ignite UI for Angular ですばやく実現
開発ツールを有効活用しましょう!
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
お願い
• ブースにおいでください!
• 製品説明、デモを実施しています!
• ノベルティもあるよ!
• 「#decode大喜利」 やってます!
• 豪華賞品をご提供します
© 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
Thank You!

Contenu connexe

Tendances

Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLINE Corporation
 
ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場Shota Suzuki
 
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたCordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたShin Ogata
 
smartFXにおけるApache Cordovaの活用について
smartFXにおけるApache Cordovaの活用についてsmartFXにおけるApache Cordovaの活用について
smartFXにおけるApache Cordovaの活用について剛志 森田
 
HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編Monaca
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割Recruit Lifestyle Co., Ltd.
 
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについてネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについてKazuaki Hidaka
 
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅アシアル株式会社
 
Web標準技術で iOS、Android両対応アプリを開発
Web標準技術でiOS、Android両対応アプリを開発Web標準技術でiOS、Android両対応アプリを開発
Web標準技術で iOS、Android両対応アプリを開発 アシアル株式会社
 
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリAngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリアシアル株式会社
 
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスHTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスアシアル株式会社
 
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門Shumpei Shiraishi
 
Ionicでハイブリッドアプリ入門①
Ionicでハイブリッドアプリ入門①Ionicでハイブリッドアプリ入門①
Ionicでハイブリッドアプリ入門①Tomokatsu Iguchi
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 Monaca
 
事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント 事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント Monaca
 
Einsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようEinsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようSalesforce Developers Japan
 
Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣アシアル株式会社
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスアシアル株式会社
 

Tendances (20)

Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With Kotlin
 
ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場
 
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたCordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
 
CordovaでAngularJSアプリ開発
CordovaでAngularJSアプリ開発CordovaでAngularJSアプリ開発
CordovaでAngularJSアプリ開発
 
smartFXにおけるApache Cordovaの活用について
smartFXにおけるApache Cordovaの活用についてsmartFXにおけるApache Cordovaの活用について
smartFXにおけるApache Cordovaの活用について
 
HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについてネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについて
 
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
Androidでもサクサク動くHTML5ハイブリッドアプリの作り⽅
 
Web標準技術で iOS、Android両対応アプリを開発
Web標準技術でiOS、Android両対応アプリを開発Web標準技術でiOS、Android両対応アプリを開発
Web標準技術で iOS、Android両対応アプリを開発
 
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリAngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
 
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスHTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
 
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
 
Ionicでハイブリッドアプリ入門①
Ionicでハイブリッドアプリ入門①Ionicでハイブリッドアプリ入門①
Ionicでハイブリッドアプリ入門①
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
 
事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント 事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント
 
Einsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようEinsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみよう
 
Onsen UIが目指すもの
Onsen UIが目指すものOnsen UIが目指すもの
Onsen UIが目指すもの
 
Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
 

Similaire à Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!

「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?CData Software Japan
 
APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料CData Software Japan
 
Api and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osakaApi and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osakaYuki Hayakawa
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向Tsutomu Ogasawara
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Kazuya Sugimoto
 
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DeNA
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menusharoid
 
AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介ssuser39314d
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)TIS Inc.
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要Ryohei Sogo
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』Ryohei Sogo
 
【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力Cybozucommunity
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonightAmazon Web Services Japan
 
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント インフラジスティックス・ジャパン株式会社
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebKensaku Komatsu
 

Similaire à Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう! (20)

「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
 
20170705 apiをつくろう
20170705 apiをつくろう20170705 apiをつくろう
20170705 apiをつくろう
 
APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料
 
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
 
Api and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osakaApi and rpa_seminar_april20_osaka
Api and rpa_seminar_april20_osaka
 
オンライン セミナー Infragistics ultimate 2015 vol.1 最新機能ハイライト(公開版)
オンライン セミナー Infragistics ultimate 2015 vol.1 最新機能ハイライト(公開版)オンライン セミナー Infragistics ultimate 2015 vol.1 最新機能ハイライト(公開版)
オンライン セミナー Infragistics ultimate 2015 vol.1 最新機能ハイライト(公開版)
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
 
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』
 
【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力
 
Api設計
Api設計Api設計
Api設計
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
 
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
インフラジスティックスが提供するクロスプラットフォーム対応データ視覚化コンポーネント
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
 

Plus de CData Software Japan

RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -CData Software Japan
 
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~CData Software Japan
 
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現CData Software Japan
 
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現CData Software Japan
 
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~CData Software Japan
 
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみたTableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみたCData Software Japan
 
はじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTはじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTCData Software Japan
 
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜CData Software Japan
 
Tableau datadayouttokyo2019 c_data_datarobot
Tableau datadayouttokyo2019 c_data_datarobotTableau datadayouttokyo2019 c_data_datarobot
Tableau datadayouttokyo2019 c_data_datarobotCData Software Japan
 
Tableau datadayouttokyo2019 c_data_kintone
Tableau datadayouttokyo2019 c_data_kintoneTableau datadayouttokyo2019 c_data_kintone
Tableau datadayouttokyo2019 c_data_kintoneCData Software Japan
 
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化CData Software Japan
 
kintone からER図を作成してみた
kintone からER図を作成してみたkintone からER図を作成してみた
kintone からER図を作成してみたCData Software Japan
 
MS-Office 製品からのkintoneデータ活用
MS-Office 製品からのkintoneデータ活用MS-Office 製品からのkintoneデータ活用
MS-Office 製品からのkintoneデータ活用CData Software Japan
 
JDBCドライバで実現する Select * from クラウド
JDBCドライバで実現する Select * from クラウドJDBCドライバで実現する Select * from クラウド
JDBCドライバで実現する Select * from クラウドCData Software Japan
 
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)CData Software Japan
 
kintoneのデータExcelで 活用してみよう
kintoneのデータExcelで 活用してみようkintoneのデータExcelで 活用してみよう
kintoneのデータExcelで 活用してみようCData Software Japan
 

Plus de CData Software Japan (20)

CData Sync 概要
CData Sync 概要CData Sync 概要
CData Sync 概要
 
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
 
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
 
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
 
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
 
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
ガチのエンジニア集団に身を置くというキャリアの作り方 ~ド文系の翻訳者がビルドエンジニアっぽくなった話~
 
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみたTableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
 
はじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTはじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LT
 
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
 
Tableau datadayouttokyo2019 c_data_datarobot
Tableau datadayouttokyo2019 c_data_datarobotTableau datadayouttokyo2019 c_data_datarobot
Tableau datadayouttokyo2019 c_data_datarobot
 
Tableau datadayouttokyo2019 c_data_kintone
Tableau datadayouttokyo2019 c_data_kintoneTableau datadayouttokyo2019 c_data_kintone
Tableau datadayouttokyo2019 c_data_kintone
 
CData general proposal
CData general proposalCData general proposal
CData general proposal
 
20180319 ccon sync kintone
20180319 ccon sync kintone20180319 ccon sync kintone
20180319 ccon sync kintone
 
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
 
kintone からER図を作成してみた
kintone からER図を作成してみたkintone からER図を作成してみた
kintone からER図を作成してみた
 
MS-Office 製品からのkintoneデータ活用
MS-Office 製品からのkintoneデータ活用MS-Office 製品からのkintoneデータ活用
MS-Office 製品からのkintoneデータ活用
 
CData Drivers for PCA 概要
CData Drivers for PCA 概要CData Drivers for PCA 概要
CData Drivers for PCA 概要
 
JDBCドライバで実現する Select * from クラウド
JDBCドライバで実現する Select * from クラウドJDBCドライバで実現する Select * from クラウド
JDBCドライバで実現する Select * from クラウド
 
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
 
kintoneのデータExcelで 活用してみよう
kintoneのデータExcelで 活用してみようkintoneのデータExcelで 活用してみよう
kintoneのデータExcelで 活用してみよう
 

Dernier

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 

Dernier (7)

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 

Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!

  • 1. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. Angular でもっとAPIファースト・もっとモダンデザイン なWebアプリケーションを作ろう! インフラジスティックス・ジャパン株式会社 桐生 達嗣 CData Software Japan 合同会社 桑島 義行
  • 2. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. 本日のアジェンダ Agenda • 自己紹介 • APIファースト・モダンデザインなWebアプリケーションとは • 多様化するAPIの現状とAPIエコシステム、APIの在り方 • APIを3ステップでDBから自動生成できる CData API Server • Ignite UI CLI を使ったAngular アプリ構築 • CData API Server + Ignite UI for Angular “Budget App”
  • 3. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. 登壇者自己紹介 Self Introduction 桐生達嗣 (tkiryu@Infragistics.com / @TatsushiKiryu ) ・インフラジスティックス・ジャパン株式会社 テクニカル コンサルティング エンジニア ・専門分野: Web アプリ / フロントエンド開発 桑島義行 (kuwajima@cdata.com / @kuwazzy ) ・CData Software Japan合同会社 テクニカル ディレクター ・専門分野: DB / BI / WebAPI
  • 4. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. About CData Software Bi-directional Access to Live App, Database, & Web API Data Through Standard Drivers ・CData Software, Inc. / Started: 1994 (/nsoftware) ・Location: Chapel Hill, NC a spin-off of /n software ・CData Japan: 2016/6 (JV with Infoteria) ・20年以上にわたりデータ関連コンポーネントを提供 ・100を超えるデータソースへのデータ接続を標準化 ・APIエコシステムの構築をサポート
  • 5. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. RDB(SQL) ⇔ Web API 変換のエキスパート Enable real-time data integration with hundreds of applications, databases, and Web APIs Data Drivers API を仮想RDB 化することで使 いやすく API Server APIをノンプログラミングで開発
  • 6. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. 業界最多級100+のデータソース Drivers for NoSQL, Big Data, & SaaS Connectivity CRMおよびマーケティング自動化 会計システム コラボレーションおよびERP オンプレミスおよびクラウドDB ドキュメントおよびファイル形式 ソーシャルネットワーキングネットワーキングおよび認証 電子商取引 その他
  • 7. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. About INFRAGISTICS z 1989年 創立、米国 本社オフィス 開設 2000年 Windows Forms & ASP.NET 対応製品 販売開始 2006 年 東京オフィス開 設 WPF 対応製品 販売開始 2008年 UX サービス 部門設立 2010年 HTML5/ Javascript 対応製品 販売開始 2012年 iOS 対応製品 販売開始Indigo Studio 販売開 始 2014年 Xamarin & Android 対応 製品 販売開始 2018 年 継続する イノベー ション 2016年 ReportPlus Embedded 提供開始 2017年 プロダクティビティ パック、Angular コンポーネントを 提供開始 ・UI コンポーネント専業で約 30 年間 ・日本法人を設立して 13 年目 ・近年、Angular をはじめとした Web アプリ開発支援ツールに注力
  • 8. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. Angular, Flutter, React, Vue.js, Electron, Node.js, Ionic, Xamarin, UWP, .NET, 近年、乱立するクライアント テクノロジー、フレームワーク テクノロジー、フレームワークの 選択が重要に さらに、開発の前の 「学習」にもコストがかかる
  • 9. 開発支援ツール Infragistics Ultimate Web、モバイル、デスクトップに対応する UI コントロールと 生産性を向上させる プロダクティビティ ツールを提供 モバイル向け • Ultimate UI for Xamarin • Ultimate UI for iOS • Ultimate UI for Android Web 向け • Ignite UI for Angular • Ignite UI for JavaScript • Ultimate UI for ASP.NET デスクトップ向け • Ultimate UI for Windows Forms • Ultimate UI for WPF デザイン • Indigo Studio • ICONS
  • 10. 1. UI コントロール 2. プロダクティビティ ツール 3. エンタープライズ サポート コントロール「だけ」ではなく、UI 開発全体を支援 1. 高機能 UI コントロール  グリッド、チャート、スケジュール、ピボット 2. 学習コスト、作業コストを低減する プロダクティビティ ツール  CLI ツール、コンフィギュレーター 3. エンタープライズに対応したサポート、 サービス  製品サポート + 各種開発コンサルティング
  • 11. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. モダンWebアプリケーションとは?
  • 12. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. Mobile PC クライアントサイド モダン Web アプリとは? データソースサイド RDB ファイル クラウド サービス サーバーサイド これまで: HTML のやり取り モダン: データ(API) でのやり取り コードの再利用性を高めるためバックエンドとクライアントサイドは、疎結合
  • 13. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. Mobile PC クライアントサイド モダン Web アプリとは? データソースサイド RDB ファイル クラウド サービス サーバーサイド これまで: HTML のやり取り モダン: データ(API) でのやり取り コードの再利用性を高めるためバックエンドとクライアントサイドは、疎結合
  • 14. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. #APIあるある 実録 APIの現実・・・
  • 15. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. API を使うのに紙文書で申請が必要! #APIあるある ・NDAや申請書、パートナー契約などなど紙文書でのやり取りが必要 ・時には恐ろしい数のヒアリング項目 ・APIを利用するまでに2週間以上時間がかかることも・・・ ・(参考)Salesforce は、開発アカウントはOnline 申請、即API 利用開始
  • 16. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. 仕様書がPDFやExcel ・Word ベース や 神エクセル ・いったいどうやって管理・アップデートする? ・実装とドキュメントは当然乖離 ・中にはドキュメントがCD-ROMで送られてくるところも・・・。 ・コピー&ペーストできない #APIあるある
  • 17. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. Limit が厳しすぎる #APIあるある ・1分間にXX回リクエストまで、等 ・ちょっと連携開発でテストしたら、ロック ・BIするのに全データを取得したいが制限にひっかかってしまい、取得できない (Twitterなどもちろん仕方がないものもある)
  • 18. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. リソース指向と関数指向がまざってる #APIあるある ・例えばURLが https://XXX.com/getXXX https://XXX.com/findXXX https://XXX.com/users ・詳細検索するときだけ、FindやSearchといったURL
  • 19. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. リソース名が省略語だらけ #APIあるある 例えば・・・ ・営業案件 Opportunity がOPP 日本語ローマ字略称は覚えづらく、つらい・・・ ・勘定科目マスタ が KKM とか
  • 20. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. ページングの指定方法が違いすぎる Qiita MoneyForward ページ指定方法 URLパラメータで指定 Page=1 URLパラメータで指定 Page=1 ページ数最大値表示 レスポンスヘッダに記載 Total-Count: 6 レスポンスボディに記載 total_count : 6 1ページあたりの表示件数表記 URLパラメータで指定 per_page=20 URLパラメータで指定 Limit=100 次ページリンク レスポンスボディに記載 Link: <http://qiita.com/api/v2/users?pa ge=1>; rel="first", なし #APIあるある ・同じ会社のAPIでも微妙に違う ・ヘッダに記載していたり、ボディに記載していたり
  • 21. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. 通貨フィールドが「¥」マーク付き #APIあるある ・昔、データ型ってあったのを忘れたのか? ・通貨フィールドが数値型ではなく、円マーク付きで返ってくるので文字列になってしまう 例:var x = “1,000,000”; ・クライアントサイドで通貨マークの調整処理が必要 ・BIツールに取り入れる時には数値変換が必要
  • 22. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. データを取得したいのにPOST #APIあるある ・例:Bodyで検索条件を指定するから、POSTメソッドでGETする ・基本的にすべてのエンドポイントがPOST仕様だったり
  • 23. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. エンドポイント一覧がAPIで取得できない #APIあるある ・どのくらいリソースがあるのかわからない ・クライアントサイドで動的な処理ができない ・APIの変更に動的に対応することができない
  • 24. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. リソースが存在しないのにステータスコード200(正常) #APIあるある • 成功なのに失敗? • リソース名が間違っていたはずなのに200番。404(Not Found)では?
  • 25. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. サマリデータのみで、明細が取れない #APIあるある • 見積の合計金額は取れるのに、明細が取れない • APIから取得できるデータがそもそもサマリした後のデータで、使用者側でサマリの観点 を変えることができない • ヘッダと明細を一括のリクエストで作成しないといけないAPIもあったり
  • 26. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. まだまだありそうな予感 皆さまの を募集中! SNS で発信しよう! #APIあるある
  • 27. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. 原因: 「REST はプロトコルではない」から
  • 28. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. OData • Microsoftが主導となり推進しているプロトコル • HTTPメソッド(GET/POST/PUT/DELETE)でデータの参照更新ができる仕様 • RESTfulな設計パターンを実装 Open API Specification • 略してOAS、旧Swagger • REST APIの記述に関する仕様とAPIをコールするためのコードとドキュメントを自動生成するツール群 • Apache 2.0 License • 2015年に推進団体「Open API Initiative」が設立 • The Linux Foundationの協力のもと、Microsoft/Google/IBM/Paypal/3Scale(Redhat) / Apigee(Google) などにより 結成 REST APIの規格・標準 Standards-based Interfaces
  • 29. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. モダンWebアプリケーションに求められるAPI 1. メタデータ・スキーマの提供 2. メタデータ・スキーマから自動生成されたドキュメント 3. 規格(リクエスト・レスポンスルール)の統一
  • 30. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. 『たのむ メタデータ・スキーマをくれ。 できれば、動的に』
  • 31. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. クライアントサイドデータソースサイド API PC Mobile モダンなAPI=クライアントサイドに優しい RDB ファイル クラウド サービス API仕様書から 自動生成
  • 32. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. モダンAPIを3ステップでDBから自動生成できる CData API Server
  • 33. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. ノンコーディング、3ステップでAPI 実装 公開するデータソースに接続1 ユーザーの設定とアクセス権限を指定 2 3 公開するデータを選択
  • 34. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. クライアントサイドデータソースサイド API PC Mobile Demo API Server • バックエンドAPI+Webフロント構成アプリケーション • マルチデバイスアプリケーション
  • 35. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
  • 36. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. API を活用したモダン Web アプリの構築
  • 37. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. クライアントサイドデータソースサイド API PC Mobile データはつながった、次はクライアントアプリ(画面)だ! API Server • データを「活かす」アプリケーションを「すばやく」実装
  • 38. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. モダン Web 向け: Ignite UI for Angular • 約 50 種類のAngular 専用コンポーネント • マテリアルデザイン サポート • 軽量、高速、高機能 • OSS • デュアル ライセンス Angular ロゴ: https://angular.io/presskit
  • 39. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. • 利用するフレームワークの選択 (Angular, jQuery, React) • 各種コントロールの利用に必要な スクリプト、CSS、HTML の ひな型をプロジェクトに追加 • 独自のカスタムテンプレートを 作成可能 コマンド “2行” でモダン Web アプリ開発を開始 $ npm install igniteui-cli -g $ ig
  • 40. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. Demo Ignite UI CLI を使ったAngular アプリ構築と API サーバーへの接続
  • 41. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. 予実管理 株取引 人事管理 不動産取引 Ignite UI for Angular で作成できる Web アプリ例 • レスポンシブ、マルチデバイス対応モダン Web アプリ • 「見栄えの良さ」を実現
  • 42. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. Demo API サーバー + Ignite UI for Angular “Budget App”
  • 43. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. 更なる進化: Indigo Design to Code (D2C) Studio • まとめスライド • https://youtu.be/1I9Rl8f07gc
  • 44. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd.
  • 45. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. まとめ
  • 46. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. まとめ • モダン API: 統一された規格、メタデータ、ドキュメントの提供 • API Server ですばやく実現 • モダン Web アプリ: プリミティブなデータのやりとり、クライアントを動的に生成 • Ignite UI for Angular ですばやく実現 開発ツールを有効活用しましょう!
  • 47. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. お願い • ブースにおいでください! • 製品説明、デモを実施しています! • ノベルティもあるよ! • 「#decode大喜利」 やってます! • 豪華賞品をご提供します
  • 48. © 2018 CData Software Japan, LLC | © Infragistics Japan Co., Ltd. Thank You!

Notes de l'éditeur

  1. IG
  2. IG/CD <桑島> CData Software Japanの桑島です。
  3. CD <桑島> まずはじめに、CDataSoftwareについてご紹介させていただきます。 CDataSoftwareは、アメリカのノースカロライナ州に本社を構えるグローバル企業です。日本では2016年に活動を開始しております。 20年以上にわたり、データ連携コンポーネントを提供しており、現在、数万社という単位でご利用いただいております。 私たちは、100を超えるクラウドサービスやDBへのデータ接続を標準化することで、APIエコシステムの構築をサポートしている企業です。
  4. CD <桑島> CData Softwareの製品ラインナップはこちらの二つで、一つは、APIを仮想RDB化して使いやくするDataDrivers製品、もう一つは、APIをノンプログラミングで開発できるAPIServerです。
  5. CD これらの製品から接続できるデータソースは業界最多級で、CRMやマーケティングなどのクラウドサービスや、NoSQLを含めデータベースまで多種様々で、私たちはこれらのデータソースのAPIをみて開発やメンテナンスを行なっています。
  6. IG
  7. IG
  8. IG
  9. IG
  10. IG
  11. IG モダンなWebアプリケーションではコードの再利用性を高めるためバックエンドとクライアントサイドは、疎結合にしてコードをわけることが求められます。
  12. CD それでは、バックエンドのサーバーサイドにアクセスするためのAPIについて見てきましょう。 自分がクライアントサイドを開発するメンバーだったら、どんなAPIだと使いやすいのか、と気になりますよね。
  13. CD <桑島> ここで、提供されるAPIの現実です。 私たちは、先ほどご紹介した通り、100を超える様々なタイプのAPIをみてきました。 ここで、どのようなAPIがあったのか、ここからは、実録、「APIあるある」として実際の例を見てきたましょう。
  14. <桑島> 使い始める前で出だしをくじかれます。さて、API仕様書みてみるか、と思って探して見ると、ん?申請が必要なので申請書を送ってくれ?と。。。まず、使えるか確認したいだけなんだけど。うーん。
  15. <桑島> さぁAPI仕様書を入手した、と思ったら。。。Wordや神Excelで作成されたAPI仕様書。もちろん、ブラウザからのテスト実行は出来ないですし、中には、コピペもできないものもあります。
  16. <桑島> APIを使ってみて突然引っかかることもあります。私もデモしている突然引っかかり冷や汗かいたこともあります。
  17. <桑島> これは、API設計の話ですね。どっちかで統一されているとわかりやすいのですが。
  18. <桑島> これは、レガシーなアプリケーションにAPIを後からつけたケースに多いです。
  19. <桑島> ページングは、仕様書に良く載ってなかったりもするので、結構、私も実際にたたいて確認しないとわからないとこが多いです。
  20. <桑島> これ、結構、国内のサービスとかであるんですよ。クライアントサイドでハンドリングって考えただけで面倒ですよねー
  21. <桑島> これは、RESTの統一インタフェースという物を意識しているかの話ですね。
  22. <桑島> これが一番重要です。データベースに例えると、テーブル一覧、カラム定義がSQLで取得できないのと一緒です。 この一覧が取れないと、どのデータを表示するかのドロップダウンリスト一つ作るのに、ハードコードしないといけない。
  23. <桑島> エラーかどうかの切り分けに困るパターンですね。
  24. <桑島> BIとかでデータを集計や分析するときに困るパターンです。アプリケーション側の画面では見えているのにーと。
  25. <桑島> いかがでしたでしょうか? こんな、APIありませんでしょうか、もし、思いついたかたは、このハッシュタグで吠えてください。
  26. <桑島> さて、なぜ、このような使いにくいAPIが多くあるかというと、巷で標準と言われているREST APIってプロトコル、規格ではないからなんですね。
  27. じゃあ、REST APIのプロトコルや規格ってなんなの?というと、聞いたことがある方もいらっしゃると思いますが、ODataというプロトコルや、OpenAPI、以前はSwaggerと言われていたAPI仕様書のデファクトがあります。
  28. ここで、モダンAPIのポイントについて整理してみました。 一つ目は、メタデータ・スキーマが提供されていること これ大事です。 二つ目は、メタデータ・スキーマから自動生成されたドキュメントが提供されていること 三つ目は、リクエストやレスポンスなどのルール、規格が統一されていること と言えます。
  29. でも、せめて、メタデータやスキーマの一覧を動的にアクセスできるエンドポイントは欲しい。ですよね。
  30. これらを満たすだけで、API仕様書から、ある程度、クライアントサイドのコードが動的に生成される、これが、モダンなAPIと言えるでしょう。 じゃぁ、モダンなAPIって具体的にはどうやって作るの?というお話に入りたいと思います。
  31. それは、ここで、そんなモダンAPIを3ステップでDBから自動生成できるCDataAPIServerについてご紹介させていただきます。
  32. 必要なステップはこの3つ、公開するRDBなどのデータソースに接続する、公開するテーブルを選択する、APIアクセスする権限を設定する、この3つだけです。
  33. 実際にAPIServerについてデモでご覧いただきましょう。今回のデモの構成は、このようになっており、バックエンドのデータソースにはMySQLを使用しています。MySQL内のテーブルデータをAPIServerを使ってAPI公開します。
  34. IG
  35. 実際にAPIServerについてデモでご覧いただきましょう。今回のデモの構成は、このようになっており、バックエンドのデータソースにはMySQLを使用しています。MySQL内のテーブルデータをAPIServerを使ってAPI公開します。
  36. IG or CD
  37. IG or CD
  38. IG/CD