SlideShare a Scribd company logo
Vue.js + Vuex
2018/12/08
Repro Hiroaki Ninomiya
Frontend Conference Fukuoka 2018
Vue.js + Vuexチーム開発実践の事例
• ( )
•
• 3
•
• ( )
•
• 3
•
#
• Hiroaki Ninomia a.k.a treby
• Repro
• Shinjuku.rb Organizer
• Ruby
• ( )
•
•
•
•
•
•
•
•
•
Vue.js + Vuexチーム開発実践の事例
Repro
• 2014
• https://repro.io/
• BtoB SaaS
• Repro SDK
•
•
•
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
https://prtimes.jp/main/html/rd/p/000000072.000013569.html
Vue.js + Vuexチーム開発実践の事例
DAU
/day Push
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
• AWS
•
• Ruby(Rails)
• Python(AI )
• Golang( )
• ( )Ruby
• Ruby CTO
• 6
• SDK (iOS / Android)
•
•
•
• AI
• CRE( )
• QA
• 6
• SDK (iOS / Android)
•
•
•
• AI
• CRE( )
• QA
• 8
•
•
( )
•
• Vue.js / Vuex
• ES6
• (jQuery)
•
• Ruby on Rails
Vuejs
• Progressive Framework
• Declarative Rendering
• Two-way Binding
• An incrementally adoptable Ecosystem
•
Vuex
• Vue.js Vue.js
• Flux
• Repro
Ruby on Rails (Rails)
•
• (Convention over Configuration)
• Rails
•
• SDK API
•
•
•
•
•
•
•
•
• =>
Vue.js + Vuexチーム開発実践の事例
•
•
•
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
Vue.js
• v0.10.4(2014/4)
• v1.0.0(2015/10)
• v2.0.0(2016/10)
•
• Repro 2014 Vue.js
•
• 0 1 1 2
• Vue.js
(Rails
)
• v4.0.0(2013/06): Ruby JavaScript
• v4.2.0(2014/12)
• v5.0.0(2016/07): Action Cable / Rails API
• v5.1.0(2017/04): Webpack / jQuery default
• v5.2.0(2018/04)
• v6.0.0( ): CoffeeScript ES6
• https://github.com/rails/rails/pull/33079
Rails4 (3,4 )
•
• Sprockets(Asset Pipeline)
• jQuery
• CoffeeScript
• Rails JavaScript
• rails-assets
Rails Assets
• Rails Assets is the frictionless proxy between Bundler and
Bower.
• xxx-rails
• JavaScript ( )
• rails-assets-xxx Gem
Rails4 Gemfile
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.2'
:
:
gem 'rails-assets-vue'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# Use jquery as the JavaScript library
gem 'jquery-rails'
Rails4
$ ->
$btn = $("[data-toggle='backToTop']")
$btn.hide()
$(window).scroll ->
if window.scrollY > 100
$btn.fadeIn()
else
$btn.fadeOut()
$btn.on 'click', (e) ->
$('html,body').animate({ scrollTop: 0 }, 500)
Rails5 ( 1,2 )
•
• Webpack / Browserify
• React / Vue.js
• Flux
• ESNext AltJS
• Rails JavaScript
Rails 5.0
https://edgeguides.rubyonrails.org/50release_notes.html
Rails 5.0
• Action Cable
• Rails API
• Active Record Attributes API
• Test Runner
• Exclusive use of rails CLI over Rake
• Sprockets 3
• Turbolinks 5
• Ruby 2.2.2+ required
Rails 5.1
https://edgeguides.rubyonrails.org/51release_notes.html
Rails 5.1
• Yarn Support
• Optional Webpack support
• jQuery no longer a default dependency
• System tests
• Encrypted secrets
• Parameterized mailers
• Direct & resolved routes
• Unification of formfor and formtag into form_with
( Rails6 )
https://github.com/rails/rails/pull/33079
!
Rails5 Gemfile
gem "rails", "5.2.0"
:
:
gem "sass", "3.4.16"
# JS translation generator
gem "i18n-js", require: false
group :assets do
:
:
gem "sassc-rails"
gem "browserify-rails"
:
end
Rails5
import cookie from 'utils/cookie';
import Deactivater from 'mixins/deactivater';
export default {
mixins: [Deactivater],
data() {
return {
expanded: true,
appListShown: false,
};
},
methods: {
toggleAppList() {
this.appListShown = !this.appListShown;
},
closeAppList() {
this.appListShown = false;
},
:
}
:
};
• Rails4
• Rails JS
• Rails5
• Rails JS
• Rails
( )
• 6
• SDK (iOS / Android)
•
•
•
• AI
• CRE( )
• QA
( )
• 8
• SDK / Server Server (SDK )
•
•
•
Vue.js + Vuexチーム開発実践の事例
•
• Q
•
•
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
•
•
•
•
•
Vue.js + Vuexチーム開発実践の事例
Repro
• 4
•
•
•
•
Repro
( 2015 )
•
•
• Rails
• CoffeeScript + jQuery / Ruby
•
• backbone.js / Vue.js 0.10
• jQuery Vue.js
( 2015 )
( 2015 )
•
•
•
• ( )
•
Repro
( 2017 )
•
• /
• Rails
• Rails 5 /
•
• Vue.js 1 & Vue.js 2, Vuex
• ES6
( 2017 )
•
•
• ES6
• ES6 Browserify Sprockets
• CoffeeScript ES6
( 2017 )
( 2017 )
( 2017 )
( 2017 )
( 2017 )
( 2017 )
•
•
•
•
• CoffeeScript jQuery
•
Repro
( 2018 )
•
• 20 Daily
•
• Rails
• Rails5.1
•
• / npm v5
•
( 2018 )
•
•
•
• CoffeeScript ES6
• Vue component jQuery
• Vue component
Rails 5.1 ( )
https://edgeguides.rubyonrails.org/51release_notes.html
( 2018 )
•
•
• CoffeeScript ES6
• JavaScript Vue component
( 2018 )
( 2018 )
( 2018 )
( 2018 )
( 2018 )
( 2018 )
( 2018 )
•
•
• CoffeeScript ES6
• JavaScript Vue component
•
Repro
(2018 )
•
• Web SDK
•
• Rails
•
• Webpack
•
• Vue.js / React / Angular2
Vue.js + Vuexチーム開発実践の事例
Repro Web
https://jp.techcrunch.com/2018/10/04/reproweb/
(2018 )
•
•
• Repro
•
• Repro Web
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
( )
( )
(2018 )
•
•
•
•
• Pull Request
• /
Repro
Repro
( (2019 ))
•
•
•
/
/
•
•
•
•
•
•
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
( )
Pull Request
•
•
•
• Repro
•
•
•
•
•
•
•
•
• => We're Hiring!!
Vue.js + Vuexチーム開発実践の事例

