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

PDF
Ionic으로 모바일앱 만들기 #1
PDF
Ionic으로 모바일앱 만들기 #5
PPTX
Ionic2로 Type script+Angular2.0 따라하기 1
DOCX
Ionic project guide
PPTX
1.develop environment
PPTX
PPTX
4.theme configuration
PPTX
하이브리드앱
Ionic으로 모바일앱 만들기 #1
Ionic으로 모바일앱 만들기 #5
Ionic2로 Type script+Angular2.0 따라하기 1
Ionic project guide
1.develop environment
4.theme configuration
하이브리드앱

What's hot (19)

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

Viewers also liked (20)

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

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

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