18. EMBARCADERO
TECHNOLOGIES
목차
시간
내용
14:00
~
14:10
Welcome
to
RAD
Studio
XE7
14:10
~
14:40
RAD
Studio:
한번에 개발하는 멀티디바이스
14:40
~
14:55
[
휴 식
]
14:55
~
15:25
FireUI:
멀티-‐디바이스, 꿈은 이루어진다.
15:25
~
15:45
Fast
Code
Faster:
빠른 코드를 빠르게
15:45
~
16:00
[
휴 식
]
16:00
~
16:25
MEAP:
엔터프라이즈 데이터 이용
16:25
~
16:50
IoT(사물인터넷): 앱 영역 넓히기
16:50
~
마무리 요약 및 QA
19. EMBARCADERO
TECHNOLOGIES
Embarcadero Technologies
• 1993년도 설립
• 320만 이상의 고객
– 포춘 2000 기업 중
97%
• 35개 이상의 수상경력
–
꾸준한 혁신
• 세계 29개국에서 500명 이상 근무
• 국내 주요 고객사
52. EMBARCADERO
TECHNOLOGIES
RAD
Studio로 어떤 차이를 만드는가?
• 모바일 개발로 가는 가장 쉬운 길
– 여러분의 코드를 재사용
– 멀티 플랫폼을 단하나의 소스코드로 개발
– 비주얼 디자인을 위한 라이브 데이터 활용
– BaaS,
MEAP,
REST 지원
• 윈도우는 여러분의 핵심
– VCL 확장, 최고의 Windows
Library
– 데스크탑, 모바일,
IoT 통합
90. EMBARCADERO
TECHNOLOGIES
애플리케이션 셋팅 정의
• 디바이스 지원 정의:
Project-‐Opfons
• 앱스토어용 앱 아이콘 선택
(다중 해상도 지원):
Project-‐
Opfons
• 플랫폼 SDK:
사용할 SDK 다운로드 후 경로지정
96. EMBARCADERO
TECHNOLOGIES
위치 센서
위치 정보가 필요한 애플리케이션에서 널리 사용
• iOS
디바이스 위치 파악:
위도와 경도 사용
• 위도와 경도를 읽을 수 있는 위치 주소로 변환
• Win/Mac/iOS
에 모두 적용
• 위치를 표시하는 웹브라우저 컴포넌트에서 사용 가능
100. EMBARCADERO
TECHNOLOGIES
3D
• OpenGL 이용
• 3D
Components
• Cameras
• Lighfng
• Meterial
• 3D
Layout,
3D
Layer(Mix
3D)
• 3D
Objects
• Cube
• Cylinder
• Cone
• Disk
• 등
• 3D
Model
102. EMBARCADERO
TECHNOLOGIES
찬성
네이티브
UX
네이티브 성능
보안
반대
다중의 코드베이스
중복된 여러 팀
개발/운영 비용 상승
찬성
단일 팀
개발 비용 절감
신속한 시장 대응
반대
스크립트 성능 이슈
네이티브가 아닌 UX
보안 취약
앱 개발 툴 선택지
벤더사 개발툴
멀티-‐디바이스
웹 기술 기반 툴
순수 네이티브
Embarcadero
단일
디바이스
Apple
Google
Microso[
멀티
디바이스
네이티브
스크립트,
VM
HTML5
/
JavaScript
103. EMBARCADERO
TECHNOLOGIES
하나의 코드,
하나의 팀,
하나의 스케줄
• 멀티 플랫폼 앱 개발
– 하나의 코드
– 하나의 팀
– 하나의 스케줄 à
예산
• 순수 네이티브 개발
– 성능 Up
– 보안성 Up
– 사용자 경험 Up
112. 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
113. EMBARCADERO
TECHNOLOGIES
제공되는 컴포넌트로 개발
Component
Component
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
필요한 경우 개발자들은
플랫폼 API에 직접 접속
하여 사용 가능
114. EMBARCADERO
TECHNOLOGIES
찬성
네이티브
UX
네이티브 성능
보안
반대
다중의 코드베이스
중복된 여러 팀
개발/운영 비용 상승
찬성
단일 팀
개발 비용 절감
신속한 시장 대응
반대
스크립트 성능 이슈
네이티브가 아닌 UX
보안 취약
멀티-‐디바이스, 순수 네이티브 앱
벤더사 개발툴
웹 기술 기반 툴
단일
디바이스
멀티-‐디바이스
순수 네이티브
Embarcadero
Apple
Google
Microso[
멀티
디바이스
순수 네이티브
스크립트 기반
HTML5,
JavaScript
119. EMBARCADERO
TECHNOLOGIES
FireUI
멀티 디바이스 디자이너
• “master” 폼 à 디바이스 별 “view” 폼
• 디바이스 별로 독립적 컴포넌트 속성 지정
– “master”폼의 변경은 다른 장치의 “view”에 상속
– 장치 별 “view”는 독립적으로 조정 가능
• 각 장치의 “view”에 맞는 스타일 적용
• 모든 폼팩터는 하나의 “form
class(Unit)” 사용
120. EMBARCADERO
TECHNOLOGIES
FireUI
멀티 디바이스 디자이너 기술
• 모든 플랫폼에서 단일 폼 클래스(유닛)
• “mster” 속성 상속과 독립 속성조정
– “master”의 fmx
파일,
“view”별 fmx 파일
– 컴파일 시 선택된 플랫폼의 “view” 리소스만 포함해 빌드
121. EMBARCADERO
TECHNOLOGIES
TMulOView
주요 기능
• 하나의 컨트롤을 4가지로 표시
– 일종의 “Super
Panel”
• 디바이스와 폼팩터에 따라 표시방식(Presentafon)
변경
– 원하는 표시방식 지정 가능
– 플랫폼 친화적 설정 가능(PlanormBehaviour)
• 표시방식의 속성 설정가능
– 직접 표시방식을 구현해 추가 가능
123. EMBARCADERO
TECHNOLOGIES
MulOView
플랫폼 표시방식
• PlanormVehavior:
기본 표시방식(직접 선택 가능)
• 장치의 종류와 방향에 따라 표시방식 변경
장치 종류
방향
표시방식
가로모드
Phone
Drawer
(push/overlap)
세로모드
Drawer
(push/overlap)
Tablet
가로모드
Docked
panel
세로모드
Drawer
(push/overlap)
127. EMBARCADERO
TECHNOLOGIES
새로운 FireMonkey 반응형 서비스
• 컴포넌트가 폼팩터와 플랫폼에 맞는 서비스 API 호출
– 개발자가 제어 가능
• 대상 기기에 맞는 UI 요소로 지정
– 예
iOS와 Android 플랫폼의 탭 위치를 Top과 Bo7om으로
각각 설정
128. EMBARCADERO
TECHNOLOGIES
그 외의 FireMonkey의 새로운 기능
• 데스크탑 멀티 모니터 지원
• 당겨서 새로고침 지원(ListView)
• 플랫폼 네이티브 컨트롤 통합 개선
• 모든 플랫폼에서 멀티 터치 지원
• 배포 관리자 개선
• 새로운 PAServer
Manager(Mac)
– 그리고 PAServer의 더 많은 기능
129. EMBARCADERO
TECHNOLOGIES
FireMonkey
안드로이드의 새로운 기능
• 프로젝트 매니저에서 Java 라이브러리 추가 지원
• 푸쉬 알림과 광고관련 프로젝트 옵션
• Java2OP
tool:
자바 안드로이드 클래스의 오브젝트 파
스칼 인터페이스 생성
– 별도 다운로드 가능
• 몰입(Immersive)모드
(Android
KitKat
4.4 이상)
• 구글 모바일 광고 SDK(AdMob)
–
XE6 부터
• 안드로이드 스플래쉬 스크린 지원
130. EMBARCADERO
TECHNOLOGIES
FireMokey
iOS 새로운 기능
• 새로운 표시방식 아키텍쳐(iOS 단독)
– 일부 컨트롤은 FireMonkey 스타일 또는 네이티브 플랫폼
컨트롤 표시방식 사용가능
– TEdit
– TCalendar
132. EMBARCADERO
TECHNOLOGIES
빠른 코드를 빠르게
• 코드를 빠르게 작성
– RAD
–
보면서 개발
– 멀티-‐디바이스 디자이너
– 컴포넌트-‐기반 모델
• 빠른 코드를 작성
– 보안에 뛰어난 컴파일 된 네이티브 바이너리
– NEW!
페러럴(Pallel) 라이브러리
133. EMBARCADERO
TECHNOLOGIES
Fast
Code: 빠른 코드
• 네이티브 앱과 LLVM
기반 컴파일러
– 모든 플랫폼
– C++ 과 오브젝트 파스칼
• 혁신: 새로운 페러럴(Parallel) 컴퓨팅 라이브러리
– 데스크탑과 모바일 멀티코어 CPU 아키텍처를 활용
– 오브젝트 파스칼과 C++
134. EMBARCADERO
TECHNOLOGIES
Code
Faster:
개선된 문법
• 동적 배열 초기화 개선
– 상수와 동적배열
• 스트링과 같은 쉬운 동적 배열 연산
– “+” 연산,
Insert,
Delete 함수
• 제너릭(Generics) 최적화
DI
:=
[1,
2,
3];
//
초기화
DI
:=
DI
+
DI;
DI
:=
DI
+
[4,
5];
Insert([5,
6,
9],
DI,
4);
Delete(DI,
6,
1);//(0-‐base)
– Generics.Collecfons 클래스 사용 시 실행파일 크기 개선
135. EMBARCADERO
TECHNOLOGIES
새로운 페러럴(병렬) 컴퓨팅 라이브러리
• 멀티코어 컴퓨터와 장비를 최대한 활용
• 기존 코드에 쉽게 통합
• 손쉽게 비동기 연산작업에 사용
• 페러럴 for 루프 지원
137. EMBARCADERO
TECHNOLOGIES
다른 RTL
개선사항
• TXMLDocument에서 OmniXML
지원
– 모바일에서 동작,
XML 네임스페이스 지원 포함
– 프로젝트마다 기본 XML 라이브러리 정의
• SOAP 및 다른 XML-베이스 처리를 위함
• 새로운 System.NetEncoding
유닛:
웹관련 인코딩/디코딩
– Base64,
HTML,
URL
encoding
140. EMBARCADERO
TECHNOLOGIES
RAD
Studio와 MEAP
REST
Client
DataSnap
(Middleware)
Cloud
Service
(BaaS)
EMS
(기업형 모빌
리티 서비스)
141. EMBARCADERO
TECHNOLOGIES
REST 클라이언트 컴포넌트
• RESTful 기반의 웹서비스 연결
• 기능별 독립 컴포넌트
– TRESTClinet
– TRESTRequest
– TRESTReponse
• 응답데이터 자동분석
• REST
Debugger
142. EMBARCADERO
TECHNOLOGIES
DataSnap
–
미들웨어
• 가장쉬운 미들웨어 구성
– DataSnap
Server
– DataSnap
REST
Applicafon
– DataSnap
WebBroker
Applicafon
• 주요특징
– 서버의 데이터 셋 이용
– 클라이언트에서 서버 메소드 호출
DataSnap
서버
Database
143. EMBARCADERO
TECHNOLOGIES
Cloud
Service
(BaaS)
통합
• Backend-‐as-‐a-‐Service?
– 모바일 앱의 서비스 개발 시 필요한
Backend
기능을 표준화해 API로 제공
– 제공기능
• 데이터, 이미지, 파일 관리, 사용자 관리
• 업데이트 다운로드와 파일 또는 스트림
• 푸시 알림 전송
• 가트너(시장조사 기관) 예측
– 2016년 40%이상의 모바일 앱은 클라우드
서비스를 이용해 제공될 것
144. EMBARCADERO
TECHNOLOGIES
BaaS의 장점(왜?
BaaS를 알아야 하지?)
• 개발시간의 효율성을 얻기 위해
• 여러분이 앱개발 시 작은 리소스를
사용
• 서버의 인프라를 유지관리할 필요가
없다.
• 바퀴를 매번 다시 만들 필요는 없다.
• 핵심적인 기능개발에 집중
70
기능 관련 컴포넌트
TBackendUsers
TBackendFiles
TBackendStorage
TBackendQuery
TBackendPush
TPushEvents
제공자 컴포넌트
TKinveyProvider
TParseProvider
145. EMBARCADERO
TECHNOLOGIES
엔터프라이즈 모빌리티 서비스(EMS)
• 턴키 방식의 REST
기반의 MEAP 미들웨어
– 사용자 정의
API
호스팅
– 엔터프라이즈 데이터베이스 엑세스
– 사내 서비스와 클라우드 엑세스
– 모바일과 데스크탑 클라이언트 지원
– 클라이언트용 컴포넌트 제공(BaaS 기반)
– 사용자,
REST
API 호출 웹 콘솔을 통해 분석
146. EMBARCADERO
TECHNOLOGIES
InterBase
Server
Included
• Plug
in
EMS
Package
EMS
구조
EMS
Server
• Users
tracking
• REST
API
analyfcs
EMS
Clients
• Rest
API
• InterBase
ToGo
licenses
included
EMS
EMS
Console
DB
147. EMBARCADERO
TECHNOLOGIES
Embed,
Deploy,
Relax
INTERBASE
The
highly
scalable,
powerful,
embeddable,
encrypt-‐able
database
that
works
on
mulfple
planorms,
including
iOS
Android
148. EMBARCADERO
TECHNOLOGIES
IBLite
is
Free
• 인터베이스의 런타임 로얄티 무료버전
• 윈도우,
OS
X,
iOS,
Android 사용가능
• 모든 플랫폼과 에디션에 호환되는 바이너리
• InterBase
ToGo로 직접 업그레이드 가능
– 전체 암호화 지원
– 데이터베이스 크기에 제한 없음
225. EMBARCADERO
TECHNOLOGIES
블루투스 기술
“Classic”
Bluetooth
Bluetooth
LE
“Low
Energy”
소비 전력
높음
낮음
데이터 전송률
높음
(2
Mbps)
낮음
(
100kbps)
최대 접속 수
최대 7
많은 수…
프로필
표준
(SPP,
DUN,
PAN)
일반 속성 프로필(GATT)
일반적인 시나리오
자동차, 핸드폰, 핸드프리 기
기, 모바일 폰
헬스케어 기기, 스마트왓치,
웨어러블 기기
226. EMBARCADERO
TECHNOLOGIES
플랫폼 별 블루투스 지원
“Classic”
Bluetooth
Bluetooth
LE
“Low
Energy”
Android
✔
✔ (Android
4.3
이상)
iOS
✖
✔ (iPhone
4s+,
iPad2+)
Windows
✔
Windows
8(Only)
Mac
✔
✔
227. EMBARCADERO
TECHNOLOGIES
RAD
Studio의 블루투스 지원
• 블루투스와 블루투스 LE
API
포함
– 개발자가 직접 네이티브 API 사용 가능
• 앱 테더링에서 블루투스 확장
– “손쉬운 사용” 개발자 인터페이스, 더많은 크로스 플랫폼
• 새로운 블루투스 LE
컴포넌트
229. EMBARCADERO
TECHNOLOGIES
사물인터넷을 위한 REST 사용
• 일부 기기는 REST
API 제공
• REST
클라이언트 라이브러리로 연결
– REST
Debugger로 테스트
– TRESTClient,
TRESTRequest,
TRESTReponse 컴포넌트
– h7p://docwiki.embarcadero.com/RADStudio/XE6/en/
REST_Client_Library
230. EMBARCADERO
TECHNOLOGIES
IoT
-‐
다양한 디바이스 연동
• AR drone
• Google Glass
• IP Camera and IO Controller
• Ballistic Chronograph
• Leap Motion 3D input
• Z-Wave Home Automation
• Barcode scanning
• Emotiv EPOC brain computer
interface
• Philips Hue Wireless LEDs
• Ouya
• Kinect
• And more!
h7p://tech.devgear.co.kr/347981
243. EMBARCADERO
TECHNOLOGIES
잠깐만요…
몇가지가 더 있네요…
• IDE
가이드 투어
– 인터렉티브 튜토리얼
• 버전 컨트롤
– SVN
지원 업데이트
– 새로운 버전 컨트롤 Git
지원
• 로컬 저장소 Commit,
Show
log,
Diff,
Blame
244. EMBARCADERO
TECHNOLOGIES
RAD
Studio
XE7의 주요 활용포인트
윈도우,
OS
X,
iOS,
Android용 멀티-‐디
바이스 개발을 위한
최고의 개발도구
사물인터넷을 위한
블루투스와 앱 테더
링
빠른 코드를 빠르게:
페러럴 라이브러리와
턴키 EMS
솔루션
윈도우, 맥,
iOS,
안드로이드 그리고 IoT를 위한 연결된 앱을
만드는 가장 빠른 길
245. EMBARCADERO
TECHNOLOGIES
VCL 어플리케이션을 윈도우를 넘어 확장
• 아주 쉽게 기존 VCL 앱의 동
반자 앱을 만들다.
• 블루투스로 윈도우 앱을 확장
• 새로운 고성능 페러럴 라이
브러리 이용
• 클라우드,
BaaS제공자,
REST
서비스,
EMS와 DataSnap
으로 통합
246. EMBARCADERO
TECHNOLOGIES
품질, 성능 그리고 안정성
• RAD
Studio
XE7으로 최고의 개발
경험을 제공
• 모든 플랫폼에서 어플리케이션의 런
타임 성능의 향상을 확인
• 대형프로젝트에서 IDE 외에서 컴파일
247. EMBARCADERO
TECHNOLOGIES
마무리 요약
• 윈도우, 맥,
iOS, 안드로이드 그리고 사물인터넷을 연결
하는 앱을 개발할 수 있는 가장 빠른 방법
• 윈도우 어플리케이션을 모바일과 또다른 데스크탑 앱과
연결하고 인터넷 또는 블루투스를 이용해 기기 및 센서에
연결
• 최고의 RAD
Studio