Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

31
Java SpringTitanium을 이용한 크로스플랫폼 개발 경험 공유 JAVASCRIPT TO NATIVE 20150506, TIDEV.KR 1

Transcript of Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Page 1: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Java Spring과Titanium을이용한크로스플랫폼개발경험공유JAVASCRIPT TO NATIVE

2015년 05월 06일, TIDEV.KR

1

Page 2: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

발표자소개

김동우engross.gim

@_engross

2

Page 3: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Full-Stack Lover♥

3

Page 4: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Full-Stack 하면JavaScript

Titanium 하면JavaScript

4

Page 5: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

I Love Titanium♥

5

Page 6: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Java Spring ??

6

Page 7: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

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

Page 8: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Java?

http://w3techs.com/technologies/market/programming_language

Java Used by

High Traffic Sites

8

Page 9: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Java back at the top!

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

9

Page 10: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Java Web F/W Ranking

http://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-for-2014/

10

Page 11: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Java Spring Framework

지루하지만,

여전히유용합니다.

11

Page 12: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

ProjectCase Study

12

Page 13: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Project 개요 운동예약모바일 APP 개발프로젝트

사용처 : 오프라인휘트니스프랜차이즈에서고객제공용

개발기간 : 2014년 12월 ~ 2015년 02월

화면수 : 52 Page

지원플랫폼 : iOS 7+ & Android 4+

개발사 : Yo Studio 킹왕짱!!

13

Page 14: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

APP Design 14

Page 15: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

APP Design 15

Page 16: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Service Structure

Java Spring Back-End

Titanium Mobile APP Front-End ExtJS Desktop Web Front-End

기존 Desktop Website

16

Page 17: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Service Structure

Java Spring Back-End

Controller, Business, DAO(Hibernate)

Titanium Front-End

iOS / Android 애플리케이션형태로제공

17

Page 18: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Benefit

Java Spring Back-End

기존 Desktop Site의 JSON Callback 구조와로직을그대로사용= 개발비용감소, 유지보수효율증가

Titanium Front-End

1 Source로 iOS / Android 동시배포= 개발비용감소, 유지보수효율증가

18

Page 19: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

ProjectCode Sample

19

Page 20: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

회원 ID카드보여주기

Device에저장된로그인토큰을가지고, 회원정보를 Back-End로부터받아와서, 회원 ID카드를그리기

20

Page 21: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Titanium Code

Model

(Member.js)

21

Page 22: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Titanium Code

View

(idCard.xml)

22

Page 23: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Titanium Code

Controller

(idCard.js)

23

Page 24: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Java Spring Code RequestMapping

Annotation으로API URL 생성

기존 Business 로직의Service 객체를그대로활용

24

Page 25: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Java Spring Code

Map 객체로반환하여, JSON으로변환

25

Page 26: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Cross Platform 처리

모양은똑같지만…

26

Page 27: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Titanium Code

View

(setting.xml)

27

Page 28: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Titanium Code

Controller

(setting.js)

28

Page 29: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

It Works!

Very Good!

29

Page 30: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

Q & A

30

Page 31: Java spring과 titanum을 이용한 크로스플랫폼 개발 경험 공유

감사합니다!

Thank you!

31

[email protected]