java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유
TRANSCRIPT
Java Spring과Titanium을이용한크로스플랫폼개발경험공유JAVASCRIPT TO NATIVE
2015년 05월 06일, TIDEV.KR
1
발표자소개
김동우engross.gim
@_engross
2
Full-Stack Lover♥
3
Full-Stack 하면JavaScript
Titanium 하면JavaScript
4
I Love Titanium♥
5
Java Spring ??
6
Java Spring Framework
2003년데뷔, Apache License 2.0
2013년 4.0 발표
POJO (Plain Old Java Object) 방식의프레임워크
AOP(Aspect Oriented Programming, 관점지향프로그래밍) 지원
DI (Dependency Injection, 의존성주입) 지원
IoC (Inversion of Controller, 제어반전) 지원
7
Java?
http://w3techs.com/technologies/market/programming_language
Java Used by
High Traffic Sites
8
Java back at the top!
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
9
Java Web F/W Ranking
http://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-for-2014/
10
Java Spring Framework
지루하지만,
여전히유용합니다.
11
ProjectCase Study
12
Project 개요 운동예약모바일 APP 개발프로젝트
사용처 : 오프라인휘트니스프랜차이즈에서고객제공용
개발기간 : 2014년 12월 ~ 2015년 02월
화면수 : 52 Page
지원플랫폼 : iOS 7+ & Android 4+
개발사 : Yo Studio 킹왕짱!!
13
APP Design 14
APP Design 15
Service Structure
Java Spring Back-End
Titanium Mobile APP Front-End ExtJS Desktop Web Front-End
기존 Desktop Website
16
Service Structure
Java Spring Back-End
Controller, Business, DAO(Hibernate)
Titanium Front-End
iOS / Android 애플리케이션형태로제공
17
Benefit
Java Spring Back-End
기존 Desktop Site의 JSON Callback 구조와로직을그대로사용= 개발비용감소, 유지보수효율증가
Titanium Front-End
1 Source로 iOS / Android 동시배포= 개발비용감소, 유지보수효율증가
18
ProjectCode Sample
19
회원 ID카드보여주기
Device에저장된로그인토큰을가지고, 회원정보를 Back-End로부터받아와서, 회원 ID카드를그리기
20
Titanium Code
Model
(Member.js)
21
Titanium Code
View
(idCard.xml)
22
Titanium Code
Controller
(idCard.js)
23
Java Spring Code RequestMapping
Annotation으로API URL 생성
기존 Business 로직의Service 객체를그대로활용
24
Java Spring Code
Map 객체로반환하여, JSON으로변환
25
Cross Platform 처리
모양은똑같지만…
26
Titanium Code
View
(setting.xml)
27
Titanium Code
Controller
(setting.js)
28
It Works!
Very Good!
29
Q & A
30