10. EMBARCADERO
TECHNOLOGIES
세미나 소개
• 최신 윈도우 기능과 UI으로 개발
해 주세요.
• 예전에 있던 버그가 또 나오네요.
• 빨리 만들어 주세요.
• 이 프로그램을 모바일에서 사용하
고 싶어요.
• UI가 2% 부족한데?
• (변경 부분만 테스트)잘 돌아가겠지?
• 저 친구는 어떻게 저렇게 빠르게 코딩
을 하지?
• 이 버그는 어디서 나오는거지?
• 모바일을 새로 개발해야하나?
고객 요구사항
개발자 직면한 문제
11. EMBARCADERO
TECHNOLOGIES
세미나 발표 순서
• 최신 윈도우에 맞는 델파이 컴포넌트와 기능들
– 최신 윈도우 기능과 UI를 사용할 수 있는 VCL 컴포넌트
• 개발 시간 절약과 품질 향상을 위한 도구
– 유닛테스트(DUnit),
로깅도구(CodeSite)
– 유용한 개발, 디버깅 팁
• 모바일 앱에서의 엔터프라이즈 데이터 활용
– VCL 앱을 모바일로 확장할 수 있는 3가지 방안과 핵심기술
7
13. EMBARCADERO
TECHNOLOGIES
VCL
스타일
• 애플리케이션 모든 것에 적용
– 컨트롤
– 타이틀
– 테두리
– 메뉴와 시스템 메뉴
• 일관성 있는 외관
• 윈도우 태블릿 스타일
– 윈도우7,
8.1
스타일 지원
자세히 보기(동영상)
:
h6p://youtu.be/HGZfYpgSsjM
26. EMBARCADERO
TECHNOLOGIES
단위 테스트…
단위 테스팅
(Unit
Teseng)
회귀테스팅
(Regression
Teseng)
통합테스팅
(Intergraeon
Teseng)
인수테스팅
(Acceptance
Teseng)
RAD
in
Aceon:
Unit
Test
in
Delphi
-‐
h6p://youtu.be/xUUC15RbiaQ
27. EMBARCADERO
TECHNOLOGIES
DUnit: 유닛 테스트 자동화
• 델파이 유닛 테스트 프로젝트
• File
New
Other
Unit
Test
• SetUp
• TearDown
• CheckEquals,
…
• Status
30. EMBARCADERO
TECHNOLOGIES
Tips.
디버깅 팁
• OutputDebugString
– Event
Log
– DbgView.exe
• Assert
– AssertErrorProc
• Run
– A6ach
to
Process
– Detach
From
Program
31. EMBARCADERO
TECHNOLOGIES
생산성: 현대식 문법
• 타입 헬퍼
–
코드 기능 확장
• 제너릭 – 유연한 데이터 타입
• 익명 메소드 – 코드의 재사용
• RTTI
– 실시간 타입 활용
• 도서
Ebook
활용
자세히 보기 -‐
h6p://tech.devgear.co.kr/406874
32. EMBARCADERO
TECHNOLOGIES
Castalia:
코딩 생산성 툴
• 코드 템플릿
• 코드 분석 지원
– 클래스, 메소드 선택
• 코드 통계
• 코드 리팩토링
• 엠바카데로 TwoDesk
인수
설치, 소개내용 보기 -‐
h6p://tech.devgear.co.kr/408181
42. EMBARCADERO
TECHNOLOGIES
모바일 확장 방안(1)
–
2티어 + 데이터스냅
• 데이터스냅
– 모바일에 필요한 기능 만
– 데이터엑세스 모바일 제공
• 부분적 멀티티어 도입
– VCL:
2티어
– 모바일: 멀티티어
– 향후 멀티티어로 전환
데이터베이스
VCL 애플리케이션
모바일 앱
미들웨어 서버
BAD
데이터 엑세스
데이터엑세스
데이터스냅
43. EMBARCADERO
TECHNOLOGIES
모바일 확장 방안(2)
– 웹서비스 기반
• 보유하고 있는 웹서버 활용
– 웹서버 모바일 인터페이스 제공
• REST
클라이언트 라이브러리
– REST
기반 인터페이스 사용
데이터베이스
VCL 애플리케이션
모바일 앱
웹 서버(미들웨어)
데이터 엑세스
데이터엑세스
REST
클라이언트
44. EMBARCADERO
TECHNOLOGIES
모바일 확장 방안(3)
– 내부시스템(인트라)
• VCL 애플리케이션의 기능 확장
– 신규개발 보다 상호보완 확장
– 데이터 엑세스, 비지니스 로직
– 모바일 뷰어 / 입력화면만 개발
• 앱테더링 컴포넌트 기능
– 자동탐색 / 원격조정 / 데이터 전달
– WiFI,
블루투스 인터페이스 지원
데이터베이스
VCL 애플리케이션
모바일 앱
AT
데이터엑세스
45. EMBARCADERO
TECHNOLOGIES
데이터 스냅으로 모바일 확장
• 데이터스냅
– 델파이 미들웨어 기술
• 데이터 전달 기술
– DataSet
Provider
– Server
Method
– FDJSONReflect(Server
Method)
데이터베이스
VCL 애플리케이션
모바일 앱
미들웨어 서버
데이터 엑세스
데이터엑세스
데이터스냅
46. EMBARCADERO
TECHNOLOGIES
FDJSONReflect(데이터스냅)
• REST
기반 데이터스냅에서 데이터셋
전달에 사용
– DataSnap
Server
– DataSnap
REST
Applicaeon
• TFDJSONDataSets
• TFDJSONDeltas
• TFDJSONDeltasApplyUpdates
47. EMBARCADERO
TECHNOLOGIES
앱 테더링으로 모바일 확장
• 앱테더링
– VCL 앱을 모바일 장치로 쉽게 확장
– 신규개발 보다 상호보완 확장
• 앱테더링 데이터 전달 기술
– SendString
– SendStream
• FDMemTable.SaveToStream
• FDMemTable.
LoadFromStream
데이터베이스
VCL 애플리케이션
모바일 앱
AT
데이터엑세스
49. EMBARCADERO
TECHNOLOGIES
웹서비스 연동으로 모바일 확장
• 보유하고 있는 웹서버 활용
– 웹서버 모바일 인터페이스 제공
• REST
클라이언트 라이브러리
– REST
기반 인터페이스 사용
데이터베이스
VCL 애플리케이션
모바일 앱
웹 서버(미들웨어)
데이터 엑세스
데이터엑세스
REST
클라이언트
50. EMBARCADERO
TECHNOLOGIES
REST 클라이언트
• 표준 웹 프로토콜(REST) 지원
• 기능별 독립 컴포넌트
– TRESTClinet
– TRESTRequest
– TRESTReponse
• JSON
데이터 자동분석
• REST
Debugger:
REST 분석툴
52. EMBARCADERO
TECHNOLOGIES
마무리 요약
• 최신 윈도우의 UI와 기능을 사용할 수있는 델파이 컴포넌트
– 최신 컴포넌트와 속성 들
• 개발 시간 절약과 품질향상을 위한 도구
– DUnit: 유닛 테스트 도구,
CodeSite: 로깅 도구
– 개발과 디버깅에 유용한 팁들
• 모바일 앱에서의 엔터프라이즈 데이터 활용
– 모바일로 확장하는 (대표적인)3가지 방안(데이터스냅,
REST
클라이언트, 앱테더링)
– FDJSONReflect,
FDMemTable
-‐
Stream
54. EMBARCADERO
TECHNOLOGIES
도서안내
• 한 번에 개발하는 안드로이드/iOS 앱 with
델파이 –
2편 고급활용
• 김원경, 김현수, 오상현 저
• h6p://www.devgear.co.kr/book/
• 전국 서점에서 만나보세요
• 대상
• 따라하기 과정을 통한 학습
• 모바일 개발을 시작하는 개발자