Wulin kungfu final

Click here to load reader

  • date post

  • Category


  • view

  • download


Embed Size (px)


My topic on RubyConfChina2012, introduces wulin_master gem which is used for building enterprise application with ruby.

Transcript of Wulin kungfu final

  • 1. Wulin Kungfu Fight for Ruby Enterprise problems

2. Background! FIFA World Cup 2010 in South Africa! BSS software managing the Broadcasting of the event ! TV and Radio orders ! Broadcasting instructions ! Temporal booking ! Spatial booking ! Finance 3. Problems! Extjs (everything is JavaScript)! Code duplication! Controllers setup for the JSON! JavaScript setup of the grid and screens! Heavy UI - Instability 4. We hope ! Lighter! Easier! DSL! Faster productivity 5. Birth of WulinMaster 6. WulinMaster! A Ruby on Rails based framework! For resolving enterprise problems! Developer friendly! Extensible 7. ! Application Interface 8. Tools and technologies! Based on:! Ruby on Rails ( >= 3.1 )! SlickGrid ( https://github.com/mleibman/SlickGrid )! jQuery plugins (jQuery UI, BBQ )! The Wulin plugins are Rails Engines.! Use JSON as communication format. 9. Architecture Your Application WulinOAuthWulinScreenController WulinHomeControllerWulinScreenGridAction GridBehavior WulinPermit Other WulinWulinGridGridColumn GridRelation WulinAuditPluginsWulinPanelGridStates WulinMaster WulinExcel Ruby on RailsSlickGrid jQuery Plugins 10. Create Your Guild 11. Wulin generator rails g wulin_master:installcreate app/controllers/homepage_controller.rb (menu configuration)create config/initializers/wulin_master.rbroute root :to => homepage#index 12. Build the menu# app/controllers/homepage_controller.rb 13. Wulin Grid! Fundamental component! Remote data! Auto cell types! Association columns 14. Wulin Screen! Fundamental container! One/more grids/panels! Specific configurations for grids in it 15. Rails MVCWulin MVCModelViewModelgridgrid Screen both changeController Controller Auto generated BrowserBrowser 16. Build a screen and a grid rails g wulin_master:screen_and_grid blogger name:string age:integer country:referencecreatedb/migrate/20121115075159_create_bloggers.rbcreateapp/controllers/bloggers_controller.rbcreateapp/screens/blogger_screen.rbcreateapp/grids/blogger_grid.rbcreateapp/models/blogger.rbcreateapp/views/bloggersrouteresources :bloggers 17. # app/grids/blogger_grid.rb# app/screens/blogger_screen.rb 18. Your first house! 19. Furnish it! Grid Action! Grid Behavior! Grid Relation 20. Grid Action! A toolbar button! Active respond to a user event! Implemented in JavaScript! Default actions are: Add, Edit, Delete! Plugins might provide default actions such as Export Excel, Audit, etc. 21. Grid Behavior! Passive Triggered by grid event! Implemented by JavaScript! Default behaviors 22. # app/assets/javascripts/actions/show_info.js 23. # app/assets/javascripts/behaviors/say_hello.js 24. Grid Relation! One screen, multiple grids! Interaction between grids! Default relations 25. # app/screens/bloggers_posts_screen.rb 26. Level up! 27. Crafting your own weapon! Rails Engine! Write your own components! Define your own actions / behaviors! Equip it 28. Open source! http://github.com/ekohe/wulin_demo! http://github/com/ekohe/wulin_master! http://wulin_demo.ekohe.com 29. Jimmy Huang (jimmy@ekohe.com)@pake007