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

DaFunk, IOT Framework in Ruby

DaFunk, IOT Framework in Ruby

Thiago Scalone talks about the DaFunk Framework Ecosystem.
A Open IOT Payment Framework that helps the developer design, create, test and delivery beautiful and profitable embedded applications

E822acb0564c5632aae69fef35f85b3d?s=128

Scalone

May 11, 2018
Tweet

Transcript

  1. THIAGO SCALONE - @scalone DaFunk IOT FRAMEWORK

  2. Wecolme Message! The activities of a company associated with buying

    and selling a product or service that includes advertising, social media, selling products Marketing is based on thinking about the business in terms of customer needs and their satisfaction marketing differs from selling because in the words of the best university of the world.
  3. Wecolme Message! The activities of a company associated with buying

    and selling a product or service that includes advertising, social media, selling products Marketing is based on thinking about the business in terms of customer needs and their satisfaction marketing differs from selling because in the words of the best university of the world.
  4. Wecolme Message! The activities of a company associated with buying

    and selling a product or service that includes advertising, social media, selling products Marketing is based on thinking about the business in terms of customer needs and their satisfaction marketing differs from selling because in the words of the best university of the world.
  5. None
  6. HAPPY! Feling 1994

  7. None
  8. 2000

  9. 2000

  10. None
  11. 2004

  12. 2004

  13. 2004

  14. None
  15. 2007

  16. 2007

  17. None
  18. None
  19. mruby

  20. THIAGO SCALONE - @scalone DaFunk IOT FRAMEWORK

  21. Wecolme Message! The activities of a company associated with buying

    and selling a product or service that includes advertising, social media, selling products Marketing is based on thinking about the business in terms of customer needs and their satisfaction marketing differs from selling because in the words of the best university of the world.
  22. None
  23. None
  24. THIAGO SCALONE - @scalone DaFunk IOT FRAMEWORK

  25. FRAMEWORK

  26. FRAMEWORK reusable set of libraries or classes for a software

    system
  27. FRAMEWORK

  28. FRAMEWORK Philosophy

  29. FRAMEWORK Philosophy Design

  30. FRAMEWORK Philosophy Design Good Practices

  31. FRAMEWORK Philosophy Design Good Practices Backward compatibility

  32. FRAMEWORK Philosophy Design Good Practices Backward compatibility Tools

  33. FRAMEWORK GUIDE

  34. FRAMEWORK GUIDE

  35. DaFunk

  36. Pillars

  37. Pillars

  38. Pillars Optimize for happiness

  39. Pillars Optimize for happiness Cross Compilation

  40. Pillars Optimize for happiness Cross Compilation Modularity

  41. Pillars Optimize for happiness Cross Compilation Modularity Small better

  42. Pillars Optimize for happiness Cross Compilation Modularity Small better Convention

    over configuratio
  43. Ecosystem

  44. mruby + mruby-cli Mruby-da-funk C/C++ - Posix

  45. lib/device/ !"" application.rb !"" audio.rb !"" crypto.rb !"" display.rb !""

    io.rb !"" magnetic.rb !"" network.rb !"" printer.rb !"" runtime.rb !"" system.rb #"" version.rb
  46. lib/device/ !"" application.rb !"" audio.rb !"" crypto.rb !"" display.rb !""

    io.rb !"" magnetic.rb !"" network.rb !"" printer.rb !"" runtime.rb !"" system.rb #"" version.rb
  47. lib/device/ !"" application.rb !"" audio.rb !"" crypto.rb !"" display.rb !""

    io.rb !"" magnetic.rb !"" network.rb !"" printer.rb !"" runtime.rb !"" system.rb #"" version.rb
  48. lib/device/ !"" application.rb !"" audio.rb !"" crypto.rb !"" display.rb !""

    io.rb !"" magnetic.rb !"" network.rb !"" printer.rb !"" runtime.rb !"" system.rb #"" version.rb class Device class Audio def self.adapter Device.adapter::Audio end def self.beep(tone, seconds) milli = seconds * 1000 adapter.beep(tone, milli) end end end
  49. lib/device/ !"" application.rb !"" audio.rb !"" crypto.rb !"" display.rb !""

    io.rb !"" magnetic.rb !"" network.rb !"" printer.rb !"" runtime.rb !"" system.rb #"" version.rb class Device class Audio def self.adapter Device.adapter::Audio end def self.beep(tone, seconds) milli = seconds * 1000 adapter.beep(tone, milli) end end end
  50. lib/device/ !"" application.rb !"" audio.rb !"" crypto.rb !"" display.rb !""

    io.rb !"" magnetic.rb !"" network.rb !"" printer.rb !"" runtime.rb !"" system.rb #"" version.rb class Device class Audio def self.adapter Device.adapter::Audio end def self.beep(tone, seconds) milli = seconds * 1000 adapter.beep(tone, milli) end end end
  51. Adapter Pattern

  52. Modularity

  53. Modularity

  54. Cross Compilation

  55. mruby-cli

  56. The Pitch

  57. Why?

  58. Web API Mail Analytics Communication Monitoring Authentication Errors

  59. $ my-cli

  60. Who Github - Hub Heroku - Heroku Toolbelt AWS -

    aws-cli Trello - trelo_cli Slack - slack-cli CW - cloudwalk
  61. CRuby

  62. CRuby Requires Ruby

  63. CRuby Requires Ruby Performance (Require)

  64. CRuby Requires Ruby Performance (Require) Ruby Versions

  65. CRuby Requires Ruby Performance (Require) Ruby Versions Packaging Problems

  66. :(

  67. None
  68. $ GOOS=linux GOARCH=amd64 go build $ GOOS=windos GOARCH=amd64 go build

    $ GOOS=darwin GOARCH=amd64 go build
  69. HAPPY! Feling

  70. None
  71. mruby-cli

  72. + = https://github.com/hone/mruby-cli mruby-cli + = https://github.com/hone/mruby-cli mruby-cli + =

  73. .RB Review

  74. BYTECODE MRB .RB Review

  75. BYTECODE MRB VM + MRBGEM + MRB .RB Review

  76. BYTECODE MRB VM + MRBGEM + MRB BIN .RB Review

  77. + = https://github.com/hone/mruby-cli mruby-cli + = https://github.com/hone/mruby-cli mruby-cli + =

  78. + = https://github.com/hone mrub

  79. + = https://github.com/hone mrub MRuby App MRuby VM Mrbgem Cross

    Compilation
  80. + = https://github.com/hone mrub MRuby App MRuby VM Mrbgem Cross

    Compilation
  81. + = https://github.com/hone mrub MRuby App MRuby VM Mrbgem Cross

    Compilation
  82. + = https://github.com/hone mrub MRuby App MRuby VM Mrbgem Cross

    Compilation
  83. + = https://github.com/hone/mruby-cli mruby-cli + = https://github.com/hone/mruby-cli mruby-cli + =

  84. Ecosystem

  85. None
  86. None
  87. None
  88. DEMO

  89. None
  90. Thank you @scalone THIAGO SCALONE - thiago@scalone.com.br