3. EMBARCADERO TECHNOLOGIES
목차
시간
내용
13:30 ~ 13:40
인사말
13:40 ~ 14:10
윈도우 최신기능을 내 애플리케이션에 적용하기: VCL 최신기능
14:10 ~ 14:40
코드는 간결하게, 유지보수는 더 쉽게: 현대식 문법
14:40 ~ 15:10
하드웨어 성능 최대한 활용하기: 병렬 컴퓨팅 라이브러리
15:10 ~ 15:30
휴식과 Q&A
15:30 ~ 16:10
코드 업그레이드 자동화 하기: 마이그레이션
16:10 ~ 16:50
2개의 컴포넌트로 VCL 앱을 모바일로 확장하기: 앱테더링
16:50 ~ 17:20
엠바카데로 MVP가 알려주는 모바일 프로젝트 가이드
4. EMBARCADERO TECHNOLOGIES
Embarcadero Technologies
•1993년도 설립
•320만 이상의 고객 – 포춘 2000 기업 중 97%
•35개 이상의 수상경력 – 꾸준한 혁신
•세계 29개국에서 500명 이상 근무
•국내 주요 고객사
6. EMBARCADERO TECHNOLOGIES
워크샵 소개
•딥 다이브(Deep dive)
•워크샵의 목적
–VCL 애플리케이션 외관/성능/기능 향상
–현대식 문법으로 더 수월해지는 유지보수 관리
–최신 윈도우 OS뿐 아니라, 추후 확장을 위한 대비
–모바일, IoT(사물인터넷)로 영역확장 등…
6
13. EMBARCADERO TECHNOLOGIES
그외 최신 컴포넌트
•VCL 센서 컴포넌트
•블루투스 LE 컴포넌트
•앱 테더링 컴포넌트
•REST 클라이언트 라이브러리
•클라우드(BaaS) 클라이언트 컴포넌트
•FireDAC 데이터 엑세스 컴포넌트
14. EMBARCADERO TECHNOLOGIES
EMBARCADERO TECHNOLOGIES
코드는 간결하게, 유지보수는 더 쉽게
•개선된 동적배열
•타입 헬퍼(Type Helper)
•제너릭(Generics)
•익명메소드(Anonymous Method)
•RTTI(Run Time Type Library)
15. EMBARCADERO TECHNOLOGIES
델파이의 새로운 문법(XE7)
•동적 배열 초기화 개선
–상수와 동적 배열을 이용해 초기화
•스트링과 같은 쉬운 동적 배열 연산
–“+” 연산으로 연결
–Insert, Delete 함수
DI := [1, 2, 3]; // 싱수 초기화
DI := DI + DI; // 동적배열로 초기화
DI := DI + [4, 5]; // 상수 + 동적배열로 초기화
Insert([5, 6], DI, 4);
Delete(DI, 6, 1);
DI := DI + [9];
16. EMBARCADERO TECHNOLOGIES
타입 헬퍼(Type Helper)
•이미 정의된 항목에 기능을 추가할 수 있는 문법
–데이터 타입, 열거형, 동적배열, 구조체, 클래스
•XE7에 내장된 데이터타입 대부분 기능확장 (System.SysUtils)
type
TMyClassHelper = class helper for TMyClass
procedure HelloWorld;
function MyFunc: Integer;
end;
17. EMBARCADERO TECHNOLOGIES
제너릭(Generic)
•클래스와 메소드에서 사용하는 데이터의 타입을 사용 시 지정하는 문법
•제너릭 타입과 제너릭 메소드
•더 단순해지는 코드
•더 유용해진 컬렉션 클래스
•열린/닫힌 생성자 형식 제너릭
type
TFoo<T> = class
FData: T;
end;
18. EMBARCADERO TECHNOLOGIES
익명 메소드(Anonymous Method)
•이름이 없는 프로시저(Procedure)와 함수(Function)
•변수와 파라메터로 할당해 전달 가능
•익명메소드가 정의 시점의 변수 참조가능
type TProc = reference to procedure; procedure Call(proc: TProc);
21. EMBARCADERO TECHNOLOGIES
새로운 페러럴(병렬) 컴퓨팅 라이브러리
•멀티코어 컴퓨터와 장비를 최대한 활용
•기존 코드에 쉽게 통합
•손쉽게 비동기 연산작업에 사용
•페러럴 for 루프, Task, Future
•데스크탑과 모바일, Object Pascal과 C++ 지원
22. EMBARCADERO TECHNOLOGIES
새로운 유닛 - System.Threading
•페러럴 ‘for’ 루프
–TParallel.For 메소드
•작업 스케줄링
–TTask 메소드: Run, WaitForAny, WaitForAll, Future
•IFuture
–미래의 값을 만들고 필요할때 사용
24. EMBARCADERO TECHNOLOGIES
마이그레이션(코드 업그레이드)
•마이그레이션이 필요한 이유
–최신 운영체제에 대한 지원
–유니코드와 64bit 환경 대응
–최신기술 사용과 성능개선
–시스템 확장 등등…
•마이그레이션에 대한 두려움
–어떻게 시작하지? http://tech.devgear.co.kr/405045
–프로젝트(소스)가 너무 많아서 엄두가 나지 않아요. (시간이 없어요.) 오늘 자동화 방안을 참고
25. EMBARCADERO TECHNOLOGIES
마이그레이션 자동화 데모
AS-IS
TO-BE
델파이 버전
델파이 7
델파이 XE7
데이터 연결방식
BDE
FireDAC
스타일
기본 스타일
현대식 스타일
마이그레이션
장점
유니코드, 64Bit, 현대식 문법과 최신기술 사용가능
•델파이 7 데모에 있는 MastApp 프로젝트 대상
•10개 화면(소스 13개)을 마이그레이션
http://docwiki.embarcadero.com/RADStudio/XE7/en/Migrating_to_FireDAC
26. EMBARCADERO TECHNOLOGIES
마이그레이션 자동화 데모 – 과정
1.자동화 패턴을 파일에 등록하기(컴포넌트, 속성 등)
2.reFind.exe 실행해 한번에 코드 변환하기
3.(옵션) 필요한 컴포넌트가 있으면 추가
4.자동화 변환되지 못한 속성 수정하기
5.컴포넌트 변경에 따른 변경된 코드 수정하기
6.(옵션) VCL 스타일을 활용해 최신 스타일 적용하기
27
27. EMBARCADERO TECHNOLOGIES
변환패턴을 텍스트파일로 기록
#unuse <unit>
–PAS 파일에서 유닛을 제거
#remove <property>
–PAS, DFM 에서 속성 제거
#migrate [<class> :] <old> -> <new> [, <unit>]
–Old를 New로 변경
–(옵션) <class> 대상 클래스, <unit> 추가
28
reFind.exe – 마이그레이션 자동화 도구
28. EMBARCADERO TECHNOLOGIES
FireDAC
•고성능, 손쉬운 사용, 엔터프라이즈 데이터베이스 연결
•통합 데이터 엑세스, 하지만 데이터베이스 특화기능 사용가능
FireDAC과 함께라면 데이터베이스 어플리케이션 개발이 다시 재밌어 집니다.
http://docwiki.embarcadero.com/RADStudio/XE7/en/Migrating_to_FireDAC
29. EMBARCADERO TECHNOLOGIES
INTERBASE
Embed, Deploy, Relax
The highly scalable, powerful, embeddable, encrypt-able database that works on multiple platforms, including iOS & Android
30. EMBARCADERO TECHNOLOGIES
IBLite is Free
•인터베이스의 런타임 로얄티 무료버전
•윈도우, OS X, iOS, Android 사용가능
•모든 플랫폼과 에디션에 호환되는 바이너리
•InterBase ToGo로 직접 업그레이드 가능
–전체 암호화 지원
–데이터베이스 크기에 제한 없음
32. EMBARCADERO TECHNOLOGIES
앱 테더링(App Tethering)?
•XE6에서 도입
•기존의 윈도우 앱을 모바일 장치로 가장 쉽게 확장하는 방법
–신규개발 보다 상호보완과 확장
•양측에 컴포넌트 추가로 커뮤니케이션
–동반자앱 자동탐색(별도 서버 불필요)
–String, Stream 기반 데이터 교환
–동반자앱에 공개된 액션 원격호출
33. EMBARCADERO TECHNOLOGIES
앱 테더링 기능 - 자동탐색
•VCL 애플리케이션의 동반자 모바일 앱
•자동탐색
–동일 서브넷, 특정 IP, 블루투스
–P2P 모델, 같은 앱/ 동반앱 대상
–별도의 서버, IP 설정, 서버관리 불필요
•비밀번호 인증, 데이터 전송 허용
•동일그룹간 자동연결(AutoConnect)
34. EMBARCADERO TECHNOLOGIES
앱 테더링 기능 – 데이터 전송
•데이터 전송
–문자열, 스트림 데이터 전송
–TFileStream, TMemoryStream…
•원격 액션 호출
–공개된 액션(코드블럭)을 상대의 동반자앱에서 원격으로 호출해 실행할 수 있는 기능
36. EMBARCADERO TECHNOLOGIES
RAD Studio의 블루투스 지원
•블루투스와 블루투스 LE API 포함
–개발자가 직접 네이티브 API 사용 가능
•새로운 블루투스 LE 컴포넌트
•앱 테더링에서 블루투스 확장
–WiFi와 동일한 방식으로 사용
–더욱 다양한 환경에서 활용
–더많은 크로스 플랫폼
37. EMBARCADERO TECHNOLOGIES
블루투스 기술
“Classic” Bluetooth
Bluetooth LE “Low Energy”
소비 전력
높음
낮음
데이터 전송률
높음 (2 Mbps)
낮음 (< 100kbps)
최대 접속 수
최대 7
많은 수…
프로필
표준 (SPP, DUN, PAN)
일반 속성 프로필(GATT)
일반적인 시나리오
자동차, 핸드폰, 핸드프리 기기, 모바일 폰
헬스케어 기기, 스마트왓치, 웨어러블 기기
38. EMBARCADERO TECHNOLOGIES
플랫폼 별 블루투스 지원
“Classic” Bluetooth
Bluetooth LE “Low Energy”
Android
✔
✔ (Android 4.3 이상)
iOS
✖
✔ (iPhone 4s+, iPad2+)
Windows
✔
Windows 8(Only)
Mac
✔
✔
39. EMBARCADERO TECHNOLOGIES
블루투스 시나리오
•블루투스 및 블루투스 LE로 헬스케어 센서 또는 웨어러블 기기와 연결해 독창적이고 도메인 특화된 솔루션 제공 가능
•기존의 VCL 윈도우 어플리케이션에 2개의 컴포넌트를 추가해 모바일 동반자 앱과 블루투스 기기로 기능 확장
43. EMBARCADERO TECHNOLOGIES
마무리 요약
•VCL 애플리케이션 외관/성능/기능 향상
•현대식 문법으로 더 수월해지는 유지보수 관리
•최신 윈도우 OS뿐 아니라, 추후 확장을 위한 대비
•모바일, IoT(사물인터넷)로 영역확장 등…
•최고의 RAD Studio
46. EMBARCADERO TECHNOLOGIES
도서안내
55
•한 번에 개발하는 안드로이드/iOS 앱 with 델파이
•김원경, 김현수, 오상현 저
•http://www.devgear.co.kr/book/
•전국 서점에서 만나보세요
•대상
•따라하기 과정을 통한 학습
•모바일 개발을 시작하는 개발자
47. EMBARCADERO TECHNOLOGIES
2014 델파이/C++빌더 개발자 송년 맥주 파티
56
•일시 : 2014.11.21(금) 오후 6:30 ~ 8:00
•장소 : 데브기어 라운지
•참석 대상 : 델파이/C++빌더 개발자 누구나
•참가비 없음
•http://tech.devgear.co.kr/406895