SlideShare a Scribd company logo
Ionic 하이브리드 앱 개발하기,
사례와 시사점
김응주 (캔고루, zard21@gmail.com)
Agenda
1. Ionic Framework 소개
2. Ionic Framework를 이용한 개발
3. Ionic Framework 적용사례와 시사점
Ionic Framework 소개
Ionic Framework
• Drifty에서 개발한 HTML5 기반 

하이브리드 앱 개발 프레임워크
• 모바일 하이브리드 앱 개발을 위해
많이 사용
• 클라우드 개발환경, UI 도구 등 

다양한 지원
모바일 앱 종류 별 비교
Native

App
Web

App
Hybrid

App
디바이스 접근 가능 부분적 가능 가능
앱 속도 (성능) 매우 빠름 보통
빠름

(Native에 근접)
개발비용 높음 낮음 보통
앱 스토어 이용 가능 불가능 가능
모바일 앱 UI 프레임워크
• jQuery Mobile (http://jquerymobile.com)
• Sencha Touch (http://www.sencha.com/products/touch)
• Kendo UI (http://www.telerik.com/kendo-ui)
• DHTMLX Touch (http://dhtmlx.com/touch)
• famo.us (http://famous.co)
Ionic Framework?
• Angular를 이용한 하이브리드 앱 개발 프레임워크
• 무료 & 오픈소스 (MIT License)
• 크로스 플랫폼 지원 (Android, iOS, Windows 등)
• 다양한 네이티브 플러그인 지원 (Cordova/PhoneGap)
Angular JavaScript TypeScript HTML5
+
Ionic Framework?
• 하이브리드 앱을 위한 Front-end 프레임워크
• 모바일 최적화된 HTML, CSS, JS 컴포넌트 지원
• Angular를 이용하여 편리한 개발과 빠른 성능 제공
• Cordova를 이용한 다양한 네이티브 기능 지원
• 멀티 디바이스의 다양한 해상도 대응
Ionic History
• 2013년 11월 알파버전 발표
• 2014년 3월 1.0 베타버전 발표
• 2015년 5월 1.0 정식버전 발표
• 2016년 11월 2.0 정식버전 발표
• 3백만 개의 앱이 Ionic으로 개발
• 5백만명의 Ionic 개발자 활동
Ionic Framework를
이용한 개발
Ionic 설치
• Node.js 설치
• Cordova, Ionic 설치
$ npm install -g cordova ionic (typescript)
• 설치 확인
$ ionic info
Ionic 프로젝트 생성
• Ionic App 생성 (from template)
$ ionic start --v2 myApp [template option]
blank tabs sidemenu
Ionic App 실행
• Web Browser에서 실행
$ cd myApp
$ ionic serve
Ionic App 실행
• 플랫폼 별 Look and feel 확인
$ ionic serve --lab (ionic serve -l)
Ionic UI Components
• Lists
<ion-list>
<button ion-item
*ngFor="let item of
items" (click)="itemSelected(item)">
{{ item }}
</button>
</ion-list>
Ionic UI Components
• More Components
Action Sheets
Alerts
Badges
Buttons
Cards
Checkbox
DateTime
FABs
Gestures
Grid
Icons
Inputs
Lists
Loading
Menus
Modals
Navigation
Popover
Radio
Range
Searchbar
Segment
Select
…
Ionic APIs
• Refresher
<ion-content>
<ion-refresher
(ionRefresh)="doRefresh($event)">
<ion-refresher-content
pullingIcon="arrow-dropdown"
pullingText="Pull to refresh"
refreshingSpinner="circles"
refreshingText="Refreshing...">
</ion-refresher-content>
</ion-refresher>
</ion-content>
Swipe
Pull
Ionic Native
• Cordova/PhoneGap 플러그인을 쉽게 추가하여 사용할 수 있도
록 하는 ES5/ES6/TypeScript Wrapper
• Ionic Native 설치
$ npm install ionic-native
• index.html에 “ionic.native.js” include (for Angular 1.x or ES5)
• 필요한 추가 Cordova/PhoneGap 플러그인 설치
• ngCordova를 대체
Ionic Native
• TouchID (iOS)
$ ionic plugin add cordova-plugin-touch-id
• 사용 예
import { TouchID } from ‘ionic-native’;
……
TouchID.isAvailable()
.then(
……
);
Ionic App Build & Run
• Android & iOS
Android SDK 설치
iOS: ios-sim, ios-deploy 설치
$ ionic platform add android (ios)
$ ionic build android (ios)
$ ionic emulate android (ios)
$ ionic run android (ios)
Ionic Creator
• 프로토타이핑, UI 개발, 커스텀 코드 추가
• Project 다운로드
• Ionic Creator App 공유
Ionic View
• Ionic App 프로젝트를 ionic.io(Ionic 클라우드 서비스)에 업로드
$ ionic upload
• Ionic View 앱을 통하여 공유
Ionic Cloud
• Auth Service
• Push Notification Service
• Deploy Service
• Package Service
Ionic Framework
적용 사례와 시사점
Ionic 적용 사례
• 보험비교 앱 개발
개발기간: 4개월
지원 플랫폼: Android, iOS, Web
보유 기술스펙: HTML, JavaScript, Java
표, 그래프 위주의 화면 디자인
Native? Hybrid?
jQuery Mobile? Ionic?
• 앱 개발 시 문제점
너무 많은 화면 효과 → 성능 저하
기존 CSS, JS 라이브러리와 충돌 → 오동작, 레이아웃 오류
Ionic 적용 사례
Ionic 적용 사례
• Lessons Learned
다양한 단말에서의 테스트는 필수 (특히 Android)
적절한 UI 효과 적용
완벽한 Native App을 기대하지 말 것
‣ 하이브리드 앱의 한계
‣ 조금은 부자연스러운 UI 컴포넌트
Performance Tuning 필요
Ionic 적용 사례
• Performance Tuning
Native Scrolling, Native Transitions
Caching의 활용
Crosswalk WebView (Android 4.0-4.3)
‣ 설치 시 약 15MB 이상의 용량 증가
‣ 구형 단말에서 필수
Ionic 적용 사례
• Ionic 채팅 앱 개발 (with Firebase)
<script src="lib/firebase/firebase.js"></script>
<script src="lib/angular-fire/angularfire.min.js"></script>
Ionic과 React Native
Ionic React Native
최종 결과
Hybrid 

(Cordova + Web)
Native
개발 스택 Angular React
지원 플랫폼
Android, iOS,
Windows
Android, iOS
코드 재활용률 높음 상대적으로 낮음
Ionic Framework의 가능성
• 모바일 디바이스, WebView의 성능 향상
• 잘 갖추어진 개발 환경
• 활발한 개발자 커뮤니티
• 지속적인 라이브러리 지원
빠른 멀티플랫폼 앱 개발에 적합한 프레임워크
감사합니다.

More Related Content

What's hot

[133]awair 케빈조
[133]awair 케빈조[133]awair 케빈조
[133]awair 케빈조
NAVER D2
 
지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기
Q-Young Lee
 
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용jinwook shin
 
가장 쉬운 안드로이드 앱 개발 방법 앱인벤터
가장 쉬운 안드로이드 앱 개발 방법 앱인벤터가장 쉬운 안드로이드 앱 개발 방법 앱인벤터
가장 쉬운 안드로이드 앱 개발 방법 앱인벤터
Choulhyouc Lee
 
[125]react로개발자2명이플랫폼4개를서비스하는이야기 심상민
[125]react로개발자2명이플랫폼4개를서비스하는이야기 심상민[125]react로개발자2명이플랫폼4개를서비스하는이야기 심상민
[125]react로개발자2명이플랫폼4개를서비스하는이야기 심상민
NAVER D2
 
2016 W3C Conference #7 : Electron, 웹 기술로 담아내는 데스크톱 애플리케이션
2016 W3C Conference #7 : Electron, 웹 기술로 담아내는 데스크톱 애플리케이션2016 W3C Conference #7 : Electron, 웹 기술로 담아내는 데스크톱 애플리케이션
2016 W3C Conference #7 : Electron, 웹 기술로 담아내는 데스크톱 애플리케이션
양재동 코드랩
 
React native development
React native developmentReact native development
React native development
SangSun Park
 
swift를 이용한 카카오링크 만들기
swift를 이용한 카카오링크 만들기swift를 이용한 카카오링크 만들기
swift를 이용한 카카오링크 만들기
KimDaeho
 
Class overview
Class overviewClass overview
Class overview
이경주 이경주
 
한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기
Yunhwan Na
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
NAVER D2
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app development
Hyunjin Shin
 
Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기
Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기
Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기
hajaekwon
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
Sewon Ann
 
Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2
성일 한
 
Mobile architecture overview
Mobile architecture overviewMobile architecture overview
Mobile architecture overview
SangSun Park
 
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
Sang Don Kim
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅JinKwon Lee
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
JT Jintae Jung
 

What's hot (19)

[133]awair 케빈조
[133]awair 케빈조[133]awair 케빈조
[133]awair 케빈조
 
지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기
 
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
 
가장 쉬운 안드로이드 앱 개발 방법 앱인벤터
가장 쉬운 안드로이드 앱 개발 방법 앱인벤터가장 쉬운 안드로이드 앱 개발 방법 앱인벤터
가장 쉬운 안드로이드 앱 개발 방법 앱인벤터
 
[125]react로개발자2명이플랫폼4개를서비스하는이야기 심상민
[125]react로개발자2명이플랫폼4개를서비스하는이야기 심상민[125]react로개발자2명이플랫폼4개를서비스하는이야기 심상민
[125]react로개발자2명이플랫폼4개를서비스하는이야기 심상민
 
2016 W3C Conference #7 : Electron, 웹 기술로 담아내는 데스크톱 애플리케이션
2016 W3C Conference #7 : Electron, 웹 기술로 담아내는 데스크톱 애플리케이션2016 W3C Conference #7 : Electron, 웹 기술로 담아내는 데스크톱 애플리케이션
2016 W3C Conference #7 : Electron, 웹 기술로 담아내는 데스크톱 애플리케이션
 
React native development
React native developmentReact native development
React native development
 
swift를 이용한 카카오링크 만들기
swift를 이용한 카카오링크 만들기swift를 이용한 카카오링크 만들기
swift를 이용한 카카오링크 만들기
 
Class overview
Class overviewClass overview
Class overview
 
한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app development
 
Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기
Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기
Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2
 
Mobile architecture overview
Mobile architecture overviewMobile architecture overview
Mobile architecture overview
 
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 

Viewers also liked

Ionic으로 모바일앱 만들기 #4
Ionic으로 모바일앱 만들기 #4Ionic으로 모바일앱 만들기 #4
Ionic으로 모바일앱 만들기 #4
성일 한
 
Ionic으로 모바일앱 만들기 #3
Ionic으로 모바일앱 만들기 #3Ionic으로 모바일앱 만들기 #3
Ionic으로 모바일앱 만들기 #3
성일 한
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Sang Seok Lim
 
2016 W3C Conference #4 : ANGULAR + ES6
2016 W3C Conference #4 : ANGULAR + ES62016 W3C Conference #4 : ANGULAR + ES6
2016 W3C Conference #4 : ANGULAR + ES6
양재동 코드랩
 
2016 W3C Conference #9 : 컨테이너와 웹 어플리케이션
2016 W3C Conference #9 : 컨테이너와 웹 어플리케이션2016 W3C Conference #9 : 컨테이너와 웹 어플리케이션
2016 W3C Conference #9 : 컨테이너와 웹 어플리케이션
양재동 코드랩
 
2016 W3C Conference #1 : 웹 개발의 현재와 미래
2016 W3C Conference #1 : 웹 개발의 현재와 미래2016 W3C Conference #1 : 웹 개발의 현재와 미래
2016 W3C Conference #1 : 웹 개발의 현재와 미래
양재동 코드랩
 
Ionic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocksIonic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocks
Juarez Filho
 
K모바일발표 111026 하이브리드ux_배포용
K모바일발표 111026 하이브리드ux_배포용K모바일발표 111026 하이브리드ux_배포용
K모바일발표 111026 하이브리드ux_배포용
jinwook shin
 
델파이 iOS앱 개발 환경 설정
델파이 iOS앱 개발 환경 설정델파이 iOS앱 개발 환경 설정
델파이 iOS앱 개발 환경 설정
Devgear
 
RokSeoul
RokSeoulRokSeoul
RokSeoul
SeongSik Choi
 
2016 ABCD 소개
2016 ABCD 소개2016 ABCD 소개
2016 ABCD 소개
성일 한
 
2016 W3C Conference #5 : UNIVERSAL RENDERING (React.JS 중심)
2016 W3C Conference #5 : UNIVERSAL RENDERING (React.JS 중심)2016 W3C Conference #5 : UNIVERSAL RENDERING (React.JS 중심)
2016 W3C Conference #5 : UNIVERSAL RENDERING (React.JS 중심)
양재동 코드랩
 
2016 W3C Conference #2 : VANILA JS로 개발하기
2016 W3C Conference #2 : VANILA JS로 개발하기2016 W3C Conference #2 : VANILA JS로 개발하기
2016 W3C Conference #2 : VANILA JS로 개발하기
양재동 코드랩
 
2016 W3C Conference #6 : ReactiveX + Meteor 종단간 암호화 구현 사례
2016 W3C Conference #6 : ReactiveX + Meteor 종단간 암호화 구현 사례2016 W3C Conference #6 : ReactiveX + Meteor 종단간 암호화 구현 사례
2016 W3C Conference #6 : ReactiveX + Meteor 종단간 암호화 구현 사례
양재동 코드랩
 
Devfest
DevfestDevfest
Devfest
yongwoo Jeon
 
모바일 디버깅
모바일 디버깅모바일 디버깅
모바일 디버깅yongwoo Jeon
 
EcmaScript6(2015) Overview
EcmaScript6(2015) OverviewEcmaScript6(2015) Overview
EcmaScript6(2015) Overview
yongwoo Jeon
 
Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5
성일 한
 
Web Components 101 polymer & brick
Web Components 101 polymer & brickWeb Components 101 polymer & brick
Web Components 101 polymer & brickyongwoo Jeon
 

Viewers also liked (20)

Ionic으로 모바일앱 만들기 #4
Ionic으로 모바일앱 만들기 #4Ionic으로 모바일앱 만들기 #4
Ionic으로 모바일앱 만들기 #4
 
Ionic으로 모바일앱 만들기 #3
Ionic으로 모바일앱 만들기 #3Ionic으로 모바일앱 만들기 #3
Ionic으로 모바일앱 만들기 #3
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
 
2016 W3C Conference #4 : ANGULAR + ES6
2016 W3C Conference #4 : ANGULAR + ES62016 W3C Conference #4 : ANGULAR + ES6
2016 W3C Conference #4 : ANGULAR + ES6
 
2016 W3C Conference #9 : 컨테이너와 웹 어플리케이션
2016 W3C Conference #9 : 컨테이너와 웹 어플리케이션2016 W3C Conference #9 : 컨테이너와 웹 어플리케이션
2016 W3C Conference #9 : 컨테이너와 웹 어플리케이션
 
2016 W3C Conference #1 : 웹 개발의 현재와 미래
2016 W3C Conference #1 : 웹 개발의 현재와 미래2016 W3C Conference #1 : 웹 개발의 현재와 미래
2016 W3C Conference #1 : 웹 개발의 현재와 미래
 
Ionic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocksIonic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocks
 
K모바일발표 111026 하이브리드ux_배포용
K모바일발표 111026 하이브리드ux_배포용K모바일발표 111026 하이브리드ux_배포용
K모바일발표 111026 하이브리드ux_배포용
 
델파이 iOS앱 개발 환경 설정
델파이 iOS앱 개발 환경 설정델파이 iOS앱 개발 환경 설정
델파이 iOS앱 개발 환경 설정
 
RokSeoul
RokSeoulRokSeoul
RokSeoul
 
2016 ABCD 소개
2016 ABCD 소개2016 ABCD 소개
2016 ABCD 소개
 
2016 W3C Conference #5 : UNIVERSAL RENDERING (React.JS 중심)
2016 W3C Conference #5 : UNIVERSAL RENDERING (React.JS 중심)2016 W3C Conference #5 : UNIVERSAL RENDERING (React.JS 중심)
2016 W3C Conference #5 : UNIVERSAL RENDERING (React.JS 중심)
 
2016 W3C Conference #2 : VANILA JS로 개발하기
2016 W3C Conference #2 : VANILA JS로 개발하기2016 W3C Conference #2 : VANILA JS로 개발하기
2016 W3C Conference #2 : VANILA JS로 개발하기
 
2016 W3C Conference #6 : ReactiveX + Meteor 종단간 암호화 구현 사례
2016 W3C Conference #6 : ReactiveX + Meteor 종단간 암호화 구현 사례2016 W3C Conference #6 : ReactiveX + Meteor 종단간 암호화 구현 사례
2016 W3C Conference #6 : ReactiveX + Meteor 종단간 암호화 구현 사례
 
Devfest
DevfestDevfest
Devfest
 
Web component
Web componentWeb component
Web component
 
모바일 디버깅
모바일 디버깅모바일 디버깅
모바일 디버깅
 
EcmaScript6(2015) Overview
EcmaScript6(2015) OverviewEcmaScript6(2015) Overview
EcmaScript6(2015) Overview
 
Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5
 
Web Components 101 polymer & brick
Web Components 101 polymer & brickWeb Components 101 polymer & brick
Web Components 101 polymer & brick
 

Similar to 2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점

[Codelab 2017] Ionic Framework을 통한 하이브리드앱 개발하기
[Codelab 2017] Ionic Framework을 통한 하이브리드앱 개발하기[Codelab 2017] Ionic Framework을 통한 하이브리드앱 개발하기
[Codelab 2017] Ionic Framework을 통한 하이브리드앱 개발하기
양재동 코드랩
 
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"Changhwan Yi
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)
Changhwan Yi
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료
JinHyuck Churn
 
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료Hannah Kim
 
Hybrid App Platform - HyWAI 3.5
Hybrid App Platform - HyWAI 3.5Hybrid App Platform - HyWAI 3.5
Hybrid App Platform - HyWAI 3.5
Jonathan Jeon
 
C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나NAVER D2
 
[Seoultech] Mobile Security &amp; Security Testing(Eng)
[Seoultech] Mobile Security &amp; Security Testing(Eng)[Seoultech] Mobile Security &amp; Security Testing(Eng)
[Seoultech] Mobile Security &amp; Security Testing(Eng)
ri3box
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)
DONGSU KIM
 
RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기 RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기
Devgear
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
ssuser0e53c8
 
6. nexcore alopex runtime
6. nexcore alopex runtime6. nexcore alopex runtime
6. nexcore alopex runtime
JinKyoungHeo
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정Kenu, GwangNam Heo
 
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
ChangGyum Kim
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Sung-tae Ryu
 
Enterprise mobile standard, morpheus 모피어스 모바일 표준 플랫폼
Enterprise mobile standard, morpheus 모피어스 모바일 표준 플랫폼Enterprise mobile standard, morpheus 모피어스 모바일 표준 플랫폼
Enterprise mobile standard, morpheus 모피어스 모바일 표준 플랫폼
MarketingUracle
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
Hankyo
 
누구나 만드는 모바일앱 하이씨엘
누구나 만드는 모바일앱 하이씨엘누구나 만드는 모바일앱 하이씨엘
누구나 만드는 모바일앱 하이씨엘VentureSquare
 
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기
정혁 권
 
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Daniel Juyung Seo
 

Similar to 2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점 (20)

[Codelab 2017] Ionic Framework을 통한 하이브리드앱 개발하기
[Codelab 2017] Ionic Framework을 통한 하이브리드앱 개발하기[Codelab 2017] Ionic Framework을 통한 하이브리드앱 개발하기
[Codelab 2017] Ionic Framework을 통한 하이브리드앱 개발하기
 
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료
 
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
[uengine.org-uEngine Day] 스마트폰과BPM의만남:프로세스터치프로젝트발표자료
 
Hybrid App Platform - HyWAI 3.5
Hybrid App Platform - HyWAI 3.5Hybrid App Platform - HyWAI 3.5
Hybrid App Platform - HyWAI 3.5
 
C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나
 
[Seoultech] Mobile Security &amp; Security Testing(Eng)
[Seoultech] Mobile Security &amp; Security Testing(Eng)[Seoultech] Mobile Security &amp; Security Testing(Eng)
[Seoultech] Mobile Security &amp; Security Testing(Eng)
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)
 
RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기 RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
 
6. nexcore alopex runtime
6. nexcore alopex runtime6. nexcore alopex runtime
6. nexcore alopex runtime
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정
 
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
[HCI2011]모바일웹 UI패턴 및 UI플랫폼_김창겸,문승현_배포용
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망
 
Enterprise mobile standard, morpheus 모피어스 모바일 표준 플랫폼
Enterprise mobile standard, morpheus 모피어스 모바일 표준 플랫폼Enterprise mobile standard, morpheus 모피어스 모바일 표준 플랫폼
Enterprise mobile standard, morpheus 모피어스 모바일 표준 플랫폼
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
누구나 만드는 모바일앱 하이씨엘
누구나 만드는 모바일앱 하이씨엘누구나 만드는 모바일앱 하이씨엘
누구나 만드는 모바일앱 하이씨엘
 
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기
 
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
 

2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점

  • 1. Ionic 하이브리드 앱 개발하기, 사례와 시사점 김응주 (캔고루, zard21@gmail.com)
  • 2. Agenda 1. Ionic Framework 소개 2. Ionic Framework를 이용한 개발 3. Ionic Framework 적용사례와 시사점
  • 4. Ionic Framework • Drifty에서 개발한 HTML5 기반 
 하이브리드 앱 개발 프레임워크 • 모바일 하이브리드 앱 개발을 위해 많이 사용 • 클라우드 개발환경, UI 도구 등 
 다양한 지원
  • 5. 모바일 앱 종류 별 비교 Native
 App Web
 App Hybrid
 App 디바이스 접근 가능 부분적 가능 가능 앱 속도 (성능) 매우 빠름 보통 빠름
 (Native에 근접) 개발비용 높음 낮음 보통 앱 스토어 이용 가능 불가능 가능
  • 6. 모바일 앱 UI 프레임워크 • jQuery Mobile (http://jquerymobile.com) • Sencha Touch (http://www.sencha.com/products/touch) • Kendo UI (http://www.telerik.com/kendo-ui) • DHTMLX Touch (http://dhtmlx.com/touch) • famo.us (http://famous.co)
  • 7. Ionic Framework? • Angular를 이용한 하이브리드 앱 개발 프레임워크 • 무료 & 오픈소스 (MIT License) • 크로스 플랫폼 지원 (Android, iOS, Windows 등) • 다양한 네이티브 플러그인 지원 (Cordova/PhoneGap) Angular JavaScript TypeScript HTML5 +
  • 8. Ionic Framework? • 하이브리드 앱을 위한 Front-end 프레임워크 • 모바일 최적화된 HTML, CSS, JS 컴포넌트 지원 • Angular를 이용하여 편리한 개발과 빠른 성능 제공 • Cordova를 이용한 다양한 네이티브 기능 지원 • 멀티 디바이스의 다양한 해상도 대응
  • 9. Ionic History • 2013년 11월 알파버전 발표 • 2014년 3월 1.0 베타버전 발표 • 2015년 5월 1.0 정식버전 발표 • 2016년 11월 2.0 정식버전 발표 • 3백만 개의 앱이 Ionic으로 개발 • 5백만명의 Ionic 개발자 활동
  • 11. Ionic 설치 • Node.js 설치 • Cordova, Ionic 설치 $ npm install -g cordova ionic (typescript) • 설치 확인 $ ionic info
  • 12. Ionic 프로젝트 생성 • Ionic App 생성 (from template) $ ionic start --v2 myApp [template option] blank tabs sidemenu
  • 13. Ionic App 실행 • Web Browser에서 실행 $ cd myApp $ ionic serve
  • 14. Ionic App 실행 • 플랫폼 별 Look and feel 확인 $ ionic serve --lab (ionic serve -l)
  • 15. Ionic UI Components • Lists <ion-list> <button ion-item *ngFor="let item of items" (click)="itemSelected(item)"> {{ item }} </button> </ion-list>
  • 16. Ionic UI Components • More Components Action Sheets Alerts Badges Buttons Cards Checkbox DateTime FABs Gestures Grid Icons Inputs Lists Loading Menus Modals Navigation Popover Radio Range Searchbar Segment Select …
  • 17. Ionic APIs • Refresher <ion-content> <ion-refresher (ionRefresh)="doRefresh($event)"> <ion-refresher-content pullingIcon="arrow-dropdown" pullingText="Pull to refresh" refreshingSpinner="circles" refreshingText="Refreshing..."> </ion-refresher-content> </ion-refresher> </ion-content> Swipe Pull
  • 18. Ionic Native • Cordova/PhoneGap 플러그인을 쉽게 추가하여 사용할 수 있도 록 하는 ES5/ES6/TypeScript Wrapper • Ionic Native 설치 $ npm install ionic-native • index.html에 “ionic.native.js” include (for Angular 1.x or ES5) • 필요한 추가 Cordova/PhoneGap 플러그인 설치 • ngCordova를 대체
  • 19. Ionic Native • TouchID (iOS) $ ionic plugin add cordova-plugin-touch-id • 사용 예 import { TouchID } from ‘ionic-native’; …… TouchID.isAvailable() .then( …… );
  • 20. Ionic App Build & Run • Android & iOS Android SDK 설치 iOS: ios-sim, ios-deploy 설치 $ ionic platform add android (ios) $ ionic build android (ios) $ ionic emulate android (ios) $ ionic run android (ios)
  • 21. Ionic Creator • 프로토타이핑, UI 개발, 커스텀 코드 추가 • Project 다운로드 • Ionic Creator App 공유
  • 22. Ionic View • Ionic App 프로젝트를 ionic.io(Ionic 클라우드 서비스)에 업로드 $ ionic upload • Ionic View 앱을 통하여 공유
  • 23. Ionic Cloud • Auth Service • Push Notification Service • Deploy Service • Package Service
  • 25. Ionic 적용 사례 • 보험비교 앱 개발 개발기간: 4개월 지원 플랫폼: Android, iOS, Web 보유 기술스펙: HTML, JavaScript, Java 표, 그래프 위주의 화면 디자인 Native? Hybrid? jQuery Mobile? Ionic?
  • 26. • 앱 개발 시 문제점 너무 많은 화면 효과 → 성능 저하 기존 CSS, JS 라이브러리와 충돌 → 오동작, 레이아웃 오류 Ionic 적용 사례
  • 27. Ionic 적용 사례 • Lessons Learned 다양한 단말에서의 테스트는 필수 (특히 Android) 적절한 UI 효과 적용 완벽한 Native App을 기대하지 말 것 ‣ 하이브리드 앱의 한계 ‣ 조금은 부자연스러운 UI 컴포넌트 Performance Tuning 필요
  • 28. Ionic 적용 사례 • Performance Tuning Native Scrolling, Native Transitions Caching의 활용 Crosswalk WebView (Android 4.0-4.3) ‣ 설치 시 약 15MB 이상의 용량 증가 ‣ 구형 단말에서 필수
  • 29. Ionic 적용 사례 • Ionic 채팅 앱 개발 (with Firebase) <script src="lib/firebase/firebase.js"></script> <script src="lib/angular-fire/angularfire.min.js"></script>
  • 30. Ionic과 React Native Ionic React Native 최종 결과 Hybrid 
 (Cordova + Web) Native 개발 스택 Angular React 지원 플랫폼 Android, iOS, Windows Android, iOS 코드 재활용률 높음 상대적으로 낮음
  • 31. Ionic Framework의 가능성 • 모바일 디바이스, WebView의 성능 향상 • 잘 갖추어진 개발 환경 • 활발한 개발자 커뮤니티 • 지속적인 라이브러리 지원 빠른 멀티플랫폼 앱 개발에 적합한 프레임워크