More Related Content

PDF
Frontendと向き合う
PDF
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
PPTX
Codestrong 2012 breakout session alloy (mvc) app framework overview
PPTX
Alloy Framework
PDF
Practical IronRuby
PDF
Ruby Kansai #35 About RubyKaigi2009 ujihisa
PDF
Riding IronRuby on Rails
PPTX
Webium: Page Objects In Python (Eng)
Frontendと向き合う
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
Codestrong 2012 breakout session alloy (mvc) app framework overview
Alloy Framework
Practical IronRuby
Ruby Kansai #35 About RubyKaigi2009 ujihisa
Riding IronRuby on Rails
Webium: Page Objects In Python (Eng)

What's hot (11)

PDF
Plone for Education: Bibliographies
PDF
플렉스팀 프론트엔드 기술 스택의 이해: `lint`, `build`, `run`
KEY
2010.09.02 LT Doc fluxflex on JAWS-UG
PDF
ASP.NET MVC
KEY
UPenn on Rails intro
KEY
Introduction to Padrino
KEY
Deploying Rails Applications: Lessons Learned
KEY
海纳百川,有容乃大
PDF
0323社内LT大会
PPTX
Digging deeper into service stack
PDF
You Don't Know ES Modules
Plone for Education: Bibliographies
플렉스팀 프론트엔드 기술 스택의 이해: `lint`, `build`, `run`
2010.09.02 LT Doc fluxflex on JAWS-UG
ASP.NET MVC
UPenn on Rails intro
Introduction to Padrino
Deploying Rails Applications: Lessons Learned
海纳百川,有容乃大
0323社内LT大会
Digging deeper into service stack
You Don't Know ES Modules
Ad

