2016년 12월에 진행되었던 W3C HTML5 Conference 2016의 오후 트렉 (웹프레임워크)의 발표 자료입니다.
캔고루 개발팀장이신 김응주님께서 ‘IONIC으로 하이브리드 앱 개발하기, 사례와 시사점’이라는 주제로 발표를 진행하였습니다. . IONIC에 대한 전반적인 소개뿐 아니라 실제 개발하면서 경험한 다양한 시사점도 공유하였습니다.
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 개발자 활동
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를 대체
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의 성능 향상
• 잘 갖추어진 개발 환경
• 활발한 개발자 커뮤니티
• 지속적인 라이브러리 지원
빠른 멀티플랫폼 앱 개발에 적합한 프레임워크