Liferay UI (R)evolution

92
Liferay UI revolution São Paulo, 2014

description

 

Transcript of Liferay UI (R)evolution

Page 1: Liferay UI (R)evolution

Liferay UI revolution

São Paulo, 2014

Page 2: Liferay UI (R)evolution
Page 3: Liferay UI (R)evolution
Page 4: Liferay UI (R)evolution
Page 5: Liferay UI (R)evolution

“Study the past if you would define the future”

- Confucius

Page 6: Liferay UI (R)evolution

v1.7 - JS

Page 7: Liferay UI (R)evolution

v3.0 - JS

Page 8: Liferay UI (R)evolution

v4.2 - JS

Page 9: Liferay UI (R)evolution

v5.0 - jQuery

Page 10: Liferay UI (R)evolution
Page 11: Liferay UI (R)evolution

v6.0 - AlloyUI

Page 12: Liferay UI (R)evolution

2009

Page 15: Liferay UI (R)evolution
Page 16: Liferay UI (R)evolution

YUI =

effects

DOM

ajax

events...

MVC

Page 17: Liferay UI (R)evolution

AlloyUI =

calendar

tabs

buttons

carousel...

audio

Page 18: Liferay UI (R)evolution

JavaScript

Page 19: Liferay UI (R)evolution

YUI

Page 20: Liferay UI (R)evolution

AlloyUI

Page 21: Liferay UI (R)evolution

60 components in 6 months

Page 22: Liferay UI (R)evolution
Page 23: Liferay UI (R)evolution

08/2012

Page 24: Liferay UI (R)evolution
Page 25: Liferay UI (R)evolution

AlloyUI 2

01/2013

Page 26: Liferay UI (R)evolution

easierto use

#1

Page 27: Liferay UI (R)evolution

v1.5.xA) Git Clone 1.03 gb B) Download ZIP 78.1 mb

Page 28: Liferay UI (R)evolution

v2.0.xJust load it from CDN <script src="http://cdn.alloyui.com/2.0.0pr7/aui/aui-min.js"></script>

Page 29: Liferay UI (R)evolution

No need to download entire project, just use YUI().use('aui-carousel', function (Y) { // code goes here });

v2.0.x

Page 30: Liferay UI (R)evolution

carousel

Page 31: Liferay UI (R)evolution

carousel YUI().use('aui-carousel', function(Y) { new Y.Carousel({ contentBox: '#myCarousel', height: 250, width: 700 }).render(); });

Page 32: Liferay UI (R)evolution

image cropper

Page 33: Liferay UI (R)evolution

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

Page 34: Liferay UI (R)evolution

but I’m a java guy!

Page 35: Liferay UI (R)evolution

<taglibs> \o/

Page 36: Liferay UI (R)evolution

taglibsButton

<aui:button name="saveButton" type="submit" value="save" />

Page 37: Liferay UI (R)evolution

taglibsForm Validation

<aui:input name="myField"> <aui:validator name="required" /> <aui:validator name="digits" /> <aui:validator name="range" > [8,50] </aui:validator></aui:input>

Page 38: Liferay UI (R)evolution

fasterto build

#2

Page 39: Liferay UI (R)evolution

v1.5.x

Time to build~5 min

Page 40: Liferay UI (R)evolution

v2.0.x

Time to build~1 min

Page 41: Liferay UI (R)evolution

moredocs

#3

Page 43: Liferay UI (R)evolution

> 1,200,000 pageviews

Page 44: Liferay UI (R)evolution

+30 tutorials +60 examples !

All written in Markdown

Page 45: Liferay UI (R)evolution

morecommunity

engagement

#4

Page 46: Liferay UI (R)evolution

january, 2013

october, 2013

Page 47: Liferay UI (R)evolution

> 30,000downloads

Page 48: Liferay UI (R)evolution

betterperformance

#5

Page 49: Liferay UI (R)evolution

“Optimize the front-end performance first, because 80% of the user response time is spent there.” !

- Steve Souders, Google

Page 50: Liferay UI (R)evolution

jsperf.com/yui-basecore-vs-base/5

YUI 3.6 vs 3.11

Page 51: Liferay UI (R)evolution

jsperf.com/yui-basecore-vs-base/5

Base> 40,000 ops/sec BaseCore> 90,000 ops/sec

YUI 3.6 vs 3.11

Page 52: Liferay UI (R)evolution

redesign everything

#6

Page 53: Liferay UI (R)evolution

liferay.github.io/alloy-bootstrap

Page 54: Liferay UI (R)evolution

twitter.com/_pier/status/337880167802355712

Page 55: Liferay UI (R)evolution

what about

liferay portal?

Page 56: Liferay UI (R)evolution

Liferay Portal

AlloyUI

Page 57: Liferay UI (R)evolution

themes

Page 58: Liferay UI (R)evolution

new classic theme

Page 59: Liferay UI (R)evolution

github.com/liferay/alloy-bootstrap

Page 60: Liferay UI (R)evolution
Page 61: Liferay UI (R)evolution

what about

custom themes?

Page 65: Liferay UI (R)evolution

how can I upgrade my theme/plugin?

Page 66: Liferay UI (R)evolution

github.com/liferay/liferay-aui-upgrade-tool

Page 67: Liferay UI (R)evolution

1. Install

2. Execute

upgrade tool

$ npm install -g laut

$ laut -f ~/Liferay/liferay-plugins

Page 68: Liferay UI (R)evolution

localization

Page 69: Liferay UI (R)evolution

over 100,000 submissions, modifications, and approval actions

Page 71: Liferay UI (R)evolution
Page 72: Liferay UI (R)evolution

mobile devices

Page 73: Liferay UI (R)evolution

mobile vs

responsive design

Page 74: Liferay UI (R)evolution
Page 75: Liferay UI (R)evolution

how to test?

Page 76: Liferay UI (R)evolution
Page 77: Liferay UI (R)evolution

responsive design

preview

Page 78: Liferay UI (R)evolution

HTML

Page 79: Liferay UI (R)evolution
Page 80: Liferay UI (R)evolution

native inputs

<input type=”email”>

<input type=”time”>

<input type=”number”>

<input type=”date”>

Page 81: Liferay UI (R)evolution

“HTML5 is the future”

Page 82: Liferay UI (R)evolution

wanna see the future?

Page 83: Liferay UI (R)evolution
Page 84: Liferay UI (R)evolution

HTML5 is today!

Page 85: Liferay UI (R)evolution

Content Consumer����������� ������������������  Devices

Page 86: Liferay UI (R)evolution

Content Consumer����������� ������������������  Devices

Page 87: Liferay UI (R)evolution

old browsers are like B&W TVs

Page 88: Liferay UI (R)evolution

new browsers are like HD TVs

Page 89: Liferay UI (R)evolution

TV already solved that problem

Page 90: Liferay UI (R)evolution

so why people keep doing this?

Page 91: Liferay UI (R)evolution

“The best way to predict the future is to create it”

- Abraham Lincoln

Page 92: Liferay UI (R)evolution

obrigado :)