Successfully reported this slideshow.
Your SlideShare is downloading. ×

デブサミ2012 kintoneの表と裏 - 表編

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 52 Ad

More Related Content

Recently uploaded (20)

Advertisement

デブサミ2012 kintoneの表と裏 - 表編

  1. 1. kintone JavaScript 16-C-6 Developers Summit 2012
  2. 2. kintone @yo_waka JavaScript kintone @hikoma Developers Summit 2012
  3. 3. 2 kintone Developers Summit 2012
  4. 4. Developers Summit 2012
  5. 5. What’s kintone • • • 11 Developers Summit 2012
  6. 6. What’s kintone Developers Summit 2012
  7. 7. What’s kintone D&D Developers Summit 2012
  8. 8. What’s kintone Developers Summit 2012
  9. 9. What’s kintone Developers Summit 2012
  10. 10. What’s kintone Developers Summit 2012
  11. 11. What’s kintone Developers Summit 2012
  12. 12. What’s kintone Developers Summit 2012
  13. 13. kintone @yo_waka Developers Summit 2012
  14. 14. kintone JavaScript • 70,000 • Closure Library jQuery • Closure Library UI Developers Summit 2012
  15. 15. kintone JavaScript • JavaScript DOM • XHR API JSON • UI Developers Summit 2012
  16. 16. JavaScript UI Developers Summit 2012
  17. 17. Developers Summit 2012
  18. 18. • & • 20 • • Developers Summit 2012
  19. 19. • & • 20 • • Developers Summit 2012
  20. 20. & UI Developers Summit 2012
  21. 21. Drag and Drop dragovercanvas,dropcanvas,dragoutcanvas,afterdragstartcanvas,dragendcanvas Control dragstarttoolbox,afterdragstarttoolbox,dragendtoolbox,drag mouseovergrippable canvasstartrelocation,canvasendrelocation mouseoutgrippable canvasoverfromtoolbox,canvasoverfromcanvas mouseovermenu canvasoutfromtoolbox,canvasoutfromcanvas mouseoutmenu canvasdropfromtoolbox,canvasdropfromcanvas, mousedownsetting canvasdrag,canvasmove,canvasfancymove,canvasdelete mousedownremove mouseoverrwidthresizer mouseoutwidthresizer mousedownwidthresizer mouseoverrheightresizer ToolBox mouseoutheightresizer mousedownheightresizer toolboxitemadd Canvas notifyadd,notifyremove toolboxitemremove dragstartwidthresizer mouseover toolboxitemenable dragwidthresizer mouseout toolboxitemdisable dragendwidthresizer addcontrol removecontrol dragstartheightresizer addfield dragheightresizer removefield dragendheightresizer, removecontrol, savesetting Developers Summit 2012
  22. 22. Drag and Drop dragovercanvas,dropcanvas,dragoutcanvas,afterdragstartcanvas,dragendcanvas Control dragstarttoolbox,afterdragstarttoolbox,dragendtoolbox,drag mouseovergrippable canvasstartrelocation,canvasendrelocation mouseoutgrippable canvasoverfromtoolbox,canvasoverfromcanvas mouseovermenu canvasoutfromtoolbox,canvasoutfromcanvas mouseoutmenu canvasdropfromtoolbox,canvasdropfromcanvas, mousedownsetting canvasdrag,canvasmove,canvasfancymove,canvasdelete mousedownremove mouseoverrwidthresizer 50 mouseoutwidthresizer mousedownwidthresizer mouseoverrheightresizer ToolBox mouseoutheightresizer mousedownheightresizer toolboxitemadd Canvas notifyadd,notifyremove toolboxitemremove dragstartwidthresizer mouseover toolboxitemenable dragwidthresizer mouseout toolboxitemdisable dragendwidthresizer addcontrol removecontrol dragstartheightresizer addfield dragheightresizer removefield dragendheightresizer, removecontrol, savesetting Developers Summit 2012
  23. 23. Developers Summit 2012
  24. 24. • click (dispatchEvent ) drag drag drop ToolBox DragDropManager Canvas controladd Developers Summit 2012
  25. 25. “removecontrol” removeControl removeControl Control Row Canvas repaint repaint Control repaint Control Developers Summit 2012
  26. 26. • Map // Foo foo.listen(bar, ‘awesome’, this.handleAwesome_, false, this); // EventProxy.add(bar, ‘awesome’, foo.handleAwesome_, false, foo); // Bar this.dispatchEvent(‘awesome’); // var listeners = EventProxyt.get(bar, ‘awesome’); for (var i = 0, len = listeners.length; i < len; i++) { var listener = listeners[i]; listener[0].call(listener[1], arg); } Developers Summit 2012
  27. 27. • DOM • • DOM Developers Summit 2012
  28. 28. Developers Summit 2012
  29. 29. DOM / Developers Summit 2012
  30. 30. IE 1 Developers Summit 2012
  31. 31. • DOM JS this • IE Flash SWF • HTML DOM Developers Summit 2012
  32. 32. • Chrome FF • IE9 Developers Summit 2012
  33. 33. • null • SWF • Developers Summit 2012
  34. 34. Developers Summit 2012
  35. 35. 50 • 50 • IE8 10 orz Developers Summit 2012
  36. 36. • HTML iFrame 50 x1 1 =50 • Developers Summit 2012
  37. 37. • UI Developers Summit 2012
  38. 38. • 1 1 • UI Developers Summit 2012
  39. 39. Deferred • “ ” Ajax var doAsync = function() { var deferred = doAsync(); var deferred = new Deferred(); deferred.addCallback(function(result) { setTimeout(function() { // // }) deferred.callback(); // .addErrback(function(err) { }, 10000); // return deferred; }); }; Developers Summit 2012
  40. 40. Deferred • Deferred setTimeout • DOM Developers Summit 2012
  41. 41. Deferred cybozu.async.Deferred.prototype.forEach = function(iterable, callback, opt_interval, opt_scope) { // build recursion deferred tree var d = this; iterable.forEach(function(item idx) { var cb = partial(callback, item, idx); d = d.next(cb, opt_interval, opt_scope); }); return d; }; cybozu.async.Deferred.prototype.next = function(fn, opt_interval, opt_scope) { var interval = opt_interval || 10; // create async deferred var nextDeferred = new cybozu.async.Deferred(opt_scope); nextDeferred.addCallback(fn); this.addCallback(function() { var self = this; setTimeout(function() { nextDeferred.callback(self.result_); }, interval); }); return nextDeferred; }; Developers Summit 2012
  42. 42. Deferred • • Deferred forEach Deferred Off Developers Summit 2012
  43. 43. ≒ • UI • UI Developers Summit 2012
  44. 44. UI ≒ Developers Summit 2012
  45. 45. UI Developers Summit 2012
  46. 46. • •1 JS 300 • 300HTTP • Developers Summit 2012
  47. 47. JavaScript • kintone Closure Compiler • Advanced Optimizations( ) JS compile • 1 300KB 90KB • HTTP 1 Developers Summit 2012
  48. 48. JavaScript ≒ JavaScript Developers Summit 2012
  49. 49. • UI JavaScript UI • JavaScript Developers Summit 2012
  50. 50. kintone @hikoma JS (^^ Developers Summit 2012
  51. 51. Developers Summit 2012
  52. 52. Developers Summit 2012

Editor's Notes

  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • &amp;#x3053;&amp;#x306E;&amp;#x30BB;&amp;#x30C3;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;Javascript&amp;#x306E;&amp;#x8A71;&amp;#x3092;&amp;#x805E;&amp;#x304D;&amp;#x306B;&amp;#x304D;&amp;#x305F;&amp;#x65B9;&amp;#x304C;&amp;#x591A;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;\n&amp;#x3053;&amp;#x3053;&amp;#x304B;&amp;#x3089;&amp;#x306F;&amp;#x88CF;&amp;#x5074;&amp;#x306E;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x30D9;&amp;#x30FC;&amp;#x30B9;&amp;#x306E;&amp;#x8A71;&amp;#x306B;&amp;#x306A;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x6C17;&amp;#x697D;&amp;#x306B;&amp;#x805E;&amp;#x3044;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;\n\n
  • \n
  • \n

×