Liferay UI revolution

3e52153b29fd5540b549089f1f925eca?s=47 Eduardo Lundgren
November 20, 2013
67

Liferay UI revolution

3e52153b29fd5540b549089f1f925eca?s=128

Eduardo Lundgren

November 20, 2013
Tweet

Transcript

  1. Liferay UI revolution Liferay NAS, 2013 Tuesday, October 22, 13

  2. @eduardolundgren Tuesday, October 22, 13

  3. I’m from brazil Tuesday, October 22, 13

  4. Tuesday, October 22, 13

  5. Tuesday, October 22, 13

  6. Tuesday, October 22, 13

  7. Tuesday, October 22, 13

  8. “Study the past if you would define the future” -

    Confucius Tuesday, October 22, 13
  9. v1.7 - JS Tuesday, October 22, 13

  10. v3.0 - JS Tuesday, October 22, 13

  11. v4.2 - JS Tuesday, October 22, 13

  12. v5.0 - jQuery Tuesday, October 22, 13

  13. Tuesday, October 22, 13

  14. v6.0 - AlloyUI Tuesday, October 22, 13

  15. what was the problem? Tuesday, October 22, 13

  16. liferay is growing Tuesday, October 22, 13

  17. commits by year 250 ➪ 2500 Tuesday, October 22, 13

  18. commits by year Tuesday, October 22, 13

  19. lines of code 1M ➪ 9M Tuesday, October 22, 13

  20. lines by year Tuesday, October 22, 13

  21. it’s a lot of code to maintain Tuesday, October 22,

    13
  22. Tuesday, October 22, 13

  23. how to improve that? Tuesday, October 22, 13

  24. 2009 Tuesday, October 22, 13

  25. Tuesday, October 22, 13

  26. Tuesday, October 22, 13

  27. YUI = effects DOM ajax events ... MVC Tuesday, October

    22, 13
  28. YUI = effects DOM ajax events ... MVC Tuesday, October

    22, 13
  29. YUI = effects DOM ajax events ... MVC Tuesday, October

    22, 13
  30. YUI = effects DOM ajax events ... MVC Tuesday, October

    22, 13
  31. YUI = effects DOM ajax events ... MVC Tuesday, October

    22, 13
  32. YUI = effects DOM ajax events ... MVC Tuesday, October

    22, 13
  33. YUI = effects DOM ajax events ... MVC Tuesday, October

    22, 13
  34. AlloyUI = calendar tabs buttons carousel ... audio Tuesday, October

    22, 13
  35. AlloyUI = calendar tabs buttons carousel ... audio Tuesday, October

    22, 13
  36. AlloyUI = calendar tabs buttons carousel ... audio Tuesday, October

    22, 13
  37. AlloyUI = calendar tabs buttons carousel ... audio Tuesday, October

    22, 13
  38. AlloyUI = calendar tabs buttons carousel ... audio Tuesday, October

    22, 13
  39. AlloyUI = calendar tabs buttons carousel ... audio Tuesday, October

    22, 13
  40. AlloyUI = calendar tabs buttons carousel ... audio Tuesday, October

    22, 13
  41. Tuesday, October 22, 13

  42. JavaScript Tuesday, October 22, 13

  43. Tuesday, October 22, 13

  44. YUI Tuesday, October 22, 13

  45. Tuesday, October 22, 13

  46. AlloyUI Tuesday, October 22, 13

  47. 60 components in 6 months Tuesday, October 22, 13

  48. Tuesday, October 22, 13

  49. Tuesday, October 22, 13

  50. 08/2012 Tuesday, October 22, 13

  51. 08/2012 Tuesday, October 22, 13

  52. 08/2012 cartola (brazilian desert) banana butter cheese cinnamon sugar Tuesday,

    October 22, 13
  53. Tuesday, October 22, 13

  54. AlloyUI 2.0 01/2013 Tuesday, October 22, 13

  55. easier to use #1 Tuesday, October 22, 13

  56. v1.5.x A) Git Clone 1.03 gb B) Download ZIP 78.1

    mb Tuesday, October 22, 13
  57. v2.0.x Just load it from CDN <script src="http://cdn.alloyui.com/ 2.0.0pr7/aui/aui-min.js"></script> Tuesday,

    October 22, 13
  58. No need to download entire project, just use YUI().use('aui-carousel', function

    (Y) { // code goes here }); v2.0.x Tuesday, October 22, 13
  59. carousel Tuesday, October 22, 13

  60. carousel YUI().use('aui-carousel', function(Y) { new Y.Carousel({ contentBox: '#myCarousel', height: 250,

    width: 700 }).render(); }); Tuesday, October 22, 13
  61. image cropper Tuesday, October 22, 13

  62. image cropper YUI().use('aui-image-cropper', function(Y) { new Y.ImageCropper({ srcNode: '#myImage' }).render();

    }); Tuesday, October 22, 13
  63. but I’m a java guy! Tuesday, October 22, 13

  64. <taglibs> \o/ Tuesday, October 22, 13

  65. taglibs Button <aui:button name="saveButton" type="submit" value="save" /> Tuesday, October 22,

    13
  66. taglibs Form Validation <aui:input name="myField"> <aui:validator name="required" /> <aui:validator name="digits"

    /> <aui:validator name="range" > [8,50] </aui:validator> </aui:input> Tuesday, October 22, 13
  67. faster to build #2 Tuesday, October 22, 13

  68. v1.5.x Time to build ~5 min Tuesday, October 22, 13

  69. v2.0.x Time to build ~1 min Tuesday, October 22, 13

  70. more docs #3 Tuesday, October 22, 13

  71. alloyui.com Tuesday, October 22, 13

  72. > 1,200,000 pageviews Tuesday, October 22, 13

  73. +30 tutorials +60 examples all written in markdown Tuesday, October

    22, 13
  74. more community engagement #4 Tuesday, October 22, 13

  75. january, 2013 october, 2013 Tuesday, October 22, 13

  76. > 30,000 downloads Tuesday, October 22, 13

  77. better performance #5 Tuesday, October 22, 13

  78. “Optimize the front-end performance first, because 80% of the user

    response time is spent there.” - Steve Souders, Google Tuesday, October 22, 13
  79. jsperf.com/yui-basecore-vs-base/5 YUI 3.6 vs 3.11 Tuesday, October 22, 13

  80. jsperf.com/yui-basecore-vs-base/5 Base > 40,000 ops/sec BaseCore > 90,000 ops/sec YUI

    3.6 vs 3.11 Tuesday, October 22, 13
  81. redesign everything #6 Tuesday, October 22, 13

  82. liferay.github.io/alloy-bootstrap Tuesday, October 22, 13

  83. twitter.com/_pier/status/337880167802355712 Tuesday, October 22, 13

  84. what about liferay portal? Tuesday, October 22, 13

  85. Liferay Portal AlloyUI Tuesday, October 22, 13

  86. AlloyUI lines of code Tuesday, October 22, 13

  87. 80,000 lines of code maintained by AlloyUI community Tuesday, October

    22, 13
  88. themes Tuesday, October 22, 13

  89. new classic theme Tuesday, October 22, 13

  90. github.com/liferay/alloy-bootstrap Tuesday, October 22, 13

  91. Tuesday, October 22, 13

  92. Tuesday, October 22, 13

  93. what about custom themes? Tuesday, October 22, 13

  94. bootstrapthemes.com Tuesday, October 22, 13

  95. wrapbootstrap.com Tuesday, October 22, 13

  96. bootswatch.com Tuesday, October 22, 13

  97. how can I upgrade my theme/plugin? Tuesday, October 22, 13

  98. github.com/liferay/liferay-aui-upgrade-tool Tuesday, October 22, 13

  99. 1. Install 2. Execute upgrade tool $ npm install -g

    laut $ laut -f ~/Liferay/liferay-plugins Tuesday, October 22, 13
  100. localization Tuesday, October 22, 13

  101. over 100,000 submissions, modifications, and approval actions Tuesday, October 22,

    13
  102. translate.liferay.com Tuesday, October 22, 13

  103. Tuesday, October 22, 13

  104. Tuesday, October 22, 13

  105. mobile devices Tuesday, October 22, 13

  106. mobile vs responsive design Tuesday, October 22, 13

  107. Tuesday, October 22, 13

  108. how to test? Tuesday, October 22, 13

  109. Tuesday, October 22, 13

  110. responsive design preview Tuesday, October 22, 13

  111. HTML Tuesday, October 22, 13

  112. Tuesday, October 22, 13

  113. native inputs <input type=”email”> <input type=”time”> <input type=”number”> <input type=”date”>

    Tuesday, October 22, 13
  114. “HTML5 is the future” Tuesday, October 22, 13

  115. wanna see the future? Tuesday, October 22, 13

  116. Tuesday, October 22, 13

  117. HTML5 is today! Tuesday, October 22, 13

  118. Content Consumer Devices Tuesday, October 22, 13

  119. Content Consumer Devices Tuesday, October 22, 13

  120. old browsers are like B&W TVs Tuesday, October 22, 13

  121. new browsers are like HD TVs Tuesday, October 22, 13

  122. TV already solved that problem Tuesday, October 22, 13

  123. so why people keep doing this? Tuesday, October 22, 13

  124. “The best way to predict the future is to create

    it” - Abraham Lincoln Tuesday, October 22, 13
  125. thank you :) Tuesday, October 22, 13