AMP Roadshow
Paul Li
AMP Roadshow
Paul Li
Agenda
tw.bid.yahoo.com
Case Share - Suggestion
AMP Components
tw.bid.yahoo.com
※ HTML Structure: <input type="search" [value]="status.search.q" on="input-debounced:AMP.setState({ status: { search: { on: true, q: event.value, r: random() } } })"> <amp-list width="auto" height="180" layout="fixed-height" src="webService?action=init&_=RANDOM" [src]="'webService?action=query&q=' + status.search.q + '&r=' + status.search.r"> <template type="amp-mustache"> <ul> {{#suggestions}} <li> <a on="tap:AMP.setState({status:{ search:{ q:'{{q}}' } }}),itemSearch.submit"> {{{content}}} </a> </li> {{/suggestions}} </ul> </template> </amp-list> ※ CSS Part: <style> input:placeholder-shown ~ amp-list { display: none; } </style>
tw.bid.yahoo.com
Case Share - Like
AMP Components
tw.bid.yahoo.com
※ HTML Structure: <form id="likeForm" method="post" target="_top" action-xhr="webService.php" on="submit-error:AMP.setState({dialog:event.response}); submit-success:AMP.setState({likes: {m100398791795:event.response } })"> <input type="hidden" name="action" value="like" /> <input type="hidden" merchandiseId="action" value="100398791795" /> <a class="like-wrap" on="tap:likeForm.submit"> <amp-list width="60" height="24" layout="fixed" credentials="include" items="." src="webSercice?action=fetch&merchandiseId=100398791795&_=RANDOM"> <template type="amp-mustache"> <p class="like-ens like {{#isLike}}like--on{{/isLike}}" [class]="'like-ens like' + ((likes.m100398791795.isLike) ? ' like--on' : '')" [text]="likes.m100398791795.likeCount"> {{likeCount}} </p> </template> </amp-list> <p amp-access="NOT access" amp-access-hide class="like-ens like none-access"></p> </a> </form>
tw.bid.yahoo.com
After Componentlize
tw.bid.yahoo.com
tw.mall.yahoo.com
tw.buy.yahoo.com
What else ?
「What else can we do ?」
「Are there any limitation for AMP design ?」
Let's take a look what really happened.
Yahoo TW Auction
frontpage
tw.bid.yahoo.com
Progressive Web AMPs
Paul Li
Thanks, all of you.