Similar to Vue.js + Vuexチーム開発実践の事例 (20)

PDF
Web Development using Ruby on Rails
PDF
Rails - getting started
PDF
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
KEY
Backbonification for dummies - Arrrrug 10/1/2012
KEY
Ruby on Rails survival guide of an aged Java developer
PDF
Aspose pdf
PDF
Ruby vs Ruby on Rails: Find Out The Differences - RORBits
KEY
Ruby On Rails
PDF
Client Side MVC with Backbone and Rails
PDF
TorqueBox
PDF
Rails 5 subjective overview
PDF
Is Ruby on Rails Object Oriented? A Comprehensive Exploration
PDF
Use all the buzzwords
PDF
مقایسه و بررسی چهارچوب ریلز
PPTX
Mobile gotcha
PDF
Converting a Rails application to Node.js
PDF
Security Goodness with Ruby on Rails
PDF
Rails api + JS app
PDF
Introduction to rails
PDF
React on rails v6.1 at LA Ruby, November 2016
Web Development using Ruby on Rails
Rails - getting started
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
Backbonification for dummies - Arrrrug 10/1/2012
Ruby on Rails survival guide of an aged Java developer
Aspose pdf
Ruby vs Ruby on Rails: Find Out The Differences - RORBits
Ruby On Rails
Client Side MVC with Backbone and Rails
TorqueBox
Rails 5 subjective overview
Is Ruby on Rails Object Oriented? A Comprehensive Exploration
Use all the buzzwords
مقایسه و بررسی چهارچوب ریلز
Mobile gotcha
Converting a Rails application to Node.js
Security Goodness with Ruby on Rails
Rails api + JS app
Introduction to rails
React on rails v6.1 at LA Ruby, November 2016
Ad

More from treby (20)

PDF
失敗から学ぶEM方法論
PDF
モダンJSでモダンなWebアプリケーションを作ろう!
PDF
Octocatは技術的負債の夢を見るか?
PDF
Shinjuku.rb #61 RubyKaigi2018予習
PDF
The Art of Collaboration
PDF
楽しく学ぶ?API
PDF
VueとdockerとAWSとチームとアイマスと私
PDF
アイマスハッカソン2017
PDF
Sinatraで触れる生SQL
PDF
最近のRailsフロントエンド開発の紹介
PDF
たたかうFFI
PDF
mastodon API
PDF
TH@NK YOU for SMILE!!とミリオンボーダーbot
PDF
Paperclip
PDF
このみさんにPRしてもらう
PDF
reading suture
PDF
趣味から始めるWebスクレイピング
PDF
Osoji to-ban bot
PDF
Why do I make bots
PDF
BELIEVE MY DRE@M!!とミリオンボーダーbot
失敗から学ぶEM方法論
モダンJSでモダンなWebアプリケーションを作ろう!
Octocatは技術的負債の夢を見るか?
Shinjuku.rb #61 RubyKaigi2018予習
The Art of Collaboration
楽しく学ぶ?API
VueとdockerとAWSとチームとアイマスと私
アイマスハッカソン2017
Sinatraで触れる生SQL
最近のRailsフロントエンド開発の紹介
たたかうFFI
mastodon API
TH@NK YOU for SMILE!!とミリオンボーダーbot
Paperclip
このみさんにPRしてもらう
reading suture
趣味から始めるWebスクレイピング
Osoji to-ban bot
Why do I make bots
BELIEVE MY DRE@M!!とミリオンボーダーbot

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation theory and applications.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Empathic Computing: Creating Shared Understanding
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Approach and Philosophy of On baking technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation theory and applications.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
NewMind AI Weekly Chronicles - August'25 Week I
Empathic Computing: Creating Shared Understanding
Review of recent advances in non-invasive hemoglobin estimation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Reach Out and Touch Someone: Haptics and Empathic Computing
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
sap open course for s4hana steps from ECC to s4
Spectral efficient network and resource selection model in 5G networks
Understanding_Digital_Forensics_Presentation.pptx
20250228 LYD VKU AI Blended-Learning.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
Spectroscopy.pptx food analysis technology
Approach and Philosophy of On baking technology

Vue.js + Vuexチーム開発実践の事例