Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takeshi Akutsu
336 views
S14 t3 yosuke_yamashita
Talk 3:「PythonとJavaScriptで作るReactiveなウェブサイト」 山下陽介(株式会社アカリ)
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 19
2
/ 19
3
/ 19
4
/ 19
5
/ 19
6
/ 19
7
/ 19
8
/ 19
9
/ 19
10
/ 19
11
/ 19
12
/ 19
13
/ 19
14
/ 19
15
/ 19
16
/ 19
17
/ 19
18
/ 19
19
/ 19
More Related Content
PPTX
React を導入したフロントエンド開発
by
daisuke-a-matsui
PDF
jQueryを中心としたJavaScript
by
hideaki honda
PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた
by
Itaru Kitagawa
PDF
なぜ人は必死でjQueryを捨てようとしているのか
by
Yoichi Toyota
PDF
RailsでReact.jsを動かしてみた話
by
yoshioka_cb
PDF
svelte と tailwind で始めるフロントエンド開発
by
Shuichi Takaya
PDF
SIROK技術勉強会 #1 「Reactってなんだ?」
by
Naoyuki Kataoka
PPTX
Node.jsに縁のない職場でnode.jsを使い始める戦術
by
Isamu Suzuki
React を導入したフロントエンド開発
by
daisuke-a-matsui
jQueryを中心としたJavaScript
by
hideaki honda
サーバサイドエンジニアが 1年間まじめにSPAやってみた
by
Itaru Kitagawa
なぜ人は必死でjQueryを捨てようとしているのか
by
Yoichi Toyota
RailsでReact.jsを動かしてみた話
by
yoshioka_cb
svelte と tailwind で始めるフロントエンド開発
by
Shuichi Takaya
SIROK技術勉強会 #1 「Reactってなんだ?」
by
Naoyuki Kataoka
Node.jsに縁のない職場でnode.jsを使い始める戦術
by
Isamu Suzuki
What's hot
PDF
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
by
Yusuke Murata
PDF
「新しい」を生み出すためのWebアプリ開発とその周辺
by
Yusuke Wada
PDF
ReactNativeを語る勉強会
by
yohei sugigami
PPTX
Angular js はまりどころ
by
Ayumi Goto
PDF
イマドキのフロントエンドエンジニアの道具箱
by
Fumio SAGAWA
PDF
いまさら聞けない!?Backbone.js 超入門
by
Kohei Kadowaki
PPTX
React Nativeでお絵描きしてみた
by
kazuki matsumura
PPTX
ReactでCMSを作ったときにハマったこと
by
kazuki matsumura
PDF
STORES.jp x AngularJS
by
Keisuke Makino
PDF
まだ DOM 操作で消耗してるの?
by
Yuki Ishikawa
PDF
Enterprise x AngularJS
by
Kenichi Kanai
PPTX
Type scriptmemo
by
ytanno
PPTX
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
by
kazuki matsumura
PDF
React.js + Flux入門 #scripty02
by
Yahoo!デベロッパーネットワーク
PDF
React+fluxを導入した話
by
Yuki Ishikawa
PDF
One-time Binding & $digest
by
Hayashi Yuichi
PDF
Learning jQuery
by
taiju higashi
PDF
High Performance Gulp
by
Keisuke Imura
PDF
gulp芸
by
Yuki Ishikawa
PPTX
いまNode Express4で書いてるディレクターが 初めて書き始める2ヶ月前くらいの自分に言っておく
by
Takahiro YAMAGUCHI
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
by
Yusuke Murata
「新しい」を生み出すためのWebアプリ開発とその周辺
by
Yusuke Wada
ReactNativeを語る勉強会
by
yohei sugigami
Angular js はまりどころ
by
Ayumi Goto
イマドキのフロントエンドエンジニアの道具箱
by
Fumio SAGAWA
いまさら聞けない!?Backbone.js 超入門
by
Kohei Kadowaki
React Nativeでお絵描きしてみた
by
kazuki matsumura
ReactでCMSを作ったときにハマったこと
by
kazuki matsumura
STORES.jp x AngularJS
by
Keisuke Makino
まだ DOM 操作で消耗してるの?
by
Yuki Ishikawa
Enterprise x AngularJS
by
Kenichi Kanai
Type scriptmemo
by
ytanno
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
by
kazuki matsumura
React.js + Flux入門 #scripty02
by
Yahoo!デベロッパーネットワーク
React+fluxを導入した話
by
Yuki Ishikawa
One-time Binding & $digest
by
Hayashi Yuichi
Learning jQuery
by
taiju higashi
High Performance Gulp
by
Keisuke Imura
gulp芸
by
Yuki Ishikawa
いまNode Express4で書いてるディレクターが 初めて書き始める2ヶ月前くらいの自分に言っておく
by
Takahiro YAMAGUCHI
Viewers also liked
PDF
High performance python computing for data science
by
Takami Sato
PDF
チームで活用するAnaconda入門
by
Takeshi Akutsu
PDF
S14 t0 introduction
by
Takeshi Akutsu
PDF
Deep Learningと画像認識 ~歴史・理論・実践~
by
nlab_utokyo
PDF
DeNAの分析を支える分析基盤
by
Kenshin Yamada
PPTX
みんなのPython勉強会#21 澪標アナリティクス 井原様
by
Takeshi Akutsu
PDF
Deep learning実装の基礎と実践
by
Seiya Tokui
PDF
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
by
Takami Sato
PDF
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
by
Takami Sato
PDF
AAをつくろう!
by
Takami Sato
PDF
Introduction
by
Takeshi Akutsu
PDF
S16 t1 python学習奮闘記#6
by
Takeshi Akutsu
PPTX
S13 t0 introduction
by
Takeshi Akutsu
PDF
S15 t0 introduction
by
Takeshi Akutsu
PDF
S20 t1 stapyのこれまでとこれから
by
Takeshi Akutsu
PDF
Deep Learning技術の今
by
Seiya Tokui
PDF
S10 p1 mitsuyoshi-sama_2
by
Takeshi Akutsu
High performance python computing for data science
by
Takami Sato
チームで活用するAnaconda入門
by
Takeshi Akutsu
S14 t0 introduction
by
Takeshi Akutsu
Deep Learningと画像認識 ~歴史・理論・実践~
by
nlab_utokyo
DeNAの分析を支える分析基盤
by
Kenshin Yamada
みんなのPython勉強会#21 澪標アナリティクス 井原様
by
Takeshi Akutsu
Deep learning実装の基礎と実践
by
Seiya Tokui
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
by
Takami Sato
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
by
Takami Sato
AAをつくろう!
by
Takami Sato
Introduction
by
Takeshi Akutsu
S16 t1 python学習奮闘記#6
by
Takeshi Akutsu
S13 t0 introduction
by
Takeshi Akutsu
S15 t0 introduction
by
Takeshi Akutsu
S20 t1 stapyのこれまでとこれから
by
Takeshi Akutsu
Deep Learning技術の今
by
Seiya Tokui
S10 p1 mitsuyoshi-sama_2
by
Takeshi Akutsu
Similar to S14 t3 yosuke_yamashita
PDF
Djangoのエントリポイントとアプリケーションの仕組み
by
Shinya Okano
PDF
Pythonおじさんのweb2py挑戦記
by
Yoshiyuki Nakamura
PDF
Djangoフレームワークの紹介
by
Shinya Okano
PDF
WordPressAPI
by
Yuki Okamoto
PDF
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜開発編 先生:増井 雄一郎
by
schoowebcampus
PDF
RESTful APIとしてのRailsとクライアントとしてのJavaScript
by
Naoto Koshikawa
PDF
Python札幌 2012/06/17
by
Shinya Okano
PPTX
20190809
by
iPride Co., Ltd.
Djangoのエントリポイントとアプリケーションの仕組み
by
Shinya Okano
Pythonおじさんのweb2py挑戦記
by
Yoshiyuki Nakamura
Djangoフレームワークの紹介
by
Shinya Okano
WordPressAPI
by
Yuki Okamoto
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜開発編 先生:増井 雄一郎
by
schoowebcampus
RESTful APIとしてのRailsとクライアントとしてのJavaScript
by
Naoto Koshikawa
Python札幌 2012/06/17
by
Shinya Okano
20190809
by
iPride Co., Ltd.
More from Takeshi Akutsu
PDF
みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"
by
Takeshi Akutsu
PDF
万年ビギナーによるPythonプログラミングのリハビリ計画
by
Takeshi Akutsu
PPTX
Start Python Club 2020年活動報告
by
Takeshi Akutsu
PDF
On the Necessity and Inapplicability of Python
by
Takeshi Akutsu
PDF
Python初心者が4年で5000人のコミュニティに作ったエモい話
by
Takeshi Akutsu
PDF
Introduction
by
Takeshi Akutsu
PPTX
みんなのPython勉強会#59 Intro
by
Takeshi Akutsu
PDF
Stapyユーザーガイド
by
Takeshi Akutsu
PDF
Orientation
by
Takeshi Akutsu
PPTX
Stapyの6年~本との出会いから生まれた技術コミュニティ~
by
Takeshi Akutsu
PDF
Introduction
by
Takeshi Akutsu
PPTX
We are OSS Communities: Introduction of Start Python Club
by
Takeshi Akutsu
PPTX
みんなのPython勉強会#35 まとめ
by
Takeshi Akutsu
PDF
Scipy Japan 2019参加レポート
by
Takeshi Akutsu
PDF
みんなのPython勉強会 in 長野 #3, Intro
by
Takeshi Akutsu
PDF
プログラミング『超入門書』から見るPythonと解説テクニック
by
Takeshi Akutsu
PDF
LT_by_Takeshi
by
Takeshi Akutsu
PDF
Scipy Japan 2019の紹介
by
Takeshi Akutsu
PDF
stapy_fukuoka_01_akutsu
by
Takeshi Akutsu
PDF
モダンな独学の道。そうだ、オープンソースでいこう!
by
Takeshi Akutsu
みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"
by
Takeshi Akutsu
万年ビギナーによるPythonプログラミングのリハビリ計画
by
Takeshi Akutsu
Start Python Club 2020年活動報告
by
Takeshi Akutsu
On the Necessity and Inapplicability of Python
by
Takeshi Akutsu
Python初心者が4年で5000人のコミュニティに作ったエモい話
by
Takeshi Akutsu
Introduction
by
Takeshi Akutsu
みんなのPython勉強会#59 Intro
by
Takeshi Akutsu
Stapyユーザーガイド
by
Takeshi Akutsu
Orientation
by
Takeshi Akutsu
Stapyの6年~本との出会いから生まれた技術コミュニティ~
by
Takeshi Akutsu
Introduction
by
Takeshi Akutsu
We are OSS Communities: Introduction of Start Python Club
by
Takeshi Akutsu
みんなのPython勉強会#35 まとめ
by
Takeshi Akutsu
Scipy Japan 2019参加レポート
by
Takeshi Akutsu
みんなのPython勉強会 in 長野 #3, Intro
by
Takeshi Akutsu
プログラミング『超入門書』から見るPythonと解説テクニック
by
Takeshi Akutsu
LT_by_Takeshi
by
Takeshi Akutsu
Scipy Japan 2019の紹介
by
Takeshi Akutsu
stapy_fukuoka_01_akutsu
by
Takeshi Akutsu
モダンな独学の道。そうだ、オープンソースでいこう!
by
Takeshi Akutsu
S14 t3 yosuke_yamashita
1.
PythonとJavaScriptで作る Reactiveなウェブサイト 株式会社アカリ 山下 陽介
2.
弊社 • 2006年創業 • ウェブ制作とCG制作、ウェブアプリを使った新規ビジネスなど •
人材募集中 • なにとぞよろしくお願いします
3.
Reactiveなウェブサイト • あらゆる状態変化にシームレスに対応 • javascriptを駆使して実装 •
シングルページアプリケーションなど とも呼ばれる • 企業のウェブサイトにも必要に応じて 導入されてもいいのでは? • 開発上の利点も? こんな風なものを実現するのに 興味を持っていただければ幸いです
4.
Pythonサイド(バックエンド) • Djangoを使う • Django
Rest Frameworkを使ってAPIを作る • WebSocketにはtornadoを導入
5.
Djangoやウェブフレームワークの役割をざっくり説明 Browser <a href= /test
>TEST</a> Django Database def test(request): … html = <html><body>… # HTMLレンダリングして返す return HttpResponse(html) 保存 更新 削除など 取得など 新しいURLリクエスト レスポンス (次のページのコード) <html> <head></head> <body>…</body> </html> ページごとにpythonのdefを用意して、新しいhtmlをブラウザに返す ブラウザはhtmlをレンダリングする。を繰り返す
6.
API化したときの動き Browser <script> $.ajax( /test )… </script> Django
Database def test(request): … data = { users :users} # dictやlistをそのまま # JSONにして返す return Response(data) 保存 更新 削除など 取得など APIリクエスト レスポンス (dictをjsonにしたデータ) { users : [ { name : A , age:20} … ]} javascriptでjsonデータを受け取る。 javascriptは必要に応じて部分的にhtmlを書き換える、を繰り返す
7.
Django APIの展開 API JS desktop app JS iOS JS website swift iOS android java C/C++などで書いたコードはウェブサイトでは基本使えません。asm.jsを使うとものにより可能だけ ど、コンパイルにてこずるのと、コンパイル結果が10mbを超えてしまうというデメリットあり Objective C++ Python Module Native Addon Native Addon JNI
8.
API化のメリット • 呼び出すプラットフォームが増える • jsonによる少ないレスポンス量 •
クライアント側の資源を生かせて、サーバー に低負荷 • DjangoでViewを書く工数とコード行数が減 少 • フロントエンドとバックエンドのコード依存 を最小に留める • html / cssのコードが比較的、散らばらない • 余った時間はデザインの実現に費やせる デメリット • フロントエンドでやることが増えるので、 フロントエンドのコードがとにかく煩雑に なりやすい、保守不能なコードになりがち
9.
そこで、しんどいフロントエンドの コーディングを少しでもベターにするために javascriptをレビューしてみます
10.
最近のjavascript • ES6からclass構文、アロー関数など記述ルールが刷新されて少し親切に。※ babelというコンパイルツールが必要 • coffeescript,
typescriptなど中間言語もいろいろ • Electron、NW.js、Ionic…アプリを作れるツールも多々 • node.jsとの戦い
11.
this.callApi( /loadUsers ) .map((data)
=> data.users) .subscribe( (users) => this.users.concat(users), (err) => console.error(err), () => console.log( done ) ); javascript Python Reactive Extensionsを使ったAPI コールの雰囲気(流しそうめんのイメー ジでコーディングしています)。コー ルバック関数の散在を防ぐ ※Rxpyというのもあります def loadUsers(request): users = User.objects.filter(…).fetchall() data = UserSerializer(users).data return Response({ users :data}) Pythonはとても簡単 これまでhtmlに覆って出力していた手 順が、これだけでjsonとしてクライア ントに渡せる モダンなAPIコール
12.
this.users.push({ name: User A
, age: 24 }); • User X : 35歳 • User Y : 50歳 • User Z : 2歳 • User A : 24歳 ブラウザ表示 jqueryを使ってDOMを操作していたコードが不要になってきた。 データ配列に追加、削除、編集するだけでhtmlが自動更新される。 Virtual DOMという概念が導入されレンダリングがスピードアップ モダンなHTMLバインディング
13.
こんなことを実現させてくれる javascriptのフレームワークや ライブラリにも目を通してみます
14.
有名なjavascriptフレームワークを一部紹介 backbone.js (Jeremy Ashkenas作) やりたいことは自分で実装する。1ページのライブラリ。自由度の高さ。同 作者のcoffeescriptも併用すると少ない行数で快適にコーディングできた react.js
(facebook) htmlバインディングが実装されている。fluxの登場でfacebookのような複 雑なUIを大人数で設計しやすそう angular2 (google (microsoft)) rxjsを標準装備して、angular.jsより動作も早くなった感じ。記述は typescriptかjavascriptかdart 他多数
15.
Flux ※Fluxは設計手法です。 manager class classclass class classclass
class これまでのMyコード イベントやSingletonを駆使するも コードは散在しがち 自由に書けすぎた ユーザアクション、html描画、APIコー ルの実行順序と依存関係を綺麗に整理で きる Action Dispatcher Store View API Fluxのフロントエンド設計
16.
全体の感じ tornado Django API Service StoreViewAction Backend Frontend auth message requestresponsemessagepush
17.
学習に役立ったもの TodoMVC.com react.js + flux Reactive
Extensions angular2 javascript python Django tutorial https://docs.djangoproject.com/en/1.9/intro/tutorial01/ Django Rest Framework http://www.django-rest-framework.org/
18.
ぜひ素敵なウェブサービスを作ってみてください! もしくは、一緒に作りましょう! あと、最後に…
19.
2016年8月 渋谷イメージ フォーラムにて公開! 映画「フォトグラファーズ・ イン・ニューヨーク」 ※前売り券発売中 いいね! https://www.facebook.com/akarifilmsco/ (Pythonのおかげで公開実現しました) <広告>
Download