More Related Content
PDF
PPTX
PDF
PDF
Visual Studio Code のこれまでとこれから at OSC 2021 Online/Spring PDF
メンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきこと PDF
PPTX
Microsoft AzureでスマホからIoTまで PDF
Five Steps to Culture Change を日本語で解説する 2020/11/06 What's hot
PDF
新卒入社のみなさまへ30代が贈る20代のキャリア戦略入門 PDF
Introducing microsoft learn PPTX
.NET開発者のためのMicrosoft Learn入門 PDF
センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門 PDF
Idea Hackathon at vFORUM 2019 Tokyo PDF
組織の問題も解決するアーキテクチャ BackendsForFrontends PPTX
PDF
GitHub Enterprise と内製開発の文化 PDF
.NET Gadgeteerで組み込み開発の第一歩 PDF
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー... PDF
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング PDF
PDF
PDF
20161110 Cybozu Days 2016 ランチセッション 『キントーンと共に飛び込む、クラウドが当たり前になった企業情報システムの未来』 PPTX
PDF
Microserviceなんて最初からやるもんじゃ無かった PDF
GitHubEnterpriseからBitbucket(Stash) への移行事例 PDF
B 6-3 jsls15-startup-shibata PPTX
なるほどわかった!App Service on Linux PDF
gumiにおける、海外支社とのAtlassian製品利用事例 Similar to React vtecx20171129
PDF
PDF
PDF
PDF
PDF
Webアプリ開発入門_たくてぃん道場 React bootcamp by CraftStadium PPTX
PDF
PDF
Repro Tech Hands-on : Nuxt.js PDF
PPTX
PDF
React.js + Flux入門 #scripty02 PPTX
PPTX
PDF
Redux, Relay, HorizonあるいはElm PDF
PDF
Next.jsでの開発を加速させるVercelとNext.js/App Routerの便利な機能たち PDF
PDF
PDF
Start React with Browserify PPT
初めての REST - Representational State Transfer More from Shinichiro Takezaki
PDF
PDF
PDF
PDF
PPTX
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
PDF
PDF
PDF
PPT
React vtecx20171129
- 1.
- 2.
Copyright © VirtualTechnology, Inc
⽵嵜 伸⼀郎 (たけざき しんいちろう)
twitter id:stakezaki
(有)バーチャルテクノロジー代表取締役
2
- 3.
Copyright © VirtualTechnology, Inc
ビジョン
”もうフルスタックエンジニアはいらない。
HTMLとJSの知識さえあればWebサービスを
開発できる。
そのような世界を私たちは⽬指しています。”
3
- 4.
Copyright © VirtualTechnology, Inc
API以外の余計なことは考えたくない
4
適当に分散して勝⼿にスケールすることを期待
これが真のサーバレスではないのか!?
- 5.
- 6.
Copyright © VirtualTechnology, Inc
vte.cxアプリのセットアップ
• Visual Studio Codeの導⼊
– https://code.visualstudio.com/download
• Windowsの場合、git for windowsの導⼊
– https://git-for-windows.github.io/
• あとは、以下のqiitaの記事を⾒ながらセット
アップ
– http://qiita.com/stakezaki/items/0401d79d
392b081fb85e
6
- 7.
Copyright © VirtualTechnology, Inc
⼿順
• nodeのインストール(⼊れていない⽅のみ)
– https://nodejs.org/ja/
• gulpとflowのインストール
– npm install -g gulp
– npm install -g flow-bin
• vtecxblankのclone
– git clone https://github.com/reflexworks/vtecxblank.git
• vscodeでプロジェクトを開きコンソールでビルド
– npm install
• vtecxにユーザ登録後サービスを作成してデプロイ
– https://admin.1.vte.cx/login.html
– gulp deploy xxxxxxxxx / gulp serve xxxxxxx
7
- 8.
Copyright © VirtualTechnology, Inc
もし、⼀覧にデータが表⽰されない場合
• データを再投⼊してみてください
– gulp upload:data XXXXXXX
8
- 9.
Copyright © VirtualTechnology, Inc
バンドラ(Webpack)とタスクランナ(Gulp)
9
ES2015
React(JSX)
Flow
トランスパイル
Css/Sass
ビルド・
モジュール結合
JavaScript
(ES5)
ローカルPC
サーバ(vte.cx)
Import/
export
モジュール結合
② GulpによるDeploy ① Webpackによるビルド・バンドル
- 10.
Copyright © VirtualTechnology, Inc
Reactの概要
• ReactはFacebookが公開しているライブラ
リでUIを効率的に構築することができる
– HTMLに似たJSXのテンプレートを使うことで
直感的にUIを記述できる(仮想DOM)
– コンポーネントの組み合わせで全体のアプリを
構築する
10
- 11.
Copyright © VirtualTechnology, Inc
Reactの最も効率的な学習⽅法
• Quick Startを⼀通り動作確認する
– https://facebook.github.io/react/docs/hell
o-world.html
11
- 12.
Copyright © VirtualTechnology, Inc
Reactの基本構⽂
class Setup2 extends React.components {
constructor(props:Props) {
super(props)
this.state = { isConfirmed: false }
}
componentWillMount() {
}
handleSubmit(e: InputEvent) {
}
render() {
}
}
ReactDOM.render(<Signup />, document.getElementById('signform'))
// SignupコンポーネントをHTMLのid:signformに挿⼊
12
ReactComponentを継承してclassを定義
Constructorで初期値を設定
Stateは更新されるとrender()が実行される特殊な変数
表示前に実行される(component関数)
JSXをレンダリング
ボタンクリックで実行(ユーザ関数)
- 13.
Copyright © VirtualTechnology, Inc
Component Lifecycle
• componentWillMount()
– ComponentがDOMツリーに追加される前に⼀度だけ呼ばれます。
• componentDidMount()
– ComponentがDOMツリーに追加された状態で呼ばれます
• componentWillReceiveProps(nextProps)
– Propが更新される時に呼ばれます。
• shouldComponentUpdate()
– falseを返すとVirtualDOMの⽐較を⾏わずにrerenderされない
• componentWillUpdate(nextProps, nextState)
– Componentが更新する前に呼ばれます。
• componentDidUpdate(prevProps, prevState)
– Componentが更新された後に呼ばれます。
• componentWillUnmount()
– ComponentがDOMから削除される時に呼ばれます。
13
- 14.
- 15.
Copyright © VirtualTechnology, Inc15
• URLをフォルダに⾒⽴てて⾃由に設定・追加可能
• リソースを様々なフォーマットに変換可能
• XML、JSON、MessagePack等などのデータ
• HTMLやCSS、JavaScript、PDF、画像などの静的コンテンツ
REST APIと直感的な規約
- 16.
- 17.
- 18.
- 19.
- 20.
Copyright © VirtualTechnology, Inc
エンドポイントURL(初期フォルダ)
• setup/_settings/folderacls.xml
20
/_htmlを除くものが実際にアクセスできるエンドポイント
- 21.
Copyright © VirtualTechnology, Inc
vte.cx スキーマ
• シンプルなシンタックス
– 「項⽬名(型)= 正規表現」の形式で記述
– Indexを指定可能
– 正規表現でバリデーション
• ソフトスキーマ
– 項⽬の追加が可能
– 運⽤中でも変更可
• setup/_settings/template.xml
21
- 22.
Copyright © VirtualTechnology, Inc
以下の2つの記事もぜひご覧ください
• APIを設計するのにswaggerはいらない
– https://t.co/iiV0fxKmft
• アクセス制御とエラー画⾯表⽰
– https://t.co/3Ze0RIeBOJ
22
API設計とアクセス制御
- 23.