Soumettre la recherche
Mettre en ligne
RailsでReact.jsを動かしてみた話
•
3 j'aime
•
4,769 vues
Y
yoshioka_cb
Suivre
フロントエンド勉強会01資料
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 37
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
ドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計する
増田 亨
商流物流金流.pdf
商流物流金流.pdf
Zenji Kanzaki
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
agileware_jp
ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718
Mao Ohnishi
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
Satoshi Kubo
Recommandé
ドメイン駆動設計 分析しながら設計する
ドメイン駆動設計 分析しながら設計する
増田 亨
商流物流金流.pdf
商流物流金流.pdf
Zenji Kanzaki
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
agileware_jp
ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718
Mao Ohnishi
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
Satoshi Kubo
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
RDRAモデリングを見てみよう
RDRAモデリングを見てみよう
Zenji Kanzaki
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
Yuki Morishita
Python 3のWebシステムでDDDに入門してみた
Python 3のWebシステムでDDDに入門してみた
Hiromu Yakura
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)
Tomohisa Kusukawa
Rdraモデリングをしよう
Rdraモデリングをしよう
Zenji Kanzaki
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
Tomohisa Kusukawa
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
不動産販売システム
不動産販売システム
Zenji Kanzaki
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
Kuniharu(州晴) AKAHANE(赤羽根)
現状分析→価値開発→仕様化 To be
現状分析→価値開発→仕様化 To be
Zenji Kanzaki
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Shinya Sugiyama
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
JustSystems Corporation
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
The First React on Rails
The First React on Rails
Kohei Ito
WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方
PIXTA Inc.
Contenu connexe
Tendances
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
RDRAモデリングを見てみよう
RDRAモデリングを見てみよう
Zenji Kanzaki
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
Yuki Morishita
Python 3のWebシステムでDDDに入門してみた
Python 3のWebシステムでDDDに入門してみた
Hiromu Yakura
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)
Tomohisa Kusukawa
Rdraモデリングをしよう
Rdraモデリングをしよう
Zenji Kanzaki
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
Tomohisa Kusukawa
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
不動産販売システム
不動産販売システム
Zenji Kanzaki
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
Kuniharu(州晴) AKAHANE(赤羽根)
現状分析→価値開発→仕様化 To be
現状分析→価値開発→仕様化 To be
Zenji Kanzaki
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Shinya Sugiyama
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
JustSystems Corporation
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
Tendances
(20)
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
Redisの特徴と活用方法について
Redisの特徴と活用方法について
RDRAモデリングを見てみよう
RDRAモデリングを見てみよう
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
Python 3のWebシステムでDDDに入門してみた
Python 3のWebシステムでDDDに入門してみた
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)
Rdraモデリングをしよう
Rdraモデリングをしよう
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
不動産販売システム
不動産販売システム
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
現状分析→価値開発→仕様化 To be
現状分析→価値開発→仕様化 To be
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Similaire à RailsでReact.jsを動かしてみた話
The First React on Rails
The First React on Rails
Kohei Ito
WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方
PIXTA Inc.
フロントエンド開発入門(React).pdf
フロントエンド開発入門(React).pdf
KSato2
React ContextとPropの違いについて
React ContextとPropの違いについて
faliplvsg
React + Reduxで作る対話AI
React + Reduxで作る対話AI
Kentaro Tada
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
Koichiro Ohba
Rails 7.1 の新機能が使いたくて調べてみた@【Techouse × Leaner共同開催】Ruby / Rails勉強会
Rails 7.1 の新機能が使いたくて調べてみた@【Techouse × Leaner共同開催】Ruby / Rails勉強会
Sho Ezawa
react_rails
react_rails
Shigeru Kondoh
React.js・ReactNative・Redux入門
React.js・ReactNative・Redux入門
Kazuhiro Yoshimoto
Play frameworkの概要
Play frameworkの概要
Shuhei Kaneko
raect.jsを触ったお話
raect.jsを触ったお話
Ryuuichi Iha
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
健人 井関
Rails composerでrails newを楽にしよう
Rails composerでrails newを楽にしよう
健太 田上
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
Recruit Lifestyle Co., Ltd.
React Native GUIDE
React Native GUIDE
dcubeio
Web制作勉強会 #2
Web制作勉強会 #2
Moto Yan
Intoroduction to React.js
Intoroduction to React.js
Yuto Matsukubo
javascript を Xcode でテスト
javascript を Xcode でテスト
Yoichiro Sakurai
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Masahiko Tachizono
React componentのコンストラクタを追いかけて
React componentのコンストラクタを追いかけて
Hoso michi
Similaire à RailsでReact.jsを動かしてみた話
(20)
The First React on Rails
The First React on Rails
WebエンジニアのReactNativeでの戦い方
WebエンジニアのReactNativeでの戦い方
フロントエンド開発入門(React).pdf
フロントエンド開発入門(React).pdf
React ContextとPropの違いについて
React ContextとPropの違いについて
React + Reduxで作る対話AI
React + Reduxで作る対話AI
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
Rails 7.1 の新機能が使いたくて調べてみた@【Techouse × Leaner共同開催】Ruby / Rails勉強会
Rails 7.1 の新機能が使いたくて調べてみた@【Techouse × Leaner共同開催】Ruby / Rails勉強会
react_rails
react_rails
React.js・ReactNative・Redux入門
React.js・ReactNative・Redux入門
Play frameworkの概要
Play frameworkの概要
raect.jsを触ったお話
raect.jsを触ったお話
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
Rails composerでrails newを楽にしよう
Rails composerでrails newを楽にしよう
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
レガシーと向き合い技術スタックを代謝する(ElasticBeanstalk / Vue.js)
React Native GUIDE
React Native GUIDE
Web制作勉強会 #2
Web制作勉強会 #2
Intoroduction to React.js
Intoroduction to React.js
javascript を Xcode でテスト
javascript を Xcode でテスト
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Rendr入門: サーバサイドで(も)動かす、Backbone.js
React componentのコンストラクタを追いかけて
React componentのコンストラクタを追いかけて
Plus de yoshioka_cb
GDG Cloud Shimane #01
GDG Cloud Shimane #01
yoshioka_cb
GCPUG Shimane #03 レポート
GCPUG Shimane #03 レポート
yoshioka_cb
GCPUG Shimane #02-2
GCPUG Shimane #02-2
yoshioka_cb
GCPUG Shimane #02-1
GCPUG Shimane #02-1
yoshioka_cb
kunibiki.rb #5 発表資料
kunibiki.rb #5 発表資料
yoshioka_cb
Rubyの開発環境(エディタ)について(Kunibiki.rb #04)
Rubyの開発環境(エディタ)について(Kunibiki.rb #04)
yoshioka_cb
自治体向けCMSをRubyで開発
自治体向けCMSをRubyで開発
yoshioka_cb
Plus de yoshioka_cb
(7)
GDG Cloud Shimane #01
GDG Cloud Shimane #01
GCPUG Shimane #03 レポート
GCPUG Shimane #03 レポート
GCPUG Shimane #02-2
GCPUG Shimane #02-2
GCPUG Shimane #02-1
GCPUG Shimane #02-1
kunibiki.rb #5 発表資料
kunibiki.rb #5 発表資料
Rubyの開発環境(エディタ)について(Kunibiki.rb #04)
Rubyの開発環境(エディタ)について(Kunibiki.rb #04)
自治体向けCMSをRubyで開発
自治体向けCMSをRubyで開発
RailsでReact.jsを動かしてみた話
1.
RailsでReact.jsを動かしてみた話 ~ Reactプラグインを動かしてみる~ 1
2.
自己紹介 ティーエム21 吉岡 ウェブサイト制作 2
3.
今日のお話のターゲット react 使ったことがある。もしくは仕事で使ってる人 3
4.
は対象外ですΣ(・口・) 4
5.
これからreactを触ってみたい人が対象です。 5
6.
アジェンダ Reactを学ぶきっかけ フロントエンドフレームワークについて なぜReact? Reactを動かす環境について HTMLにリンクを貼る Webpack(npm)を使う react‑rails(Gemで管理)を使う Webpacker(webpack, yarn)を使う Reactプラグインの紹介 Material‑UI, react‑jsonschema‑form,
React‑Bootstrap おまけ 開発環境について 6
7.
Reactを学ぶきっかけ jQueryとturbolinksの相性が致命的に悪すぎる… jQueryのコードがとっちらかってきた。 javascriptのフレームワークが流行ってる。 7
8.
条件 基本はRailsで書く!(Rubyで書けるところはRubyで書きたい。) フロント(UI)だけjavascriptで書きたい。 Rubyのコードとjavascriptのコードをうまく分離したい。 こういうやつ嫌い⇩ application.js.erb function alert_task_name(name){ alert(name); } alert_task_name(<%= @item.name %>); <% names = @items.map {|item| item.name }.to_json.html_safe %> var names = <%= names %> 8
9.
javascriptフレームワークを考える 以下、検討してみました。 Vue.js Riot.js Angular.js React.js 注)以下のレビューはあくまで個人的な主観です。 9
10.
Vue.js 軽量だし、学習コストも低いし便利な機能もいろいろあるしjQueryとの 親和性も悪く無い。 タグに属性を追加して表示をコントロール。 最近新しいバージョンも出てきていい感じ!(コンポーネント対応) 10
11.
<div id="example‐3"> <button v‐on:click="say('hi')">Say hi</button> <button v‐on:click="say('what')">Say what</button> </div> new Vue({ el: '#example‐3', methods: { say: function (message) { alert(message) } } }) 11
12.
Riot.js 実はこれ一番好き。 コンポーネント内にCSS記述できるのが良い。 Rubyとjavascriptの分離が一番しやすそう。 絶賛開発中の匂いがプンプンする。 12
13.
<html> <head> <title>Hello Riot.</title> </head> <body> <sample></sample> <script type="riot/tag" src="sample.tag"></script> <script src="https://cdn.jsdelivr.net/riot/3.0/riot+compiler.min.js"></script> <script>riot.mount('sample')</script> </body> </html> <sample> <h3>{ message }</h3> <ul> <li each={ techs }>{ name }</li> </ul> <script> this.message = 'Hello, Riot!' this.techs = [ { name: 'HTML' }, { name: 'JavaScript' }, { name: 'CSS' } ] </script> <style> :scope { font‐size: 2rem } h3 { color: #444 } ul { color: #999 } </style> </sample> 13
14.
Angular.js うーん。動かして無いけど(ドキュメントチラ見しただけ) ちょっと難しそう。 結構サーバサイドもnode.jsで書くやり方をよく見かけた。 14
15.
React.js 悪く無いけど学習コストがそこそこ。でも、一番信頼性がありそうなプ ロダクト。ご存知FBで使用されている。 15
16.
なぜReact? 16
17.
昨年末の出来事です 以下の情報が自分の耳に入ってきて。。。 rails5.1からjQueryが廃止されるらしい。 それで、webpackでフロント周りのパッケージ管理ができるように なるらしい。 さらに、reactもデフォルトになるかも… 17
18.
Reactを動かす環境について HTMLにリンクを貼る webpackを使う(npm) react‑rails(RubyGem) webpacker(Yarn+ RubyGem) 18
19.
HTMLにリンクを貼る 一番オーソドックスな試し方。 19
20.
まぁ、これでもいいけどリンク色々貼らないといけないので面倒。 <html> <head> <title>React sample CDN</title> <script src="https://unpkg.com/react@15/dist/react.min.js"></script> <script src="https://unpkg.com/react‐dom@15/dist/react‐dom.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.0‐alpha1/JSXTransformer.js"></script </head> <body> <div id="app"></div> <script type="text/jsx"> var CommentBox = React.createClass({ render: function() { return ( <div className="commentBox">Hello, world!</div> ); } }); ReactDOM.render( <CommentBox />, document.getElementById('app')); </script> </body> </html> 20
21.
webpackを使う(npm) とりあえず流行っているので使ってみる。 21
22.
# ディレクトリ構成 webpack‐sample ├─ node_module │ └─ (省略) ├─ public │ ├─bundle.js │ ├─bundle.js.map │ └─index.html ├─ src │ └─ app.js ├─ package.json └─ webpack.config.js src/app.js import React from 'react'; import ReactDom from 'react‐dom'; var CommentBox = React.createClass({ render: function() { return ( <div className="commentBox"> Hello, world!</div> ); } }); ReactDom.render( <CommentBox />, document.getElementById('app')); 22
23.
色々なことができるみたいだけど、正直学習コスト高い気がする。 (npmから出直しておいで) 23
24.
サンプルファイル https://github.com/yoshiokaCB/webpack‑react‑sample 24
25.
react‑rails(RubyGem) javascriptのファイルを全てSproketsで管理。 /app/assets/javascript/commponents/ react‑railsはgemがファイルを管理してくれる。 パスの設定が簡単な感じ。(Rails知っている人なら簡単かも) Gemfile gem 'react‐rails' $ bundle $ rails g react:install 25
26.
/app/views/comments/index.html.erb <h1>Comments#index</h1> <p>Find me in app/views/comments/index.html.erb</p> <%= react_component('CommentBox') %> <%= react_component('CommentBox1', notice: "引数渡すテスト") %> /app/assets/javascript/commponents/hellow_react.js.jsx var CommentBox = React.createClass({ render: function() { return( <h1>Hello React!</h1> ) } }); /app/assets/javascript/commponents/comment_box.js.jsx class CommentBox1 extends React.Component { constructor(props) { super(props); } render() { return( <div className='commentBox'> <h1>Hello world!</h1> <p>notice:{this.props.notice}</p> </div> ); } } 26
27.
サンプルファイル https://github.com/yoshiokaCB/react‑rails‑sample 参考サイト https://github.com/reactjs/react‑rails http://qiita.com/joe‑re/items/96f12dda4a62470d1d7c 27
28.
疑問 import, requireってできるんだっけ? 別ファイルに書いたコンポーネント読み込みたいんですが… プラグインってどうやって使うの? 28
29.
webpacker(Yarn+ RubyGem) githubのrailsの中にwebpackerなるものが… とりあえずwebpackerを動かしてみる。 注)webpack‑rails とは別のgemになりますのでご注意ください。 29
30.
動かし方は先々週したので今日はしない。詳しくはここをみる。 http://qiita.com/yoshiokaCB/items/564ed0440f0428c0009a github https://github.com/rails/webpacker サンプルコード https://github.com/yoshiokaCB/react‑webpacker‑sample 30
31.
良いこと Rails用の初期設定ファイルを書き出してくれる。 Railsとの相性が良い。webpackをとりあえず使える(学習コス ト)。 Reactが簡単にインストールできる。 31
32.
AngularもインストールできるようになってるΣ(゚д゚;) 32
33.
プラグインを動かしてみる react‑bootstrap material‑ui react‑jsonschema‑form 33
34.
開発環境 34
35.
エディター Atom(おすすめ) RubyMine 35
36.
プラグイン(Atom) atom‑beautify autoconse‑html autocomplete‑paths japanese‑menu project‑manager file‑icons vim‑mode ex‑mode react react‑es6‑snippets 36
37.
ご静聴ありがとうございました。 37
Télécharger maintenant