Syrup Store O2O Marketing Platform/Solution

Similar documents
HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Building Mobile AR Web Applications in HTML5 - Google IO 2012

2.1+ Offline package installation. Web storage Persistent and session storage. Web SQL storage (no active) Persistent SQLite storage. Geolocation Geol

AMP는 어떻게 빠른 성능을 내나.key

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

Week8-Extra

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

Lab1

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

2005CG01.PDF

Ⅰ. 서론 1989년 CERN의 팀 버너스 리에 의해 만들어진 월드 와이드 웹 기술은 HTML(HyperText Markup Language), URL(Unified Resource Locator, HTTP(Hyper- Text Transfer Protocol)이라는

Week13

PowerPoint 프레젠테이션

Macaron Cooker Manual 1.0.key

playnode.key

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

목순 차서 v KM의 현황 v Web2.0 의 개념 v Web2.0의 도입 사례 v Web2.0의 KM 적용방안 v 고려사항 1/29

PowerPoint 프레젠테이션

ICT03_UX Guide DIP 1605

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

LCD Display

제 출 문 환경부장관 귀하 본 보고서를 습마트기기 활용 환경지킴이 및 교육 통합 서비스 개 발 과제의 최종보고서로 제출합니다. 주관연구기관 : 주관연구기관장 : 2015년 10월 주식회사 덕키즈 김 형 준 (주관)연구책임자 : 문종욱 (주관)참여연구원 : 김형준, 문병

쉽게 풀어쓴 C 프로그래밍

Ÿ column-rule 속성은단사이의구분선을표현하기위한속성으로 column-rule-color, column-rule-style, column-rule-width 속성을한번에지정할수있다. 1.4 단의확장 Ÿ column-span 속성은다단을구성할때해당요소가얼마나많은단

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

Microsoft Word - 김완석.doc

Web Scraper in 30 Minutes 강철

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

Javascript.pages

about_by5

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - Chapter_03-1_DevEnv.pptx

<4D F736F F D20C1A4BAB8C5EBBDC5C1F8C8EFC7F9C8B8BFF8B0ED5FBDBAB8B6C6AEBDC3B4EBBAF22E727466>

UI VoC Process 안


What Is CSS? Stands for Cascading Style Sheets. Is a simple mechanism for adding style (e.g. fonts, colors, spacing) to Web documents. Styles define h

<4D F736F F D F4E464320B1E2BCFAB0FA20BCADBAF1BDBAC0C720C7F6C0E7BFCD20B9CCB7A120C0FCB8C15FBCF6C1A45F>

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

슬라이드 1

<4D F736F F D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2>

untitled

<B1DDC0B6C1A4BAB8C8ADC1D6BFE4B5BFC7E C8A3292E687770>

서현수

e-비즈니스 전략 수립

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

歯이시홍).PDF

PCServerMgmt7

OMA Bcast Service Guide ATSC 3.0 (S33-2) T-UHDTV 송수신정합 Part.1 Mobile Broadcast (Open Mobile Alliance) 기반 Data Model ATSC 3.0 을위한확장 - icon, Channel No.

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - Mobile SW Platform And Service Talk pptx

Microsoft PowerPoint - Chapter_03.pptx

일반인을 위한 전자책 제작 방법

Microsoft Word 핸드폰부품 Galaxy S4_교정_.doc

Corporate PPT Template

PowerPoint 프레젠테이션

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

슬라이드 1

<4D F736F F F696E74202D205B444D435D36BFF95FB5F0C1F6C5D0B9CCB5F0BEEE20B5BFC7E220BAB8B0EDBCAD5F C5EBC7D5BABB29>

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx


Microsoft PowerPoint - User Manual pptx

(Microsoft PowerPoint \277\243\305\315\307\301\266\363\300\314\301\356 \260\374\301\241\300\307 HTML5)

1989 Tim Berners-Lee invents the Web with HTML 1991 First Web Browser Released HTML Tags Specification Released 1994 First World Wide Web Conference H

K_R9000PRO_101.pdf

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

Intro to Servlet, EJB, JSP, WS

Portal_9iAS.ppt [읽기 전용]

[한반도]한국의 ICT 현주소(송부)

<BFB5BBF3C1A4BAB8C3B3B8AEBDC3BDBAC5DB20BFACB1B82E687770>

INDEX 들어가기 고민하기 HTML(TABLE/FORM) CSS JS

오늘날의 기업들은 24시간 365일 멈추지 않고 돌아간다. 그리고 이러한 기업들을 위해서 업무와 관련 된 중요한 문서들은 언제 어디서라도 항상 접근하여 활용이 가능해야 한다. 끊임없이 변화하는 기업들 의 경쟁 속에서 기업내의 중요 문서의 효율적인 관리와 활용 방안은 이

