Upgrade to Pro — share decks privately, control downloads, hide ads and more …

“Predictable state container” and DataBinding

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for izumin5210 izumin5210
November 24, 2015

“Predictable state container” and DataBinding

Slide for potatotips #23 http://connpass.com/event/21750/

---

* Try to introduce “Explosive growth of JavaScript” into Android Java world
* Implement Droidux : rackt/redux for Android
* More at DroidKaigi 2016 !!!!!!!!!!!! (when my CFP is accepted... :p)

Avatar for izumin5210

izumin5210

November 24, 2015
Tweet

More Decks by izumin5210

Other Decks in Programming

Transcript

  1.  > Masayuki IZUMI a.k.a. @izumin5210 > Rekimoto Lab. at

    the University of Tokyo > Wantedly, Inc. > Rubyist / Androider / {Java,Type}Scripter
  2. How do you feel “Front-end JavaScript” ? \ jQuery has

    dead ! / \ Backbone has dead ! / \ AngularJS has dead ! /
  3. How do you feel “Front-end JavaScript” ? \ jQuery has

    dead ! / \ Backbone has dead ! / \ AngularJS has dead ! / \ This is generation Flux ! /
  4. How do you feel “Front-end JavaScript” ? \ jQuery has

    dead ! / \ Backbone has dead ! / \ AngularJS has dead ! / \ This is generation Flux ! / \ What’s the Flux ?! Let’s Redux ! /
  5. How do you feel “Front-end JavaScript” ? \ jQuery has

    dead ! / \ Backbone has dead ! / \ AngularJS has dead ! / \ This is generation Flux ! / \ What’s the Flux ?! Let’s Redux ! /
  6. In the meantime, the latest and greatest JavaScript framework comes

    around every sixteen minutes. - A JS framework on every table * * http://blog.livedoor.jp/sasata299/archives/51966228.html
  7. * To build user interface * To handler user interaction

    * To manage application states * ... Common purpose of JS and Android Java
  8. * To build user interface * To handler user interaction

    * To manage application states * ... Common purpose of JS and Android Java Try to introduce “Exprosive grouth of JavaScript” into Android Java
  9. * Focus on: - “How to handle user interaction” -

    “How to manage application states” In this talk...
  10. * MVC (Model - View - Controller) > Android では

    MVC より MVP の方がいいかもしれない > 実は Android では MVC の採用は結構つらいものがあります ** Applicatoin architecture on Android * http://konifar.hatenablog.com/entry/2015/04/17/010606 ** [ Android ] ‒ これからの「設計」の話をしよう http://tech.recruit-mp.co.jp/mobile/android-architecture/
  11. * MVC (Model - View - Controller) > Android では

    MVC より MVP の方がいいかもしれない > 実は Android では MVC の採用は結構つらいものがあります ** * MVP (Model - View - Presenter) * The Clean Architecture Applicatoin architecture on Android * http://konifar.hatenablog.com/entry/2015/04/17/010606 ** [ Android ] ‒ これからの「設計」の話をしよう http://tech.recruit-mp.co.jp/mobile/android-architecture/
  12. * MVW (Model - View - Whatever) e.g. AngularJS 1.x,

    Backbone.js, etc. Applicatoin architecture on JavaScript
  13. * MVW (Model - View - Whatever) e.g. AngularJS 1.x,

    Backbone.js, etc. Facebook: “leading to a tangled weave of data flow and unpredictable results” Applicatoin architecture on JavaScript
  14. * MVW (Model - View - Whatever) e.g. AngularJS 1.x,

    Backbone.js, etc. Facebook: leading to a tangled weave of data flow and unpredictable results * Flux - “Flux eschews MVC in favor of a unidirectional data flow” * * Redux - “a predictable state container for JavaScript apps.” ** Applicatoin architecture on JavaScript * https://facebook.github.io/flux/ ** http://redux.js.org/
  15. * MVW (Model - View - Whatever) e.g. AngularJS 1.x,

    Backbone.js, etc. Facebook: leading to a tangled weave of data flow and unpredictable results * Flux - “Flux eschews MVC in favor of a unidirectional data flow” * * Redux - “a predictable state container for JavaScript apps.” ** Applicatoin architecture on JavaScript * https://facebook.github.io/flux/ ** http://redux.js.org/
  16. * Try to introduce “Explosive growth of JavaScript” into our

    world - Android Java:D * Implement Droidux : rackt/redux for Android - Undirectional data flow - Single state tree - Bindable states to views using DataBinding - Implement redo/undo easily - Try to use Rx + DataBinding + predictable data container * More at DroidKaigi 2016 !!!!!!!!!!!! - when my CFP is accepted... Conclusion