3. EMBARCADERO TECHNOLOGIES
목차
3
시간
내용
14:00 ~ 14:10
Welcome to RAD Studio XE7
14:10 ~ 14:25
VCL: 향상된 기능
14:25 ~ 14:55
FireUI: 멀티-디바이스, 꿈은 이루어진다.
14:55 ~ 15:20
Fast Code Faster: 빠른 코드를 빠르게
15:20 ~ 15:50
Coffee Break
15:50 ~ 16:10
EMS: 엔터프라이즈 모빌리티 서비스
16:10 ~ 16:40
IoT(사물인터넷): 앱 영역 넓히기
16:40 ~ 17:00
데이터 활용: 모든 디바이스에서 활용
17:00 ~
요약 및 Q&A
4. EMBARCADERO TECHNOLOGIES
Embarcadero Technologies
•1993년도 설립
•320만 이상의 고객 – 포춘 2000 기업 중 97%
•35개 이상의 수상경력 – 꾸준한 혁신
•세계 29개국에서 500명 이상 근무
•국내 주요 고객사
6. EMBARCADERO TECHNOLOGIES
RAD Studio는?
•윈도우, 맥, iOS, 안드로이드 그리고 IoT
•높은 수준으로 서로 연결
•아주 빠르고, 아주 쉽게 개발
•그것을 빠르게 시장 출시
7. EMBARCADERO TECHNOLOGIES
RAD Studio로 어떤 차이를 만드는가?
•모바일 개발로 가는 가장 쉬운 길
–여러분의 코드를 재사용
–멀티 플랫폼을 단하나의 소스코드로 개발
–비주얼 디자인을 위한 라이브 데이터 활용
–BaaS, MEAP, REST 지원
•윈도우는 여러분의 핵심
–VCL 확장, 최고의 Windows Library
–데스크탑, 모바일, IoT 통합
9. EMBARCADERO TECHNOLOGIES
XE7 새로운 기능들
•장치의 혁명은 계속 된다.
–FireUI: 멀티 디바이스 개발. 꿈은 이루어진다.
•IoT(사물인터넷)
–앱 테더링과 블루투스로 연결
•Fast code faster
–패러럴 라이브러리로 멀티코어 지원, 동적배열 보강
•EMS 미들티어 솔류션
•품질: 이제껏 최고의 델파이와 C++빌더
10
11. EMBARCADERO TECHNOLOGIES
VCL에서는?
•최근 “XE6” 기능
–태스크바 미리보기 컴포넌트, VCL 센서, VCL 스타일링 개선
–앱 테더링(via WiFi)
•NEW! JumpList 컴포넌트
–태스크바 컴포넌트 보완
•패러럴 라이브러리, 블루투스, FireDAC 개선 등
12
12. EMBARCADERO TECHNOLOGIES
RAD Studio XE7에서 VCL 어플리케이션
•Windows XP 지원중단 - Microsoft
•여러분의 VCL 어플리케이션에 현대식 기술 적용
–VCL 스타일
–비주얼 라이브 바인딩
–최신언어와 RTL 향상
–FireDAC 데이터베이스 접속
–REST와 클라우드 서비스
13
15. EMBARCADERO TECHNOLOGIES
플랫폼 API로 개발
iOS
iOS
iOS
iOS
iOS
iOS
iOS
iOS
Code
Android
Android
Android
Android
Android
Android
Android
Android
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Mac
Mac
Mac
Mac
Mac
Mac
Mac
Mac
APIs
16. EMBARCADERO TECHNOLOGIES
제공되는 컴포넌트로 개발
iOS
iOS
iOS
iOS
iOS
iOS
iOS
Component
Component
iOS
Code
Android
Android
Android
Android
Android
Android
Android
Android
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Windows
Mac
Mac
Mac
Mac
Mac
Mac
Mac
Mac
APIs
필요한 경우 개발자들은 플랫폼 API에 직접 접속하여 사용 가능
17. EMBARCADERO TECHNOLOGIES
멀티-디바이스, 순수 네이티브 앱
Apple
Google
Microsoft
단일
디바이스
멀티
디바이스
순수 네이티브
멀티-디바이스
순수 네이티브
Embarcadero
HTML5, JavaScript
스크립트 기반
18. EMBARCADERO TECHNOLOGIES
빠른 코드를 빠르게
•코드를 빠르게 작성
–RAD – 보면서 개발
–멀티-디바이스 디자이너
–컴포넌트-기반 모델
•빠른 코드를 작성
–보안에 뛰어난 컴파일 된 네이티브 바이너리
–NEW! 페러럴(Pallel) 라이브러리
19
23. EMBARCADERO TECHNOLOGIES
FireUI 멀티 디바이스 디자이너
•“master” 폼 디바이스 별 “view” 폼
•장치 별로 컴포넌트 속성 재정의
–“master”폼의 변경은 다른 장치의 “view”에 상속
–장치 별 “view”는 독립적으로 조정 가능
•각 장치의 “view”에 맞는 스타일 적용
•모든 폼팩터는 하나의 “form class(Unit)” 사용
24
24. EMBARCADERO TECHNOLOGIES
FireUI 멀티 디바이스 디자이너 기술
•모든 플랫폼에서 단일 폼 클래스(유닛)
•“mster” 속성 상속과 독립 속성조정
–“master”의 fmx 파일, “view”별 fmx 파일
–컴파일 시 선택된 플랫폼의 “view” 리소스만 포함해 빌드
25
25. EMBARCADERO TECHNOLOGIES
TMultiView 주요 기능
•하나의 컨트롤을 4가지로 표시
–일종의 “Super Panel”
•표시방식(Presentations)은 장치종류와 방향에 따라 달라짐
–플랫폼 설정 값에 따라 자동으로 폼팩터 적용
•표시방식의 속성 변경
–그리고 직접 표시방식을 구현 가능
27. EMBARCADERO TECHNOLOGIES
MultiView 플랫폼 표시방식
•장치의 종류와 방향에 따라 표시방식 변경
•기본방식(직접 설정 가능)
장치 종류
방향
표시방식
Phone
가로모드
Drawer (push/overlap)
세로모드
Drawer (push/overlap)
Tablet
가로모드
Docked panel
세로모드
Drawer (push/overlap)
31. EMBARCADERO TECHNOLOGIES
새로운 FireMonkey 반응형 서비스
•컴포넌트가 폼팩터와 플랫폼에 맞는 서비스 API 호출
–개발자가 제어 가능
•대상 기기에 맞는 UI 요소로 지정
–예> iOS와 Android 플랫폼의 탭 위치를 Top과 Bottom으로 각각 설정
32
32. EMBARCADERO TECHNOLOGIES
그 외의 FireMonkey의 새로운 기능
•데스크탑 멀티 모니터 지원
•당겨서 새로고침 지원(ListView)
•플랫폼 네이티브 컨트롤 통합 개선
•모든 플랫폼에서 멀티 터치 지원
•배포 관리자 개선
•새로운 PAServer Manager(Mac)
–그리고 PAServer의 더 많은 기능
33
33. EMBARCADERO TECHNOLOGIES
FireMonkey 안드로이드의 새로운 기능
•프로젝트 매니저에서 Java 라이브러리 추가 지원
•푸쉬 알림과 광고관련 프로젝트 옵션
•Java2Delphi tool: 자바 안드로이드 클래스의 오브젝트 파스칼 인터페이스 생성
–별도 다운로드 가능
•몰입(Immersive)모드 (Android KitKat 4.4 이상)
•구글 모바일 광고 SDK(AdMob) – XE6 부터
•안드로이드 스플래쉬 스크린 지원
34
34. EMBARCADERO TECHNOLOGIES
FireMokey iOS 새로운 기능
•새로운 표시방식 아키텍쳐(iOS 단독)
–일부 컨트롤은 FireMonkey 스타일 또는 네이티브 플랫폼 컨트롤 표시방식 사용가능
–TEdit
–TCalendar
35
36. EMBARCADERO TECHNOLOGIES
Fast Code: 빠른 코드
•네이티브와 LLVM 기반 컴파일러
–모든 플랫폼
–C++ 과 오브젝트 파스칼
•혁신: 새로운 페러럴(Parallel) 컴퓨팅 라이브러리
–데스크탑과 모바일 멀티코어 CPU 아키텍처를 활용
–오브젝트 파스칼과 C++
37
37. EMBARCADERO TECHNOLOGIES
오브젝트 파스칼의 새로운 언어
•동적 배열 초기화 개선
–상수와 동적배열
•동적 배열을 스트링과 같이 연산
–“+” 연산, Insert, Delete 함수
•제너릭(Generics) 최적화
–Generics.Collections 클래스 사용 시 실행파일 크기 개선
38
38. EMBARCADERO TECHNOLOGIES
새로운 C++ 라이브러리
•iOS용 STL 라이브러리 업데이트
–다른 플랫폼의 STL과 완벽한 호환
•새로운 Win64 라이브러리 버전
–Win64용 Boost 라이브러리 버전 1.55
–Win64용 Dinkumware STL 버전 6.40
39
39. EMBARCADERO TECHNOLOGIES
새로운 페러럴(병렬) 컴퓨팅 라이브러리
•멀티코어 컴퓨터와 장비를 최대한 활용
•기존 코드에 쉽게 통합
•손쉽게 비동기 연산작업에 사용
•페러럴 for 루프 지원
40
40. EMBARCADERO TECHNOLOGIES
새로운 System.Threading 유닛
•페러럴 ‘for’ 루프
–TParallel.For
•작업 스케줄링
–TTask methods: Run, WaitForAny, WaitForAll, Future
•Futures
var
value : IFuture <Integer>;
41
41. EMBARCADERO TECHNOLOGIES
다른 RTL 개선사항
•TXMLDocument에서 OmniXML 지원
–모바일에서 동작, XML 네임스페이스 지원 포함
–프로젝트마다 기본 XML 라이브러리 정의
•SOAP 및 다른 XML-베이스 처리를 위함
•새로운 System.NetEncoding 유닛: 웹관련 인코딩/디코딩
–Base64, HTML, URL encoding
42
44. EMBARCADERO TECHNOLOGIES
엔터프라이즈 모빌리티 서비스(EMS)
•턴키 방식의 REST 기반의 MEAP(Mobile Enterprise Application Platform) 미들웨어
–사용자 정의 API 호스팅, 엔터프라이즈 데이터베이스 엑세스
–모바일과 데스크탑 클라이언트 지원
–독립적, RESTful, 확장가능
–사용자와 REST API 호출을 웹 콘솔을 통해 분석
45
45. EMBARCADERO TECHNOLOGIES
왜 EMS인가?
•여러분의 앱에서 여러분의 엔터프라이즈 데이터베이스와 사내 서비스 또는 사설 클라이드와 신속하게 연결
•보안을 유지하며, 기업의 데이터를 쉽게 모든 기기에서 사용가능
•REST API 호출을 분석해 사용자, 그룹의 사용 분석 기능 포함
46
46. EMBARCADERO TECHNOLOGIES
InterBase Server Included
•Plug in EMS Package
EMS 구조
EMS Server
•Users tracking
•REST API analytics
EMS Clients
•Rest API
•InterBase ToGo licenses included
EMS DB
EMS Console
47. EMBARCADERO TECHNOLOGIES
EMS 아키텍처
•EMS 서버: REST API 제공
–기본 제공되는 리소스
•Users, Groups, Version
–사용자 정의 리소스
•개발자가 직접 패키지를 개발해 리소스 추가 가능
•EMS 데이터베이스: 사용자와 분석 데이터 저장
–InterBase, 라이센스 포함
•EMS 콘솔: 상태와 사용량 추적
49. EMBARCADERO TECHNOLOGIES
EMS 서비스 배포
•InterBase 서버
•EMS 서버와 EMS 콘솔
–개발용 스탠드 얼론 서버 제공
–5유저 라이센스 포함
•Win32와 Win64로 실행
•EMS 패키지를 이용해 사용자 정의 API 배포
–델파이, C++빌더 표준 BPL 패키지 이용
50
50. EMBARCADERO TECHNOLOGIES
EMS 패키지
•EMS 서버에 리소스 추가
–URI에 매핑
•마법사가 패키지 생성 지원
•패키지에 리소스를 추가
–EMS 패키지 마법사, 리소스 추가
–EMS 모듈 마법사, 신규 리소스 추가
51. EMBARCADERO TECHNOLOGIES
EMS 클라이언트
•클라이언트와 EMS 서버는 REST API 통신
•델파이와 C++빌더 클라이언트
•VCL과 FMX(모든 데스크탑, 모바일 플랫폼)
•클라이언트 사이드 BaaS 아키텍처
•EMS 프로바이더 컴포넌트로 연결
•서비스 연결은 BaaS 클라이언트 컴포넌트 사용
•TBackendQuery, TBackendUser, TBackendEndPoint
•TEMSFireDACClient 컴포넌트
•클라이언트와 EMS 서버사이의 데이터 전송용
54. EMBARCADERO TECHNOLOGIES
RAD Studio의 사물인터넷 지원
•앱 테더링(WiFi)
•블루투스
–앱테더링(블루투스)
–블루투스 LE 컴포넌트
•IoT 기기/센서와 REST 연결
55
55. EMBARCADERO TECHNOLOGIES
앱 테더링(App Tethering)?
•XE6에서 도입
•기존의 윈도우 앱을 모바일 장치로 가장 쉽게 확장하는 방법
•양측에 컴포넌트 추가로 커뮤니케이션
–리모트 Action 실행
–데이터 교환
56. EMBARCADERO TECHNOLOGIES
앱 테더링은?
•동반자 모바일 앱 제작
–데스크탑 용 VCL 앱의 동반 모바일 앱
–신규개발 보다 상호보완과 확장
•자동 탐색
–별도의 서버, IP 설정, 서버관리 필요없음
–Peer-to-peer 모델, 같은 앱/동반 앱
•XE7: 특정 IP 지정 또는 동일 서브넷 대상
59. EMBARCADERO TECHNOLOGIES
블루투스 시나리오
•블루투스 및 블루투스 LE로 헬스케어 센서 또는 웨어러블 기기와 연결해 독창적이고 도메인 특화된 솔루션 제공 가능
•기존의 VCL 윈도우 어플리케이션에 몇 가지 컴포넌트를 추가해 모바일 동반자 앱과 블루투스 기기로 기능 확장
60
60. EMBARCADERO TECHNOLOGIES
블루투스 기술
“Classic” Bluetooth
Bluetooth LE “Low Energy”
소비 전력
높음
낮음
데이터 전송률
높음 (2 Mbps)
낮음 (< 100kbps)
최대 접속 수
최대 7
많은 수…
프로필
표준 (SPP, DUN, PAN)
일반 속성 프로필(GATT)
일반적인 시나리오
자동차, 핸드폰, 핸드프리 기기, 모바일 폰
헬스케어 기기, 스마트왓치, 웨어러블 기기
61
61. EMBARCADERO TECHNOLOGIES
플랫폼 별 블루투스 지원
“Classic” Bluetooth
Bluetooth LE “Low Energy”
Android
✔
✔ (Android 4.3 이상)
iOS
✖
✔ (iPhone 4s+, iPad2+)
Windows
✔
Windows 8(Only)
Mac
✔
✔
62
62. EMBARCADERO TECHNOLOGIES
RAD Studio의 블루투스 지원
•블루투스와 블루투스 LE API 포함
–개발자가 직접 네이티브 API 사용 가능
•앱 테더링에서 블루투스 확장
–“손쉬운 사용” 개발자 인터페이스, 더많은 크로스 플랫폼
•새로운 블루투스 LE 컴포넌트
63
64. EMBARCADERO TECHNOLOGIES
사물인터넷을 위한 REST 사용
•일부 기기는 REST API 제공
•REST 클라이언트 라이브러리로 연결
–REST Debugger로 테스트
–TRESTClient, TRESTRequest, TRESTReponse 컴포넌트
–http://docwiki.embarcadero.com/RADStudio/XE6/en/REST_Client_Library
66
68. EMBARCADERO TECHNOLOGIES
New! FireDAC BLOB 스트리밍
•스트리밍을 위해 저수준 DB API 이용
–일부 데이터베이스만 지원
•더 많은 메모리를 효율적으로
•전체 스트림 수신 전에 데이터 사용
•BLOB 스트리밍의 대표적인 예
–SQL Server의 FILESTREAM 지원
69. EMBARCADERO TECHNOLOGIES
New! FDBatchMove 컴포넌트
•오래 문서화 되지 않은 FDDataMove 컴포넌트는 제거예정
•BatchMode는 Reader/Writer 추상화와 TFDBatchMoveXXXReader/TFDBatchMoveXXXWriter 컴포넌트를 사용
–Array DML 지원
70. EMBARCADERO TECHNOLOGIES
기타 FireDAC 개선사항
•새로운 IBLite 드리이버
•Data Explorer 개선
–Primary keys
–Foreign keys
–Sequences, Generators
•TFDConnection.Params 확장
72
71. EMBARCADERO TECHNOLOGIES
INTERBASE
Embed, Deploy, Relax
The highly scalable, powerful, embeddable, encrypt-able database that works on multiple platforms, including iOS & Android
72. EMBARCADERO TECHNOLOGIES
IBLite is Free
•인터베이스의 런타임 로얄티 무료버전
•윈도우, OS X, iOS, Android 사용가능
•모든 플랫폼과 에디션에 호환되는 바이너리
•InterBase ToGo로 직접 업그레이드 가능
–전체 암호화 지원
–데이터베이스 크기에 제한 없음
74
74. EMBARCADERO TECHNOLOGIES
어플리케이션 마이그레이션
•윈도우에서 IBLite 무료배포
–IBLite로 오래된 데이터베이스(BDE) 데이터 마이그레이션
•FireDAC을 이용해 오래된 앱을 마이그레이션
–reFind와 스크립트 이용
•BDE를 걷어내야할 시기
76
76. EMBARCADERO TECHNOLOGIES
잠깐만요… 몇가지가 더 있네요…
•IDE 가이드 투어
–인터렉티브 튜토리얼
•버전 컨트롤
–SVN 지원 업데이트
–새로운 버전 컨트롤 Git 지원
•로컬 저장소 Commit, Show log, Diff, Blame
78
78. EMBARCADERO TECHNOLOGIES
RAD Studio XE7의 주요 활용포인트
윈도우, OS X, iOS, Android용 멀티- 디바이스 개발을 위한 최고의 개발도구
사물인터넷을 위한 블루투스와 앱 테더링
빠른 코드를 빠르게: 페러럴 라이브러리와 턴키 EMS 솔루션
윈도우, 맥, iOS, 안드로이드 그리고 IoT를 위한 연결된 앱을 만드는 가장 빠른 길
79. EMBARCADERO TECHNOLOGIES
VCL 어플리케이션을 윈도우를 넘어 확장
•아주 쉽게 기존 VCL 앱의 동반자 앱을 만들다.
•블루투스로 윈도우 앱을 확장
•새로운 고성능 페러럴 라이브러리 이용
•클라우드, BaaS제공자, REST 서비스, EMS와 DataSnap으로 통합
80. EMBARCADERO TECHNOLOGIES
품질, 성능 그리고 안정성
•RAD Studio XE7으로 최고의 개발 경험을 제공
•모든 플랫폼에서 어플리케이션의 런타임 성능의 향상을 확인
•대형프로젝트에서 IDE 외에서 컴파일
81. EMBARCADERO TECHNOLOGIES
마무리 요약
•윈도우, 맥, iOS, 안드로이 그리고 사물인터넷을 연결하는 앱을 개발하기 위한 가장 빠른 길
•기본이 윈도우 어플리케이션을 모바일과 또다른 데스크탑 앱과 연결하고 인터넷 또는 블루투스를 이용해 기기 및 센서에 연결
•최고의 RAD Studio