Microsoft Word - Automap3

04 08 Industry Insight Mobile Policy Trend Mobile Focus Global Trend In-Depth Future Trend Products Trend Hot Company

<4D F736F F D B3E220C1D6B8F1C7D8BEDFC7CFB4C220B5F0B9D9C0CCBDBA5FB1E8BCAEB1E25FBFCFB7E12E646F6378>

untitled

미쓰리 파워포인트

스마트 TV 부상에따른시사점 스마트 TV 부상에따른시사점 * 1) TV TV TV TV, TV TV OS, TV, (CPU), TV TV 13 1/3, 1/2,, *, (TEL) ( ) 1) N OS

PowerPoint 프레젠테이션

Voice Portal using Oracle 9i AS Wireless

04_오픈지엘API.key

VZ94-한글매뉴얼

160322_ADOP 상품 소개서_1.0

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해

스마트월드캠퍼스 교육교제

CONTENTS INTRODUCTION CHARE COUPLED DEVICE(CCD) CMOS IMAE SENSOR(CIS) PIXEL STRUCTURE CONSIDERIN ISSUES SINAL PROCESSIN

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

BEef 사용법.pages

untitled

Microsoft Word - ICT Report

Microsoft PowerPoint - web-part02-ch15-문서객체조작.pptx

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

C H A P T E R 2

1217 WebTrafMon II

PowerPoint 프레젠테이션

Transcription:

모바일웹성능최적화동향및사례 : Syrup Store 앱 임상석 SK 플래닛

Syrup Store O2O Marketing Platform/Solution

Syrup Store App for SMB

HTML5 기반 안드로이드 /ios 앱개발삽질기

왜 HTML5! Front-end 개발자중심으로 Cross Platform 앱내부개발

타협불가최소품질 Native 수준 Look/Motion by UX ( 앱 UI 성능지표만족 ) Be Acceptible otherwise Be Native

Android 4.03 Webview/Browser HTML Layer HW 가속시대개막 그러나구글의배신 GPU Texture Upload 지연시간 1 초...

Android 4.2 >= 도전적이지만달성가능한환경으로판단

HTML5 UI Framework 선택 자체 Sencha,Onsen,famo.us Ionic React/React Native ( 차기검토중 )

Ionic Angularjs 기반 HTML5 Framework Android/iOS Native 느낌의앱개발지원

Ionic UI component Android/iOS Nativelike UI styling (Theme, Style, Icon, Transition)

Ionic UI Component 헤더버튼리스트그리드폼탭... $ionicactionsheet $ionicbackdrop slidebox $ionicpopup... SVG icon viewport 밖에서도지속적으로 rendering

Ionic 기능 / 장점 SPA (View 단위 DOM lifecycle 관리 ) Native-style UI component grade에따른성능제어 UI routing Cordova Integration

Custom UI Animation 개발 GPU 가속 Declarative Animation

RenderLayer SW(CPU) Painting Stacking Context 에서낮은 z-index 에위치한 RenderLayer 부터순차적으로 CPU 로 painting 을수행 다른 Layer 와겹쳐진부분은기 painting 된값을읽어서 compositing compositor 는 window manager 기본기능 compositing 연산의복잡도 READ SRC PIXEL on DRAM READ DEST PIXEL on DRAM ADD SRC PIXEL, DEST PIXEL DIV RESULT WRITE RESULT PIXEL

Graphics Layer 생성조건 3D 또는 perspective transform CSS 속성 video canvas 2D/3D CSS filter 투명도를부여하는 CSS animation 수행 z-index 가낮은형재가 composition layer 를갖는경우

GPU 기반 Relayer 합성 CPU 로생성된 graphics buffer 는해당 HTML 의속성이변경되지않는한계속유지되어다음합성에재활용됨

Declarative VS JavaScript 기반 animation Declarative animation CSS로 animation 설정 Webkit 엔진내에서기본최적화수행 main thread overloaded 되어도수행이됨 (HW timer 에의한동작 ) JavaScript animation (settimeout/requestanimationframe) 애니메이션시작, 끝, 일시중지등복잡한형태를구현가능 main thread가 overload될경우 animation이제대로수행되지않음 main thread 부하증가 Web animation 표준 Declarative/JavaScript 기반애니메이션의단점을모두해결해주는표준 ios 미지원 (webkit에구현중 ) Android 5.0이상일부지원

