Data intensive RIAs on                  Rails with very little code                            Forrest chang              ...
Question(1 of many)Friday, February 1, 2013
Who works with                               Rails?Friday, February 1, 2013
Why do you love                               rails?Friday, February 1, 2013
improving web                            developmentFriday, February 1, 2013
improving web                                development                      • FastFriday, February 1, 2013
improving web                                development                      • Fast                      • FunFriday, Feb...
improving web                                development                      • Fast                      • Fun           ...
Some things Rails                               providesFriday, February 1, 2013
Some things Rails                               provides                      • Structure (You know where things go/      ...
Some things Rails                                provides                      • Structure (You know where things go/     ...
Some things Rails                                 provides                      • Structure (You know where things go/    ...
Some things Rails                                 provides                      • Structure (You know where things go/    ...
Some things Rails                                 provides                      • Structure (You know where things go/    ...
What kinds of apps                       do you make with                            Rails?Friday, February 1, 2013
how about these                            kinds of appsFriday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
data richFriday, February 1, 2013
Data rich appsFriday, February 1, 2013
Data rich apps                      • Data managementFriday, February 1, 2013
Data rich apps                      • Data management                      • Complex GUIFriday, February 1, 2013
Data rich apps                      • Data management                      • Complex GUI                      • Complex da...
Rich internet                            applicationFriday, February 1, 2013
Rich internet                                application                      • AJAXFriday, February 1, 2013
Rich internet                                application                      • AJAX                      • Single pageFri...
Rich internet                                application                      • AJAX                      • Single page   ...
Friday, February 1, 2013
how would you use                      rails do make the                         following?Friday, February 1, 2013
Friday, February 1, 2013
Some things Rails                            provides (revisited)                      • Structure (You know where things ...
Friday, February 1, 2013
ControllerFriday, February 1, 2013
Controller                           ControllerFriday, February 1, 2013
Controller                           Controller                                        ControllerFriday, February 1, 2013
Controller                           Controller                                         Controller                        ...
Controller                           Controller                                         Controller                        ...
ControllerController                           Controller                                            Controller           ...
ControllerController                           Controller                                            Controller           ...
ControllerController                           Controller                                            Controller           ...
ControllerController                           Controller                                            Controller           ...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
ControllerController                           Controller                                            Controller          P...
etc.Friday, February 1, 2013
but wait, there’s                                more!Friday, February 1, 2013
single page appFriday, February 1, 2013
single page app                      • Structure                           • Backbone                           • Ember   ...
Friday, February 1, 2013
What if you could                           do it in just a few                                  lines?Friday, February 1,...
netzkeFriday, February 1, 2013
netzke?Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Kudos from Matz!Friday, February 1, 2013
Kudos from Matz!                             Good stuffFriday, February 1, 2013
Kudos from Matz!                                   Good stuff                           Netzke FTW!Friday, February 1, 2013
Netzke: a DSL to                            write gui web                             componentsFriday, February 1, 2013
netzke = Rails + ext                            jsFriday, February 1, 2013
Friday, February 1, 2013
extjsFriday, February 1, 2013
extjs                      • Hundreds of componentsFriday, February 1, 2013
extjs                      • Hundreds of components                      • Component based architectureFriday, February 1,...
extjs                      • Hundreds of components                      • Component based architecture                   ...
extjs                      • Hundreds of components                      • Component based architecture                   ...
extjs                      • Hundreds of components                      • Component based architecture                   ...
extjs                      • Hundreds of components                      • Component based architecture                   ...
extjs                      • Hundreds of components                      • Component based architecture                   ...
extjs                      • Hundreds of components                      • Component based architecture                   ...
EXTJS                 Y U NO HAVE FREE, PERMISSIVE LICENSE!Friday, February 1, 2013
Friday, February 1, 2013
PROBABLY WORTH                        IT IF YOU NEED A                          DATA RICH RIAFriday, February 1, 2013
Ext JS?Friday, February 1, 2013
Ext JS?                      • Best RIA framework (cuz it’s pay and                        it’s all they do, next best is ...
Ext JS?                      • Best RIA framework (cuz it’s pay and                        it’s all they do, next best is ...
Ext JS?                      • Best RIA framework (cuz it’s pay and                        it’s all they do, next best is ...
Ext JS?                      • Best RIA framework (cuz it’s pay and                        it’s all they do, next best is ...
MissingFriday, February 1, 2013
Missing                      • Seamless service side bindings (you do                        it yourself)Friday, February ...
Missing                      • Seamless service side bindings (you do                        it yourself)                 ...
ExtJS: Component based                           frameworkFriday, February 1, 2013
ExtJS: Component based                           framework                      • ReusabilityFriday, February 1, 2013
ExtJS: Component based                           framework                      • Reusability                      • Exten...
ExtJS: Component based                           framework                      • Reusability                      • Exten...
ExtJS: Component based                           framework                      • Reusability                      • Exten...
ExtJS: Front end                               focusedFriday, February 1, 2013
Benefits of Starting                             From the ServerFriday, February 1, 2013
Benefits of Starting                             From the Server                      • Authentication/AuthorizationFriday,...
Benefits of Starting                             From the Server                      • Authentication/Authorization       ...
Benefits of Starting                             From the Server                      • Authentication/Authorization       ...
Benefits of Starting                             From the Server                      • Authentication/Authorization       ...
netzkeFriday, February 1, 2013
netzke                      • Rails + Ext JSFriday, February 1, 2013
netzke                      • Rails + Ext JS                      • Server and client working together                    ...
netzke                      • Rails + Ext JS                      • Server and client working together                    ...
client + server = WIN!Friday, February 1, 2013
client + server = WIN!                      • Single point of configurationFriday, February 1, 2013
client + server = WIN!                      • Single point of configuration                      • TestabilityFriday, Febru...
client + server = WIN!                      • Single point of configuration                      • Testability             ...
client + server = WIN!                      • Single point of configuration                      • Testability             ...
A netzke component is a                    ruby class represented                   by an ext js component in             ...
Ruby class                            responsibilities                      • Generate Ext JS counterpart (client         ...
Netzke component                           Ruby class:                           class SimpleComponent < Netzke::Base     ...
some netzke                            featuresFriday, February 1, 2013
client server                            interactionFriday, February 1, 2013
nestingFriday, February 1, 2013
inheritanceFriday, February 1, 2013
Customization                            Customize nearly everythingFriday, February 1, 2013
<RANT>Friday, February 1, 2013
Hate “write it yourself                            scratch”                      • GUI items via HTML                     ...
Hate the front/backend                          duplications                      • Models on both ends                   ...
In Netzke, Single                                Point of                             configurationFriday, February 1, 2013
</RANT>Friday, February 1, 2013
Rails setupFriday, February 1, 2013
Rails setup                      • Copy extjs lib to public/extjsFriday, February 1, 2013
Rails setup                      • Copy extjs lib to public/extjs                      • Copy famfamfam_silk_icons to imag...
Rails setup                      • Copy extjs lib to public/extjs                      • Copy famfamfam_silk_icons to imag...
Rails setup                      • Copy extjs lib to public/extjs                      • Copy famfamfam_silk_icons to imag...
Rails setup                      • Copy extjs lib to public/extjs                      • Copy famfamfam_silk_icons to imag...
why netzke?Friday, February 1, 2013
why netzke?                      • Clean client (Ext JS)/server (Rails)                        integrationFriday, February...
why netzke?                      • Clean client (Ext JS)/server (Rails)                        integration                ...
why netzke?                      • Clean client (Ext JS)/server (Rails)                        integration                ...
why netzke?                      • Clean client (Ext JS)/server (Rails)                        integration                ...
instead of canned                               examples...Friday, February 1, 2013
My AppFriday, February 1, 2013
Audit Log Archive App                      • Audit Log data for our Salesforce.com                        instance taking ...
APP WALK                           THROUGHFriday, February 1, 2013
screen by screen                                 codeFriday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
Friday, February 1, 2013
That’s all the code!Friday, February 1, 2013
Netzke showcase                                   apps                            (i.e. examples)Friday, February 1, 2013
http://yanit.heroku.com/Friday, February 1, 2013
http://netzke-demo.herokuapp.com/Friday, February 1, 2013
http://netzke-desktop-demo.heroku.com/Friday, February 1, 2013
BenefitsFriday, February 1, 2013
Benefits                      • Server multiplexingFriday, February 1, 2013
Benefits                      • Server multiplexing                      • Reusable components - OO codingFriday, February ...
Benefits                      • Server multiplexing                      • Reusable components - OO coding                 ...
Benefits                      • Server multiplexing                      • Reusable components - OO coding                 ...
Benefits                      • Server multiplexing                      • Reusable components - OO coding                 ...
Benefits                      • Server multiplexing                      • Reusable components - OO coding                 ...
DrawbacksFriday, February 1, 2013
Drawbacks                      • ExtJS License (YMMV)Friday, February 1, 2013
Drawbacks                      • ExtJS License (YMMV)                      • Netzke documentation good but sometimes stuff...
Drawbacks                      • ExtJS License (YMMV)                      • Netzke documentation good but sometimes stuff...
Drawbacks                      • ExtJS License (YMMV)                      • Netzke documentation good but sometimes stuff...
Drawbacks                      • ExtJS License (YMMV)                      • Netzke documentation good but sometimes stuff...
Drawbacks                      • ExtJS License (YMMV)                      • Netzke documentation good but sometimes stuff...
Drawbacks                      • ExtJS License (YMMV)                      • Netzke documentation good but sometimes stuff...
CONCLUSIONFriday, February 1, 2013
CONCLUSION                      • Netzke awesome for Data Rich RIA’sFriday, February 1, 2013
CONCLUSION                      • Netzke awesome for Data Rich RIA’s                      • Focus on what you want to solv...
CONCLUSION                      • Netzke awesome for Data Rich RIA’s                      • Focus on what you want to solv...
CONCLUSION                      • Netzke awesome for Data Rich RIA’s                      • Focus on what you want to solv...
Resources                      • http://netzke.org                      • showcase apps                      • https://gro...
Credit to @nomadcoder                      • For writing @netzke (awesome!)                      • For material from his s...
Friday, February 1, 2013
Upcoming SlideShare
Loading in...5
×

Data Intensive RIAs on Rails with very little code (Netzke)

1,388

Published on

Netzke presentation done at OCRuby 1/31/2013

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,388
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Data Intensive RIAs on Rails with very little code (Netzke)

  1. 1. Data intensive RIAs on Rails with very little code Forrest chang OCruby 1/31/2013Friday, February 1, 2013
  2. 2. Question(1 of many)Friday, February 1, 2013
  3. 3. Who works with Rails?Friday, February 1, 2013
  4. 4. Why do you love rails?Friday, February 1, 2013
  5. 5. improving web developmentFriday, February 1, 2013
  6. 6. improving web development • FastFriday, February 1, 2013
  7. 7. improving web development • Fast • FunFriday, February 1, 2013
  8. 8. improving web development • Fast • Fun • EasyFriday, February 1, 2013
  9. 9. Some things Rails providesFriday, February 1, 2013
  10. 10. Some things Rails provides • Structure (You know where things go/ are)Friday, February 1, 2013
  11. 11. Some things Rails provides • Structure (You know where things go/ are) • MVCFriday, February 1, 2013
  12. 12. Some things Rails provides • Structure (You know where things go/ are) • MVC • File structureFriday, February 1, 2013
  13. 13. Some things Rails provides • Structure (You know where things go/ are) • MVC • File structure • Declarative DSL/State what you meanFriday, February 1, 2013
  14. 14. Some things Rails provides • Structure (You know where things go/ are) • MVC • File structure • Declarative DSL/State what you mean • GeneratorsFriday, February 1, 2013
  15. 15. What kinds of apps do you make with Rails?Friday, February 1, 2013
  16. 16. how about these kinds of appsFriday, February 1, 2013
  17. 17. Friday, February 1, 2013
  18. 18. Friday, February 1, 2013
  19. 19. Friday, February 1, 2013
  20. 20. data richFriday, February 1, 2013
  21. 21. Data rich appsFriday, February 1, 2013
  22. 22. Data rich apps • Data managementFriday, February 1, 2013
  23. 23. Data rich apps • Data management • Complex GUIFriday, February 1, 2013
  24. 24. Data rich apps • Data management • Complex GUI • Complex data and flowsFriday, February 1, 2013
  25. 25. Rich internet applicationFriday, February 1, 2013
  26. 26. Rich internet application • AJAXFriday, February 1, 2013
  27. 27. Rich internet application • AJAX • Single pageFriday, February 1, 2013
  28. 28. Rich internet application • AJAX • Single page • Desktop app like appsFriday, February 1, 2013
  29. 29. Friday, February 1, 2013
  30. 30. how would you use rails do make the following?Friday, February 1, 2013
  31. 31. Friday, February 1, 2013
  32. 32. Some things Rails provides (revisited) • Structure (You know where things go/ are) • MVC • File structure • Declarative/State what you mean • GeneratorsFriday, February 1, 2013
  33. 33. Friday, February 1, 2013
  34. 34. ControllerFriday, February 1, 2013
  35. 35. Controller ControllerFriday, February 1, 2013
  36. 36. Controller Controller ControllerFriday, February 1, 2013
  37. 37. Controller Controller Controller ControllerFriday, February 1, 2013
  38. 38. Controller Controller Controller Controller ControllerFriday, February 1, 2013
  39. 39. ControllerController Controller Controller Controller ControllerFriday, February 1, 2013
  40. 40. ControllerController Controller Controller Model Controller ControllerFriday, February 1, 2013
  41. 41. ControllerController Controller Controller Model Model Controller ControllerFriday, February 1, 2013
  42. 42. ControllerController Controller Controller Model Model Controller Model ControllerFriday, February 1, 2013
  43. 43. ControllerController Controller Controller Partial Model Model Controller Model ControllerFriday, February 1, 2013
  44. 44. ControllerController Controller Controller Partial Model Model Partial Controller Model ControllerFriday, February 1, 2013
  45. 45. ControllerController Controller Controller Partial Model Model Partial Partial Controller Model ControllerFriday, February 1, 2013
  46. 46. ControllerController Controller Controller Partial Model Model Partial Partial Controller Model Partial ControllerFriday, February 1, 2013
  47. 47. ControllerController Controller Controller Partial Model Model Partial Partial Controller Model Partial Partial ControllerFriday, February 1, 2013
  48. 48. ControllerController Controller Controller Partial Model Model AJAX Partial Partial Controller Model Partial Partial ControllerFriday, February 1, 2013
  49. 49. ControllerController Controller Controller Partial AJAX Model Model AJAX Partial Partial Controller Model Partial Partial ControllerFriday, February 1, 2013
  50. 50. ControllerController Controller Controller Partial AJAX Model Model AJAX Partial Partial AJAX Controller Model Partial Partial ControllerFriday, February 1, 2013
  51. 51. ControllerController Controller Controller Partial AJAX Model Model AJAX Partial Partial AJAX AJAX Controller Model Partial Partial ControllerFriday, February 1, 2013
  52. 52. ControllerController Controller Controller Partial AJAX Model Model AJAX Partial Partial AJAX AJAX Controller Model Partial Partial AJAX ControllerFriday, February 1, 2013
  53. 53. ControllerController Controller Controller Partial AJAX Model Model AJAX AJAX Partial Partial AJAX AJAX Controller Model Partial Partial AJAX ControllerFriday, February 1, 2013
  54. 54. etc.Friday, February 1, 2013
  55. 55. but wait, there’s more!Friday, February 1, 2013
  56. 56. single page appFriday, February 1, 2013
  57. 57. single page app • Structure • Backbone • Ember • etc.? • Widgets • Libraries • etc.Friday, February 1, 2013
  58. 58. Friday, February 1, 2013
  59. 59. What if you could do it in just a few lines?Friday, February 1, 2013
  60. 60. netzkeFriday, February 1, 2013
  61. 61. netzke?Friday, February 1, 2013
  62. 62. Friday, February 1, 2013
  63. 63. Friday, February 1, 2013
  64. 64. Friday, February 1, 2013
  65. 65. Friday, February 1, 2013
  66. 66. Friday, February 1, 2013
  67. 67. Kudos from Matz!Friday, February 1, 2013
  68. 68. Kudos from Matz! Good stuffFriday, February 1, 2013
  69. 69. Kudos from Matz! Good stuff Netzke FTW!Friday, February 1, 2013
  70. 70. Netzke: a DSL to write gui web componentsFriday, February 1, 2013
  71. 71. netzke = Rails + ext jsFriday, February 1, 2013
  72. 72. Friday, February 1, 2013
  73. 73. extjsFriday, February 1, 2013
  74. 74. extjs • Hundreds of componentsFriday, February 1, 2013
  75. 75. extjs • Hundreds of components • Component based architectureFriday, February 1, 2013
  76. 76. extjs • Hundreds of components • Component based architecture • Well documentedFriday, February 1, 2013
  77. 77. extjs • Hundreds of components • Component based architecture • Well documented • Active communityFriday, February 1, 2013
  78. 78. extjs • Hundreds of components • Component based architecture • Well documented • Active community • Maintained by a companyFriday, February 1, 2013
  79. 79. extjs • Hundreds of components • Component based architecture • Well documented • Active community • Maintained by a company • Dual LicenseFriday, February 1, 2013
  80. 80. extjs • Hundreds of components • Component based architecture • Well documented • Active community • Maintained by a company • Dual License • GPLFriday, February 1, 2013
  81. 81. extjs • Hundreds of components • Component based architecture • Well documented • Active community • Maintained by a company • Dual License • GPL • CommercialFriday, February 1, 2013
  82. 82. EXTJS Y U NO HAVE FREE, PERMISSIVE LICENSE!Friday, February 1, 2013
  83. 83. Friday, February 1, 2013
  84. 84. PROBABLY WORTH IT IF YOU NEED A DATA RICH RIAFriday, February 1, 2013
  85. 85. Ext JS?Friday, February 1, 2013
  86. 86. Ext JS? • Best RIA framework (cuz it’s pay and it’s all they do, next best is far from it)Friday, February 1, 2013
  87. 87. Ext JS? • Best RIA framework (cuz it’s pay and it’s all they do, next best is far from it) • Cross platformFriday, February 1, 2013
  88. 88. Ext JS? • Best RIA framework (cuz it’s pay and it’s all they do, next best is far from it) • Cross platform • Examples and documentationFriday, February 1, 2013
  89. 89. Ext JS? • Best RIA framework (cuz it’s pay and it’s all they do, next best is far from it) • Cross platform • Examples and documentation • Maintained by company/support/ trainingFriday, February 1, 2013
  90. 90. MissingFriday, February 1, 2013
  91. 91. Missing • Seamless service side bindings (you do it yourself)Friday, February 1, 2013
  92. 92. Missing • Seamless service side bindings (you do it yourself) • Server driven configuration (you do both sides driving however you want)Friday, February 1, 2013
  93. 93. ExtJS: Component based frameworkFriday, February 1, 2013
  94. 94. ExtJS: Component based framework • ReusabilityFriday, February 1, 2013
  95. 95. ExtJS: Component based framework • Reusability • ExtensibilityFriday, February 1, 2013
  96. 96. ExtJS: Component based framework • Reusability • Extensibility • Compose-abilityFriday, February 1, 2013
  97. 97. ExtJS: Component based framework • Reusability • Extensibility • Compose-ability • EventsFriday, February 1, 2013
  98. 98. ExtJS: Front end focusedFriday, February 1, 2013
  99. 99. Benefits of Starting From the ServerFriday, February 1, 2013
  100. 100. Benefits of Starting From the Server • Authentication/AuthorizationFriday, February 1, 2013
  101. 101. Benefits of Starting From the Server • Authentication/Authorization • DataFriday, February 1, 2013
  102. 102. Benefits of Starting From the Server • Authentication/Authorization • Data • Business LogicFriday, February 1, 2013
  103. 103. Benefits of Starting From the Server • Authentication/Authorization • Data • Business Logic • RubyFriday, February 1, 2013
  104. 104. netzkeFriday, February 1, 2013
  105. 105. netzke • Rails + Ext JSFriday, February 1, 2013
  106. 106. netzke • Rails + Ext JS • Server and client working together seamlesslyFriday, February 1, 2013
  107. 107. netzke • Rails + Ext JS • Server and client working together seamlessly • and easilyFriday, February 1, 2013
  108. 108. client + server = WIN!Friday, February 1, 2013
  109. 109. client + server = WIN! • Single point of configurationFriday, February 1, 2013
  110. 110. client + server = WIN! • Single point of configuration • TestabilityFriday, February 1, 2013
  111. 111. client + server = WIN! • Single point of configuration • Testability • ResuabilityFriday, February 1, 2013
  112. 112. client + server = WIN! • Single point of configuration • Testability • Resuability • Code encapsulationFriday, February 1, 2013
  113. 113. A netzke component is a ruby class represented by an ext js component in the browserFriday, February 1, 2013
  114. 114. Ruby class responsibilities • Generate Ext JS counterpart (client class) • Configure it’s client class instance • Run any server side logic • Handle nesting, dynamic loading, etc.Friday, February 1, 2013
  115. 115. Netzke component Ruby class: class SimpleComponent < Netzke::Base end and it’s corresponding JS class Ext.define(‘Netzke.classes.SimpleComponent’, { // ... });Friday, February 1, 2013
  116. 116. some netzke featuresFriday, February 1, 2013
  117. 117. client server interactionFriday, February 1, 2013
  118. 118. nestingFriday, February 1, 2013
  119. 119. inheritanceFriday, February 1, 2013
  120. 120. Customization Customize nearly everythingFriday, February 1, 2013
  121. 121. <RANT>Friday, February 1, 2013
  122. 122. Hate “write it yourself scratch” • GUI items via HTML • Markup • StyleFriday, February 1, 2013
  123. 123. Hate the front/backend duplications • Models on both ends • Logic on both endsFriday, February 1, 2013
  124. 124. In Netzke, Single Point of configurationFriday, February 1, 2013
  125. 125. </RANT>Friday, February 1, 2013
  126. 126. Rails setupFriday, February 1, 2013
  127. 127. Rails setup • Copy extjs lib to public/extjsFriday, February 1, 2013
  128. 128. Rails setup • Copy extjs lib to public/extjs • Copy famfamfam_silk_icons to images/icons (optional)Friday, February 1, 2013
  129. 129. Rails setup • Copy extjs lib to public/extjs • Copy famfamfam_silk_icons to images/icons (optional) • Gemfile gem ‘netzke-core’ # presently point to github gem ‘netzke-basepack’Friday, February 1, 2013
  130. 130. Rails setup • Copy extjs lib to public/extjs • Copy famfamfam_silk_icons to images/icons (optional) • Gemfile gem ‘netzke-core’ # presently point to github gem ‘netzke-basepack’ • add to routes.rb netzke # all data and dynamic loading routesFriday, February 1, 2013
  131. 131. Rails setup • Copy extjs lib to public/extjs • Copy famfamfam_silk_icons to images/icons (optional) • Gemfile gem ‘netzke-core’ # presently point to github gem ‘netzke-basepack’ • add to routes.rb netzke # all data and dynamic loading routes • Add to header of the appropriate layout <%= csrf_meta_tag %> <%= load_netzke %>Friday, February 1, 2013
  132. 132. why netzke?Friday, February 1, 2013
  133. 133. why netzke? • Clean client (Ext JS)/server (Rails) integrationFriday, February 1, 2013
  134. 134. why netzke? • Clean client (Ext JS)/server (Rails) integration • Built in components that understand RailsFriday, February 1, 2013
  135. 135. why netzke? • Clean client (Ext JS)/server (Rails) integration • Built in components that understand Rails • Easy to compose and reuse componentsFriday, February 1, 2013
  136. 136. why netzke? • Clean client (Ext JS)/server (Rails) integration • Built in components that understand Rails • Easy to compose and reuse components • Stop writing everything from scratch on both front and back endsFriday, February 1, 2013
  137. 137. instead of canned examples...Friday, February 1, 2013
  138. 138. My AppFriday, February 1, 2013
  139. 139. Audit Log Archive App • Audit Log data for our Salesforce.com instance taking up all our space, so need to archive it, but still get access off line • Salesforce.com database, i.e. legacyFriday, February 1, 2013
  140. 140. APP WALK THROUGHFriday, February 1, 2013
  141. 141. screen by screen codeFriday, February 1, 2013
  142. 142. Friday, February 1, 2013
  143. 143. Friday, February 1, 2013
  144. 144. Friday, February 1, 2013
  145. 145. Friday, February 1, 2013
  146. 146. Friday, February 1, 2013
  147. 147. Friday, February 1, 2013
  148. 148. Friday, February 1, 2013
  149. 149. Friday, February 1, 2013
  150. 150. Friday, February 1, 2013
  151. 151. Friday, February 1, 2013
  152. 152. Friday, February 1, 2013
  153. 153. Friday, February 1, 2013
  154. 154. Friday, February 1, 2013
  155. 155. Friday, February 1, 2013
  156. 156. Friday, February 1, 2013
  157. 157. Friday, February 1, 2013
  158. 158. Friday, February 1, 2013
  159. 159. Friday, February 1, 2013
  160. 160. Friday, February 1, 2013
  161. 161. Friday, February 1, 2013
  162. 162. Friday, February 1, 2013
  163. 163. Friday, February 1, 2013
  164. 164. Friday, February 1, 2013
  165. 165. Friday, February 1, 2013
  166. 166. Friday, February 1, 2013
  167. 167. Friday, February 1, 2013
  168. 168. Friday, February 1, 2013
  169. 169. Friday, February 1, 2013
  170. 170. Friday, February 1, 2013
  171. 171. Friday, February 1, 2013
  172. 172. Friday, February 1, 2013
  173. 173. That’s all the code!Friday, February 1, 2013
  174. 174. Netzke showcase apps (i.e. examples)Friday, February 1, 2013
  175. 175. http://yanit.heroku.com/Friday, February 1, 2013
  176. 176. http://netzke-demo.herokuapp.com/Friday, February 1, 2013
  177. 177. http://netzke-desktop-demo.heroku.com/Friday, February 1, 2013
  178. 178. BenefitsFriday, February 1, 2013
  179. 179. Benefits • Server multiplexingFriday, February 1, 2013
  180. 180. Benefits • Server multiplexing • Reusable components - OO codingFriday, February 1, 2013
  181. 181. Benefits • Server multiplexing • Reusable components - OO coding • The power of Ext JSFriday, February 1, 2013
  182. 182. Benefits • Server multiplexing • Reusable components - OO coding • The power of Ext JS • Dynamic LoadingFriday, February 1, 2013
  183. 183. Benefits • Server multiplexing • Reusable components - OO coding • The power of Ext JS • Dynamic Loading • Quick DevelopmentFriday, February 1, 2013
  184. 184. Benefits • Server multiplexing • Reusable components - OO coding • The power of Ext JS • Dynamic Loading • Quick Development • Easy to code if your needs match the examplesFriday, February 1, 2013
  185. 185. DrawbacksFriday, February 1, 2013
  186. 186. Drawbacks • ExtJS License (YMMV)Friday, February 1, 2013
  187. 187. Drawbacks • ExtJS License (YMMV) • Netzke documentation good but sometimes stuff missingFriday, February 1, 2013
  188. 188. Drawbacks • ExtJS License (YMMV) • Netzke documentation good but sometimes stuff missing • Needs to know Ext JS for certain partsFriday, February 1, 2013
  189. 189. Drawbacks • ExtJS License (YMMV) • Netzke documentation good but sometimes stuff missing • Needs to know Ext JS for certain parts • Needs ActiveRecordSession store, session hungryFriday, February 1, 2013
  190. 190. Drawbacks • ExtJS License (YMMV) • Netzke documentation good but sometimes stuff missing • Needs to know Ext JS for certain parts • Needs ActiveRecordSession store, session hungry • I don’t know how to TDD/unit test these yetFriday, February 1, 2013
  191. 191. Drawbacks • ExtJS License (YMMV) • Netzke documentation good but sometimes stuff missing • Needs to know Ext JS for certain parts • Needs ActiveRecordSession store, session hungry • I don’t know how to TDD/unit test these yet • Caching can bite you during developmentFriday, February 1, 2013
  192. 192. Drawbacks • ExtJS License (YMMV) • Netzke documentation good but sometimes stuff missing • Needs to know Ext JS for certain parts • Needs ActiveRecordSession store, session hungry • I don’t know how to TDD/unit test these yet • Caching can bite you during development • Easy to code if your needs match the examplesFriday, February 1, 2013
  193. 193. CONCLUSIONFriday, February 1, 2013
  194. 194. CONCLUSION • Netzke awesome for Data Rich RIA’sFriday, February 1, 2013
  195. 195. CONCLUSION • Netzke awesome for Data Rich RIA’s • Focus on what you want to solve not the detailsFriday, February 1, 2013
  196. 196. CONCLUSION • Netzke awesome for Data Rich RIA’s • Focus on what you want to solve not the details • Ruby to write frontendFriday, February 1, 2013
  197. 197. CONCLUSION • Netzke awesome for Data Rich RIA’s • Focus on what you want to solve not the details • Ruby to write frontend • General happiness all aroundFriday, February 1, 2013
  198. 198. Resources • http://netzke.org • showcase apps • https://groups.google.com/group/ netzke • http://writelesscode.com • @netzke • I will blog about how to write ALAAFriday, February 1, 2013
  199. 199. Credit to @nomadcoder • For writing @netzke (awesome!) • For material from his slides, which I liberally borrowedFriday, February 1, 2013
  200. 200. Friday, February 1, 2013
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×