Upgrade to Pro — share decks privately, control downloads, hide ads and more …

グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント

Avatar for I.Murakami I.Murakami
December 07, 2018

グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント

「GrapeCity Web TECH FORUM 2018」セッションスライド

Avatar for I.Murakami

I.Murakami

December 07, 2018
Tweet

More Decks by I.Murakami

Other Decks in Technology

Transcript

  1. 昨今の Web 開発と業務システムについて 3 Developer Tools レガシーの衰退 Webアプリケーションの構築に広く利用された技術が 現在、サポートの終了を迎えようとしています。 耐用年数

    業務システムの耐用年数は一般に5〜10年。 近頃、旧システムの刷新ニーズが増えているようです。 HTML5 レガシーからの移行、新システムの構築にあたり HTML5 / JavaScript の利用に注目が集まっています。
  2. 特徴 13 Developer Tools 40+のコントロール 業務システムに必要とされることの多い UI や機能を豊富に収録 軽量・高速 大量データも高速に処理

    ライブラリ利用で懸念されがちなサイズにも注力し、軽量化を実現。 高品質 すべての収録コントロールが品質管理済み
  3. 17

  4. 20

  5. 「Excel ライク」から想定される機能 26 フィルタ キーマップ ピクチャ 数式入力 テーブル スライサー 入力検証

    グループ化 Excelテーマ 数式 条件付き書式 マルチシート 罫線 書式 数式 テキストボックス インデント ウィンドウ枠の 固定 セル結合 スパークライン グリッド表示 エクセル関数 チャート エクセル入出力 ソート PDF出力
  6. 一般的なグリッドコンポーネントの機能範囲 27 フィルタ キーマップ ピクチャ 数式入力 テーブル スライサー 入力検証 グループ化

    Excelテーマ 数式 条件付き書式 マルチシート 罫線 書式 数式 テキストボックス インデント ウィンドウ枠の 固定 セル結合 スパークライン グリッド表示 エクセル関数 チャート エクセル入出力 ソート PDF出力
  7. 一般的なスプレッドシートコンポーネントの機能範囲 28 フィルタ キーマップ ピクチャ 数式入力 テーブル スライサー 入力検証 グループ化

    Excelテーマ 数式 条件付き書式 マルチシート 罫線 書式 数式 テキストボックス インデント ウィンドウ枠の 固定 セル結合 スパークライン グリッド表示 エクセル関数 チャート エクセル入出力 ソート PDF出力
  8. Spread.Sheets の機能範囲 (全部できます) 29 フィルタ キーマップ ピクチャ 数式入力 テーブル スライサー

    入力検証 グループ化 Excelテーマ 数式 条件付き書式 マルチシート 罫線 書式 数式 テキストボックス インデント ウィンドウ枠の 固定 セル結合 スパークライン グリッド表示 エクセル関数 チャート エクセル入出力 ソート PDF出力
  9. GrapeCity の JavaScript ライブラリ の使い分け 36 Developer Tools Wijmo ?

    InputManJS ? SpreadJS ? 多様な業務システムの要件に幅広く対応する標準ツールとして 日本固有の入力要件に対応する入力UIライブラリ集として 顧客の思う「Excelライク!」に完全対応するUIとして
  10. ビジネスロジックと API 間に生じる仕様の不一致 49 Developer Tools 画面 表示 データ取得 UIへの値設定

    • データを表示前に検証したい • 表示したくないデータがある • DB値に応じて変換の上、表示したい • API の動作を補正したい • API の動作を制限したい
  11. オーソドックスな API の利用方法 50 Developer Tools window.onload = function( )

    { var value; ・・・ // A1セルに値を設定 sheet.getCell(0, 0).setValue( value ); };
  12. 例) ラッピング 51 Developer Tools MySetValue( row, col, value )

    { // 開発アプリに応じたロジック処理 ・・・ // セルに値を設定 sheet.getCell(row, col).setValue( value ); };
  13. SpreadJS x InputManJS 57 Developer Tools • Spread.Sheets V12J (2019年1月予)の新機能

    • セル型としてInputManJSの機能を利用 • 数値、マスク、カレンダーコントロールの利用が可能に InputManJS セル
  14. JavaScript フレームワーク対応状況 Developer Tools 59 Angular React Vue.js Wijmo ◦

    ◦ ◦ ◦ InputManJS ◦ ◦ ◦ ◦ SpreadJS ◦ (Spread.Sheetsのみ) ◦ (Spread.Sheetsのみ) ◦ (Spread.Sheetsのみ) ◦ (Spread.Sheetsのみ)
  15. 調査内容 61 Developer Tools • 弊社テクニカルサポートにお知らせいただく 「ご利用フレームワーク」情報を集計。 • 対象製品 :

    Wijmo • 集計期間 : 2017年7月 – 2018年11月 総数として、1056 件のお問い合わせから集計
  16. JavaScript フレームワークの利用状況 Developer Tools 62 49.6 % 0.8 % 0.6

    % 7.3 % 41.8 % 8 524 6 77 441 期間 2017年7月 – 2018年11月 総数 1,056 件
  17. Angular (Ver. 2.x 〜) 64 Developer Tools フルスタック SPA のフロントエンド開発に必要な機能をフル実装

    エンタープライズ向け TypeScriptを採用。 エンタープライズ、大規模開発に求められる堅牢性に優れる Google製 新バージョンのテストは、Googleのシステム・アプリへの適用。 世界有数の Tech 企業が品質を担保
  18. フルスタック Developer Tools 65 機能 Angular React コンポーネントタイプのUI ◦ ◦

    AJAX リクエスト ◦ (Fetch API / axios) ルーター ◦ (React-router) DI(依存性の注入) ◦ (MobX) 入力フォーム作成 ◦ - コンポーネント単位のCSS ◦ (styled-components) XSSプロテクション ◦ ◦ ユニットテストツール ◦ ◦
  19. フルスタックでない場合 66 Developer Tools • カバーされていない部分は自分で選定 • 選定工数の懸念 • テスト工数増加の懸念

    自分の好きな部品、使いやすい部品などを組み合わせて 最適な下地を構築できるという利点もあります。
  20. ◼ AngularJS (V1.x 〜) は2021年6月30日でサポート終了 ◼ 現在 V1.7.x が LTS

    (Long Time Support) 期間中 ◼ これからの新規開発には不向き AngularJS について 参考 LINK : https://docs.angularjs.org/misc/version-support-status
  21. React vs Vue.js Developer Tools 69 機能 React Vue.js コンポーネントタイプのUI

    ◦ ◦ AJAX リクエスト (Fetch API / axios) (Fetch API / axios) ルーター (React-router) (Vue-router) DI(依存性の注入) (MobX) (di-lite.js / injector.js) 入力フォーム作成 - - コンポーネント単位のCSS (styled-components) ◦ XSSプロテクション ◦ ◦ ユニットテストツール ◦ ◦
  22. なぜ Vue.js の利用率が高いのか Developer Tools 70 使いやすいです GrapeCity お客様の声 •

    先発のフレームワークから良い部分を吸収 • 理解しやすいコード • 日本語ドキュメント 参考サイト Comparing the React and Vue Ecosystems with a Real-World SPA https://vuejsdevelopers.com/2018/09/04/comparing-vue-and-react/
  23. 「Comparing the React and Vue Ecosystems with a Real-World SPA」

    より React / Vue.js ルーティングコード比較 <Route path="/dashboard" render={() => ( this.props.user) ? <Dashboard /> : <Redirect to="/" /> )}/> <Route path="/createNote" render={() => ( (this.props.user) ? <CreateNote /> : <Redirect to="/" /> )}/> <Route path="/editNote" render={() => ( (this.props.user) ? <EditNote /> : <Redirect to="/" /> )}/>
  24. 「Comparing the React and Vue Ecosystems with a Real-World SPA」

    より React / Vue.js ルーティングコード比較 { path: '/account', component: Account, name: 'account', meta: {title: 'Account', requiresAuth: true} }, { path: '/createNote', component: CreateNote, name: 'createNote', meta: {title: 'Create Note', requiresAuth: true} }, { path: '/editNote', component: EditNote, name: 'editNote', meta: {title: 'Edit Note', requiresAuth: true} }
  25. フレームワーク ご利用傾向 総括 74 Developer Tools Angular 一番人気のフレームワーク。 企業向け開発に必要とされるフロントエンド機能をフル装備 Vue.js

    ローカライズを含めた使いやすさで浸透中。 React 弊社のお客様間では一番低い利用率。 *世界的には広く利用されています
  26. React vs Vue.js Vue.js の利用でハッピーな人の割合 – state of JS 2018

    : https://2018.stateofjs.com/front-end-frameworks/vuejs/
  27. React vs Vue.js React の利用でハッピーな人の割合 – state of JS 2018

    : https://2018.stateofjs.com/front-end-frameworks/react/
  28. END