Declatrive Animation: keyframe 시작, 중간점들및끝점을명기하면중간지점은엔진이내부적으로생성해주는 animation 방식 엔진내부의 system timer 를기반으로 animation 이수행이됨 JS 개입이없음 고속수행 div { width: 100px; height: 100px; background-color: red; -webkit-animation-name: example; /* Chrome, Safari, Opera */ -webkit-animation-duration: 4s; /* Chrome, Safari, Opera */ animation-name: example; animation-duration: 4s; } http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_keyframes2 /* Chrome, Safari, Opera */ @-webkit-keyframes example { 0% {background-color: red;} 25% {background-color: yellow;} 50% {background-color: blue;} 100% {background-color: green;} }

Declarative Animation: Transition keyframe 과개념은동일하나시작과끝, 두부분만명시하면나머지부분은엔진에서 interpolation div { width: 100px; height: 100px; background: red; } -webkit-transition: width 2s, hegith 4s; transition: width 2s, hegith 4s; div:hover { width: 300px; height: 300px; } http://www.w3schools.com/css/tryit.asp?filename=trycss3_transition2

JavaScript Animation: settimeout/requestaniframe settimeout (0) 로 animation 수행시문제점 실제 LCD buffer로쓰여지는주기보다훨씨빠르게 painting을하여 frame drop이발생 CPU/Battery 낭비 http://www.html5rocks.com/en/tutorials/speed/rendering/?redirect_from_locale=ko

JavaScript Animation: vsync 현재 LCD buffer 로 frame 을 flush 후다음 frame 을보내주기위해서시스템단에서발생시켜주는 signal webkit 엔진은 vsync 를 requesanimationframe 에통합하여제공

Hybrid Application - Native 부분 Cordova plugin Push BLE Splash screen Cipherstorage Camera Image cropper

삽질기공유

Scroll View HTML5 App 개발알파와오메가

Ionic Scroll View CSS 2D/3D scroll, Native browser scroll 간프로그램적선택지원 <ion-content overflow-scroll="true" class="no-header homecontent" scrollbar-y="false" on-scroll="verticalscroll()> $ionicconfigprovider.scrolling.jsscrolling(false);

Ionic Performant Infinite Scrolling ng-repeat collection-repeat 로변경 viewport 기준 DOM node 개수상수고정 <ion-item collection-repeat="product in products" item-render-buffer="8" ngclick="checkachievements( product )" item-height="70px" item-width="100%" class=" item-icon-right"> <h2>{{product.name}}</h2> <p>{{product.period}}</p> <i ng-class="product.status" class="item-status"></i> </ion-item> <ion-infinite-scroll icon="ion-loading-c" on-infinite="loadmore()" ng-if="loadrequired"> </ion-infinite-scroll>

Page Navigation Animation CSS transform 기반 -GPU 렌더링 ios 는 Native 수준, Android 단말별최적화불가피

Page Navigation Animation 성능저하요인분석 DOM element load timing -filter: blur -border-radius gradient QHD 단말의고해상도

DOM element load timing $ionic.beforeenter - 최소한의화면구성, AJAX request $ionic.afterenter - 이미지, SVG 등화면적재, loading icon $ionic.loaded - DOM 적재시 $ionic.unloaded - DOM 제거시

-filter: blur (5px) Transition Element 포함시성능저하 Blur 적용된정적 Image 로변경 - 서버단 filter - client 단 filter (<canvas>, native) <cavas> tag 를활용한 filter 구현 - blur filter var canvas = document.getelementbyid("canvas"); var dataurl = canvas.todataurl(); console.log(dataurl); // "data:image/png;base64,ivborw0kggoaaaansuheugaaaauaaaafcayaaacnby // blaaaadeleqvqimwngobmaaabpaafei8araaaaaelftksuqmcc"

gradient, box-shadow, border-radius 단말별로제거하거나 Image 로대체 if ( ionic.platform.isandroid() ) { if ( ionic.platform.version() >= 5 ) { // 안드로이드롤리팝 G4 일경우 grade 를 b 로설정 if ( (/LG-F500/).test(window.navigator.userAgent) ) { console.log("set to grade b device"); ionic.platform.setgrade('b'); } } }

URL 기반 3rd party 솔루션 Plug-in iframe vs 별도 Webview 4.2 이상에서는 iframe 가능

ios 버전상용개발 Ionic UI 재활용 + swift 기반 plugin 개발 코드재활용도 80% 수준

한줄기술교훈요약 Android 4.2>, ios 7.0> 앱상용개발가 능 단 UI Layer 의복잡도고려 Ionic 성능 Turning 필요

self.next() === undefined