30
エエエエエ SPA エエエ UI !? エエ エエエ OSS エFuture Architect Yuzo Hirakawa

Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

Embed Size (px)

Citation preview

Page 1: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

エンプラで SPA で最新 UI !?よし、作って OSS 化!

Future ArchitectYuzo Hirakawa

Page 2: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

平川 裕蔵Qiita@Hirakawa_Yuzo

元バイカー

今ゲーマー

C, C++, HTML, CSS, JavaScriptこのあたりが得意です。

社内では、 UI/UX を専門に技術を深めていっています。

自己紹介

享年 1 ヶ月

Page 3: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

http://future-architect.github.io/urushi/

コンポーネント指向オブジェクト指向Material Design大規模開発向け

本日ご紹介するのはこちら

Page 4: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

ユーザーは SPA として構築されたアプリケーションを利用。

ユーザー数 72000 人開発規模 300KL 以上

依存ライブラリ群

Urushi

プロジェクト FW

SPA

Web AP DB

ユーザー

構築システム

どういうシステムで SPA 構築したのか

ブラウザサイド

Page 5: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

Future のよくあるアプリケーション構築

画面パターン 2

画面パターン 1

画面パターン N

画面部品 1

画面部品 2

画面部品 n

︙ ︙

Java/XHTML SQL

業務処理

Page 6: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

• 1 画面に対する機能が多い

• 業務スピード向上

• 10年先でも最新って言えるシステム

SPA を構築した顧客の要件

Page 7: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

基本方針を決める

差分描画

ユーザビリティ向上

業務スピード向上

1 画面に対する機能が多い

10 年先でも最新

MaterialDesign?

SPA !?※Single Page Application

Page 8: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

基本方針を決める

SPA !!

品質

効率性

コスト作る

使う

Object 指向

AMD

Page 9: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

画面パターン 2

画面パターン 1

画面パターン N

画面部品 1

画面部品 2

画面部品 n

︙ ︙

Java/XHTML SQL

業務処理

Why SPA

ロジックを分離させたくない

• ユーザーに対するレスポンススピードを向上させる

• ハードウェアスペックへの配慮

Page 10: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

Challenge SPA

• 過去に SPA で大規模 Web アプリは構築出来た経験がある今の現場でも導入できるはず

• JavaScript エンジニアを増やしたい

Page 11: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

OSS を選定する

時は 2015 年 1 月・・・ JavaScript ライブラリ群雄割拠の時代

Choice

Page 12: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

プロジェクトへの導入実現性は?

しかし・・・

設計自由度を持たせつつ、品質を担保する仕組みが欲しいコンポーネント指向型のライブラリとか・・・

Page 13: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

?マッチする OSS が見つからない

構成要素をいたずらに増やしたくない

Page 14: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

一方その頃

Material Design 面白そう。CSS3 だけで作れないだろうか。

Button, Checkbox とか色々作れそう

サーバーにデモ公開して、プロジェクトに作ったよメール投げてみよ!

もっとやれ!

Me

偉い人

Page 15: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

そんなこんなで

Object 指向で開発したい開発者への公開はコンポーネント単位で利用してもらう。HTML で記述するだけにしたいから、パーサーが必要だな。etc ・・・

どうせなら名前つけようぜ!

ロゴ作りました!

Me

Page 16: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

2016 年 1 月

正式に OSS 公開

Page 17: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

プロジェクトに導入するには

UI ポリシー、開発方法の布教 ソースコード自動生成

Project Framework

画面 A 画面 B 画面 N・・・

認可 コンポーネント制御

画面遷移管理 etc)

プロジェクト向け FW 開発

いざ開発!

Page 18: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

プロジェクトに導入して起きた問題

設計担当者

FW は何をしてくれるの?

どこを設計するのかわからない

MaterialDesignわかりません。

Page 19: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

プロジェクトに導入して起きた問題

Page 20: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

プロジェクトに導入して起きた問題

Page 21: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

プロジェクトに導入して起きた問題

画面開発支援デバッグツール

• 作成している画面( SPA のパーツ)を即時起動してくれるツール

• 画面起動に必要なパラメータは JSON で用意するだけで OK簡易的なパラメータであれば、ドロップダウンから選択するだけ

Page 22: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

プロジェクトに導入して起きた問題

Page 23: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

プロジェクトに導入して起きた問題

Good!

設計担当者

Page 24: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

そして・・・ 2016 年 10 月システムは無事稼働。

見えてきた成果とこれからの課題

性能の向上

コンポーネントの恩恵

カスタマイズが容易

高い期待値を求められる

Material Design VS Enterprise

Page 25: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

OSS 化に至ったワケ

技術的な活動は自由に広く。

Page 26: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

どんな OSS ?

Material Design

Page 27: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

どんな OSS ?

Urushi レンダリングエンジン

buttoninput

panel

インスタンスView

Page 28: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

どんな OSS ?

Page 29: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

どんな OSS ?

8+

Page 30: Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)

Urushi の今後

• Enterprise 向けに UI デザインを洗練していく

• 依存ライブラリを消去

• Enterprise の UI で困りがちなものへの対応• Grid• Tree• Tab