[20150204 세미나] vcl 개발자를 위한 speed up! rad스튜디오
TRANSCRIPT
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES
VCL 개발자를 위한 Speed UP! RAD스튜디오 Live!
VCL 애플리케이션을 더 멋지고, 더 빠르고, 더 쉽게 개발하기 위한 다양한 방안����������� ������������������
EMBARCADERO TECHNOLOGIES
발표자 • 김현수(Humphery Kim) • 데브기어 델파이 에반젤리스트
• 데브기어 테크사이트 : h6p://tech.devgear.co.kr/
• 블로그 : h6p://blog.hjf.pe.kr/ • Facebook : h6p://F.com/hjfactory • [email protected]
EMBARCADERO TECHNOLOGIES
목차 시간 내용
13:30 ~ 14:00 등록 및 인사말 14:00 ~ 14:50 최신 윈도우에 맞는 델파이 컴포넌트와 기능 14:50 ~ 15:00 휴식과 Q&A
15:00 ~ 16:20 개발시간 절약과 품질향상을 위한 도구 16:20 ~ 16:40 휴식과 Q&A
16:40 ~ 17:30 모바일 앱에서의 엔터프라이즈 데이터 활용 17:30 ~ 17:40 정리와 Q&A
EMBARCADERO TECHNOLOGIES
엠바카데로(Embarcadero Technologies) • 1993년도 설립 • 320만 이상의 고객 – 포춘 2000 기업 중 97% • 35개 이상의 수상경력 – 꾸준한 혁신 • 세계 29개국에서 500명 이상 근무 • 5개 R&D 센터
EMBARCADERO TECHNOLOGIES
엠바카데로����������� ������������������ 제품����������� ������������������ 포트폴리오����������� ������������������
Design Develop Deliver
EMBARCADERO TECHNOLOGIES
세미나 소개
• 최신 윈도우 기능과 UI으로 개발해 주세요.
• 예전에 있던 버그가 또 나오네요. • 빨리 만들어 주세요. • 이 프로그램을 모바일에서 사용하고 싶어요.
• UI가 2% 부족한데? • (변경 부분만 테스트)잘 돌아가겠지? • 저 친구는 어떻게 저렇게 빠르게 코딩을 하지?
• 이 버그는 어디서 나오는거지? • 모바일을 새로 개발해야하나?
고객 요구사항 개발자 직면한 문제
EMBARCADERO TECHNOLOGIES
세미나 발표 순서
• 최신 윈도우에 맞는 델파이 컴포넌트와 기능들 – 최신 윈도우 기능과 UI를 사용할 수 있는 VCL 컴포넌트
• 개발 시간 절약과 품질 향상을 위한 도구 – 유닛테스트(DUnit), 로깅도구(CodeSite) – 유용한 개발, 디버깅 팁
• 모바일 앱에서의 엔터프라이즈 데이터 활용 – VCL 앱을 모바일로 확장할 수 있는 3가지 방안과 핵심기술
7
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES
최신 윈도우에 맞는 델파이 컴포넌트와 기능들
EMBARCADERO TECHNOLOGIES
VCL 스타일
• 애플리케이션 모든 것에 적용 – 컨트롤 – 타이틀 – 테두리 – 메뉴와 시스템 메뉴
• 일관성 있는 외관 • 윈도우 태블릿 스타일
– 윈도우7, 8.1 스타일 지원
자세히 보기(동영상) : h6p://youtu.be/HGZfYpgSsjM
EMBARCADERO TECHNOLOGIES
VCL 스타일
• VCL 스타일파일 경로 – C:\Users\Public\Documents\Embarcadero\Studio\15.0\Styles
• VCL 스타일 적용 – Project > Opeon > Applicaeon > Apperance
• 커스텀 스타일 제작 툴 – Tools > Bitmap Style Designer
• 프리미엄 VCL 스타일 다운로드 – h6p://cc.embarcadero.com/item/29929
EMBARCADERO TECHNOLOGIES
태스크바 미리보기 컴포넌트
• 윈도우 태스크바에 애플리케이션 미리보기 표시
• 미리보기 영역 제어 • 미리보기 창에서 버튼 추가 및 사용 • 태스크바에 종류 별 진행상황, 오버레이 아이콘을 표시
EMBARCADERO TECHNOLOGIES
점프리스트 컴포넌트
• 최근 문서에 빠르게 접근 • 디자인 타임에 정의 하거나 런타임 시 동적으로 제어 가능
• 태스크바 미리보기 컴포넌트 보완
EMBARCADERO TECHNOLOGIES
에디트 / 버튼 속성 들
• 에디트 – Alignment – TextHint – NumbersOnly – PasswordChar
• 버튼 – ElevaeonRequired – Style(bsCommandLink, bsSplitBu6on)
EMBARCADERO TECHNOLOGIES
TTaskDialog 컴포넌트
• 작업에 대한 소개 – 캡션, 제목, 내용 – 추가설명
• 다양한 종류의 선택지 제공 • 프로그레스바 제공
자세히 보기: h6p://tech.devgear.co.kr409271
EMBARCADERO TECHNOLOGIES
TCategory 관련 컴포넌트
• TCategoryPanelGroup • TCategoryBu6ons
• 카테고리 별 기능(메뉴) 구성
EMBARCADERO TECHNOLOGIES
리본(메뉴) 컴포넌트
• 윈도우즈 리본 메뉴 구성 • TRibbon
– TRibbonPage – TRibbonApplicaeonMenuBar – TRibbonQuickAccessToolBar
• TAceonManager
리본 컨트롤 자습서 동영상: h6p://tech.devgear.co.kr/409260
EMBARCADERO TECHNOLOGIES
TScreenTipsPopup 컴포넌트
• TScreenTipsPopup • TScreenTipsManager
• 화면 도움말 지원 컴포넌트
EMBARCADERO TECHNOLOGIES
델파이로 국제화된 다국어 애플리케이션 만들기
자세히 보기: h6p://tech.devgear.co.kr/408214
• Project > Language • ResourceString
EMBARCADERO TECHNOLOGIES
그 외 최신 컴포넌트(XE5~XE7)
• 센서 컴포넌트 • 블루투스 LE 컴포넌트 • REST & BaaS 컴포넌트 • 앱 테더링 컴포넌트 • FireDAC 엑세스 컴포넌트
EMBARCADERO TECHNOLOGIES
외부 컴포넌트(써드파티)
XE7을 지원하는 컴포넌트: h6p://tech.devgear.co.kr/408452
TMS SoUware Dev Express
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES
개발 시간 절약과 품질향상을 위한 도구
• DUnit : 유닛테스트 자동화 • CodeSite : 로깅도구 • 디버깅, 개발 Tips!
EMBARCADERO TECHNOLOGIES
단위 테스트…
단위 테스팅 (Unit
Teseng) 회귀테스팅 (Regression Teseng)
통합테스팅 (Intergraeon Teseng)
인수테스팅 (Acceptance Teseng)
RAD in Aceon: Unit Test in Delphi -‐ h6p://youtu.be/xUUC15RbiaQ
EMBARCADERO TECHNOLOGIES
DUnit: 유닛 테스트 자동화
• 델파이 유닛 테스트 프로젝트 • File > New > Other > Unit Test
• SetUp • TearDown • CheckEquals, … • Status
EMBARCADERO TECHNOLOGIES
Tips. 개발 생산성 팁
• IDE Insight(IDE의 모든 것) – 단축키 : Ctrl + .
• Code Template – View > Template – 단축키 : Ctrl + J
• Refactoring
EMBARCADERO TECHNOLOGIES
CodeSite: 코드검증 로깅 도구
• CodeSite.Send – Send(Object) – SendError – SendNote
• Viewer – Live Viewer – File Viewer
EMBARCADERO TECHNOLOGIES
Tips. 디버깅 팁
• OutputDebugString – Event Log – DbgView.exe
• Assert – AssertErrorProc
• Run – A6ach to Process – Detach From Program
EMBARCADERO TECHNOLOGIES
생산성: 현대식 문법
• 타입 헬퍼 – 코드 기능 확장 • 제너릭 – 유연한 데이터 타입 • 익명 메소드 – 코드의 재사용 • RTTI – 실시간 타입 활용
• 도서 & Ebook 활용
자세히 보기 -‐ h6p://tech.devgear.co.kr/406874
EMBARCADERO TECHNOLOGIES
Castalia: 코딩 생산성 툴
• 코드 템플릿 • 코드 분석 지원
– 클래스, 메소드 선택
• 코드 통계 • 코드 리팩토링
• 엠바카데로 TwoDesk 인수
설치, 소개내용 보기 -‐ h6p://tech.devgear.co.kr/408181
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES
모바일 앱에서의 엔터프라이즈 데이터 활용
• 앱테더링����������� ������������������ 기술을����������� ������������������ 이용해����������� ������������������ VCL����������� ������������������ 앱을����������� ������������������ ����������� ������������������ 모바일로����������� ������������������ 확장����������� ������������������
EMBARCADERO TECHNOLOGIES
모바일 확장 방안(1) – 2티어 + 데이터스냅
• 데이터스냅 – 모바일에 필요한 기능 만 – 데이터엑세스 > 모바일 제공
• 부분적 멀티티어 도입 – VCL: 2티어 – 모바일: 멀티티어 – 향후 멀티티어로 전환
데이터베이스
VCL 애플리케이션 모바일 앱
미들웨어 서버
BAD
데이터 엑세스
데이터
엑세스 데
이터
스냅
EMBARCADERO TECHNOLOGIES
모바일 확장 방안(2) – 웹서비스 기반
• 보유하고 있는 웹서버 활용 – 웹서버 모바일 인터페이스 제공
• REST 클라이언트 라이브러리 – REST 기반 인터페이스 사용
데이터베이스
VCL 애플리케이션 모바일 앱
웹 서버(미들웨어)
데이터 엑세스
데이터
엑세스 REST
클라이언트
EMBARCADERO TECHNOLOGIES
모바일 확장 방안(3) – 내부시스템(인트라)
• VCL 애플리케이션의 기능 확장 – 신규개발 보다 상호보완 확장 – 데이터 엑세스, 비지니스 로직 – 모바일 뷰어 / 입력화면만 개발
• 앱테더링 컴포넌트 기능 – 자동탐색 / 원격조정 / 데이터 전달 – WiFI, 블루투스 인터페이스 지원
데이터베이스
VCL 애플리케이션 모바일 앱
AT
데이터
엑세스
EMBARCADERO TECHNOLOGIES
데이터 스냅으로 모바일 확장
• 데이터스냅 – 델파이 미들웨어 기술
• 데이터 전달 기술 – DataSet Provider – Server Method – FDJSONReflect(Server Method)
데이터베이스
VCL 애플리케이션 모바일 앱
미들웨어 서버
데이터 엑세스
데이터
엑세스 데
이터
스냅
EMBARCADERO TECHNOLOGIES
FDJSONReflect(데이터스냅)
• REST 기반 데이터스냅에서 데이터셋 전달에 사용 – DataSnap Server – DataSnap REST Applicaeon
• TFDJSONDataSets • TFDJSONDeltas • TFDJSONDeltasApplyUpdates
EMBARCADERO TECHNOLOGIES
앱 테더링으로 모바일 확장
• 앱테더링 – VCL 앱을 모바일 장치로 쉽게 확장 – 신규개발 보다 상호보완 확장
• 앱테더링 데이터 전달 기술 – SendString – SendStream
• FDMemTable.SaveToStream • FDMemTable. LoadFromStream
데이터베이스
VCL 애플리케이션 모바일 앱
AT
데이터
엑세스
EMBARCADERO TECHNOLOGIES
FDMemTable -‐ Stream(앱테더링)
• Stream으로 변환 – SaveToStream(Stream, sfJSON) – LoadFromStream(Stream, sfJSON)
• 앱테더링 > SendStream • TFDStanStorageBinLink • TFDStanStorageJSONLink • TFDStanStorageXMLLink
EMBARCADERO TECHNOLOGIES
웹서비스 연동으로 모바일 확장
• 보유하고 있는 웹서버 활용 – 웹서버 모바일 인터페이스 제공
• REST 클라이언트 라이브러리 – REST 기반 인터페이스 사용
데이터베이스
VCL 애플리케이션 모바일 앱
웹 서버(미들웨어)
데이터 엑세스
데이터
엑세스 REST
클라이언트
EMBARCADERO TECHNOLOGIES
REST 클라이언트
• 표준 웹 프로토콜(REST) 지원 • 기능별 독립 컴포넌트
– TRESTClinet – TRESTRequest – TRESTReponse
• JSON 데이터 자동분석 • REST Debugger: REST 분석툴
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES
마무리 요약 / Q&A
EMBARCADERO TECHNOLOGIES
마무리 요약 • 최신 윈도우의 UI와 기능을 사용할 수있는 델파이 컴포넌트
– 최신 컴포넌트와 속성 들
• 개발 시간 절약과 품질향상을 위한 도구 – DUnit: 유닛 테스트 도구, CodeSite: 로깅 도구 – 개발과 디버깅에 유용한 팁들
• 모바일 앱에서의 엔터프라이즈 데이터 활용 – 모바일로 확장하는 (대표적인)3가지 방안(데이터스냅, REST 클라이언트, 앱테더링) – FDJSONReflect, FDMemTable -‐ Stream
EMBARCADERO TECHNOLOGIES
교육안내 • h6p://devgear.co.kr/edu
EMBARCADERO TECHNOLOGIES
도서안내
• 한 번에 개발하는 안드로이드/iOS 앱 with 델파이 – 2편 고급활용 • 김원경, 김현수, 오상현 저 • h6p://www.devgear.co.kr/book/ • 전국 서점에서 만나보세요
• 대상 • 따라하기 과정을 통한 학습 • 모바일 개발을 시작하는 개발자
EMBARCADERO TECHNOLOGIES
Quesdons?
Queseons?
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES
감사합니다.
h6p://tech.devgear.co.kr h6p://www.devgear.co.kr h6p://www.facebook.com/devgear