107
EMBARCADERO TECHNOLOGIES RAD Studio XE8소개합니다. 커넥티드 앱을 개발하는 플랫폼 (윈도우와 다양한 디바이스)

RAD Studio XE8을 소개합니다

  • Upload
    devgear

  • View
    315

  • Download
    1

Embed Size (px)

Citation preview

Page 1: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8을 소개합니다.

커넥티드 앱을 개발하는 플랫폼 (윈도우와 다양한 디바이스)

Page 2: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

Speaker: 짐 매키트

• Jim McKeeth, 개발자 에반젤리스트 & 엔지니어

[email protected] – 블로그: Delphi.org / @JimMcKeeth / FB:JimMcKeeth

• Long time developer

• 밀어서 풀기 발명과 특허(2000년)

– US Patent # 8352745 & 6766456, ….

• 즉흥 연기자 (ComedySportz Boise)

2

Page 3: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

3

Page 4: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

Agenda

1:00 - 1:30 등록 및 인사말

1:30 - 1:45 RAD XE8 비전

1:45 - 3:10 What's New in XE8

3:10 - 3:15 (coffee break)

3:15 - 3:30 앱테더링 앱 사례 (오상현)

3:30 - 4:40 개발자의 생산성 향상

4:40 - 5:00 엔터프라이즈 모빌리티 서비스

5:00 - 5:20 인터베이스 XE7

5:20 - 5:30 정리 및 Q&A 4

Page 5: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

엠바카데로 (Embarcadero Technologies)

Page 6: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

엠바카데로 (Embarcadero Technologies)

• 1993년 설립

• 320만 고객 - 포춘 2000의 97%

• 35개+ 제품 수상 – 혁신을 지속

• 500명+ 직원 (29 개 국가)

Page 7: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

7

비전 Vision

여러분의 산업에 강하고, 비즈니스에 바로 적용할 수 있는 커넥티드 앱 개발

Page 8: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

윈도우 개발자들: A Market View

멀티-플랫폼

• 모바일도 개발 필요. 하지만 윈도우 솔루션도 계속 지원하고 확장해야 한다 – iOS 와 안드로이드를 모두

지원해야 하는 상황

모바일 애플리케이션을 개발할 경우, 여전히 기존 윈도우 애플리케이션을 지속적으로 개발하고 지원해야 하나요?

1%

4%

95%

0% 20% 40% 60% 80% 100%

No, we will cease …

We will provide support …

Yes, we will continue all …

여러분의 사용자에게 가장 중요한 모바일 플랫폼은 무엇입니까? (복수 선택)

4% 14%

17% 33%

67% 83%

0% 20% 40% 60% 80% 100%

Other

BlackBerry

Windows RT

Windows Phone

Apple iOS

Android

Page 9: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

윈도우 개발자들 : A Market View

사물인터넷 (IoT)이 미치는 영향

• 2015년은 사물인터넷(IoT)이 비즈니스 앱에 연결되는 해 – 사물인터넷에 연결된 앱들이

많은 서비스에도 연결

– 사물인터넷이 비즈니스에 영향을 주는 한 해가 될 것

어떤 유형의 시스템들이 사물인터넷(Thing) 솔루션의 한 영역을 차지하여 연결될까요?

2%

23%

26%

36%

49%

61%

69%

78%

0% 20% 40% 60% 80% 100%

Other

Other IoT device

Middleware

Enterprise applications

Cloud services

Database

Desktop applications

Mobile apps

Page 10: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

What is RAD Studio?

커넥티드 앱 개발 플랫폼 (윈도우와 다양한 디바이스)

RAD 개발: 윈도우, 맥, iOS, 안드로이드, 사물인터넷(IoT)

산업에 강하고 비즈니스 용으로 준비된 플랫폼

Page 11: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8: 비즈니스 용으로 준비된

여러분의 산업에 강하고, 비즈니스에 바로 적용되는 솔루션 만들어 보십시요

11

Page 12: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8: 커넥티드 (Connected)

네이티브 클라이언트 플랫폼, 모바일 확장, 스마트 디바이스, 클라우드 서비스, 엔터프라이즈 데이터, 임베디드 데이터

를 연결

12

Page 13: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8: 멀티 디바이스

단일 소스로

화면을 개발하고 다양한 UI 폼팩터에 적용: FireUI

13

Page 14: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8: 사물인터넷 (IoT) 을 바로 적용

사물인터넷에 적용되는 새로운 기능들을 활용하여 앱을 확장:

근접 인식, 디바이스, 센서 등의 데이터를 활용

14

Page 15: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8: EMS 미들웨어

기업의 데이터에 액세스하고 동기화,

REST API를 작성하고 공개

턴키 EMS 솔루션

15

Page 16: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8: 개발자들을 위한 것은?

16

Page 17: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

What’s New in RAD Studio XE8 컴파일러들과 라이브러리들

커넥티드 앱을 개발 (윈도우와 다양한 디바이스)

Page 18: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8 컴파일러들과 툴체인들

• Object Pascal 과 C++ 컴파일러들

• 윈도우 32-bit 와 64-bit

• 맥 OS X

• 안드로이드 ARM v7

• iOS Armv7, Arm 64-bit, iOS 시뮬레이터 (Object Pascal 언어만 해당)

• 총: 7개 오브젝트 파스칼, 6개 C++ 언어 컴파일러들 18

Page 19: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

New in XE8: iOS 64-bit 컴파일러와 툴체인

• iOS 64bit Object Pascal 과 C++ 를 위한 새로운 컴파일러

– 링커(linkers)와 도구(tools) 포함

– iOS 64 타겟을 별도로 지정

• 애플 유니버설 앱 지원

– 하나의 IPA로 두가지 바이너리 수용 • 앱 스토어에서 요구됨

– 64bit 타겟에서 32bit 바이너리도 임베드 할 수 있음 19

Page 20: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

iOS Universal Apps

20

iTunes Connect 정보

Page 21: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

단일 소스에서 iOS 32 와 iOS 64를 동시에

• 당연한게 아닌가요?? 꼭 그렇지 않습니다!

– Xcode 오브젝티브C 에서 많은 데이터 타입이 변경됨

– Xamarin C# 코드는 API가 2개로 분기 (Classic 과 Unified)

• 핵심 변경 1개: LongInt: 64-bit 모바일에서는 64-bit

– 그리고, 32-bit 모바일과 윈도우에서는 32-bit

• 포인터와 참조 모두 64-bit, 당연합니다!

• 네이티브 라이브러리 직접 호출 시, 추가 고려있음 21

Page 22: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

파이어몽키 (FMX) 플랫폼

• 단일-소스, 멀티-디바이스 아키텍처

– UI 콘트롤 포함 (스타일과 플랫폼 네이티브중 선택 가능)

– 서로 다른 플랫폼 용 여러 컴파일러: 모두가 네이티브 코드 생성

• RAD와 강력한 OOP 아키텍처의 만남

• 윈도우, OS X, 안드로이드, iOS 용

22

Page 23: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

FireUI 멀티-디바이스 디자이너

• 마스터를 공유하는 각 개별 화면들

• 서로 다른 플랫폼과 화면에 맞도록 각각을 시각적으로 폼 미세 조정 가능

• XE7에서 최초도입

23

Page 24: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

FireUI: XE8 에서는 디자이너 미리보기

• 라이브 미리보기 (모바일, 데스크탑 플랫폼 모두)

• 서로 다른 화면들에 표현되는 실제 UI를 개발중에 바로 확인

24

Page 25: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

파이어몽키: XE8에 추가된 새 모바일 기능들

• 새로운 맵뷰(MapView) 컴포넌트

– 안드로이드 구글 맵스 (Android Google Maps)

– iOS 맵킷(MapKit)

• 더 많아진 iOS 플랫폼 컨트롤들

– TMemo, TListView, TSwitch +(XE7에 있던 TEdit, TCalendar)

– 플랫폼 컨트롤과 스타일 콘트롤을 섞어서 사용가능, 이때, Z순서가 향상됨

25

Page 26: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

파이어몽키: XE8에 추가된 새 모바일 기능들

• 파이어몽키 플랫폼 네이티브 렌더링 아키텍처

26

파이어몽키 GPU 위주 컨트롤 렌더링

플랫폼 네이티브 컨트롤 렌더링 (OS에서 수행)

하부 렌더링 주체

Page 27: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

iOS 플랫폼 컨트롤들

27

Page 28: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

iOS 플랫폼 TListView

• 네이티브옵션

– Grouped

– Indexed

– Styled

28

Page 29: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

맵뷰(MapView) 컴포넌트

29

Page 30: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

기타 파이어몽키(FMX) XE8 기능들

• 데스크탑 브라우저 컴포넌트들 (윈도우, OS X 용)

– 플랫폼 브라우저 컴포넌트들에 맵핑됨

• 새 ImageList 컴포넌트

– 데스크탑과 모바일에서 모두 활용

• 멀티미디어와 카메라 지원 강화

– 카메라롤에 저장 기능 바로 적용

30

Page 31: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

데스크탑 파이어몽키 브라우저

31

• OS X

• 윈도우

Page 32: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

새로운 프리미엄 파이어몽키 스타일들

32

Page 33: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

런 타임 라이브러리 (RTL)

• VCL 과 FireMonkey에서 모두 활용

• 핵심 런타임: 메모리 관리, 파일 및 스트림, 쓰레드, 인코딩, 포맷…

• 플랫폼 고유 API / SDK 호출을 후킹(Hook)

• XE7에 도입된: 병렬 프로그래밍 라이브러리

33

Page 34: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

XE7 병렬 라이브러리

34

Page 35: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RTL 연결성과 사물인터넷(IoT): XE8

• 앱테더링(AppTethering)

– 프로토콜 강화, 암호화 후킹(hook)

• TBluetooth 컴포넌트

– 기존 TBluetoothLE 컴포넌트와 매칭

35

Page 36: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

AppTethering: VCL 과 Mobile 사이의 다리 역할

36

Page 37: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

New: 근접성(Proximity): 비콘(Beacons)

37

Page 38: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

비콘(Beacon)이 하는 일은?

• 비콘은 근접성과 식별 정보를 제공합니다 • 얼마나 가까이 있는 지 (신호

강도)를 모바일 앱에게 알림 • 식별 정보 제공 (UUID, Major

ID, Minor ID)

• 주요 표준 2가지 • iBeacons (애플) • AltBeacons

Page 39: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

비콘(Beacon)으로 여러분이 할 수 있는 것은?

• 여러분의 “근접성(proximity)”앱이 할 수 있는 것: – 가까운 비콘 찾기

• 앱이 비콘에 얼마나 가까운지를 결정

– 어떤 비콘인지를 식별 • UUID, Major, Minor

– 비콘 범위 기준 처리 (Enter/exit) • 블루투스LE(BLE) 신호 거리에 제한됨

– 비콘의 정보에 맞게 여러 액션을 원하든 데로 수행

Page 40: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

• 제품의 위치 찾기 • 알맞은 혜택 제시 • 고객들을 인식 하기 • 영업 팀의 경로 설정 • 쇼핑 지도 • 매출 증대 • 고객 만족과 로열티

향상

소매점 사례 Use Case

Page 41: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

TBeacon 컴포넌트

• iOS, 안드로이드, OS X 지원

• iBeacon 과 AltBeacon 표준

• 정보 수신은 이벤트로 처리

Page 42: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

Box2D 물리 연산이 추가됨

• C++로 배포된 라이브러리

– http://box2d.org/

• Object Pascal 헤더와 바로 사용할 수 있는 데모들

• 데스크탑과 모바일 앱에 물리 연산을 추가하세요

– 게임용도로 훌륭함, 그리고 그 이상을!

42

Page 43: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

Box2D 컨셉

• 2D 견고한 물체 물리 연산 엔진

• 충돌 역학

– 지속 충돌 탐지(Continuous collision detection), convex polygons, multiple shapes per body, one-shot contact..

• 물리학

– 시간에 따른 지속적인 물리 현상, body-joint-contact graph, contact, friction and restitution, many joint types, motors and friction, reaction to forces/impulses

43

Page 44: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

Box2D 테스트베드

44

Page 45: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

HTTP / HTTPS 클라이언트

• Indy TIdHTTP 는 모든 플랫폼에서 작동됨

– OpenSSL 배포를 iOS 와 윈도우에 하려면

– 여러분의 앱의 보안 비트를 배포하게 됩니다

• 플랫폼 네이티브 API들

– OS 벤더가 제공하는 보안 레이어

– 앱과 함께 배포할 것은 없습니다

– 서로다른 4개 API들… XE8 이전!

45

Page 46: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

HTTP HTTP Client Library

• 네이티브 HTTP 와 HTTPS 지원을 수행

– 각 플랫폼에서 제공하는 SDK 서비스들을 사용

– 골치거리가 없는 배포, 플랫폼 보안에 맡김 • OpenSSL 보다 나음

– 윈도우, Mac, iOS, 안드로이드에서 모두 적용

– VCL에서도 물론 작동됨!

• NetHTTPClient 와 NetHTTPRequest 컴포넌트

– System.Hash 는 HTTP의 해쉬기능 제공 46

Page 47: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

REST/BaaS 라이브러리는 HTTP Client Library 사용

47

XE8 에서는 REST 클라이언트

라이브러리 재정의 (IdHTTP 에서 HTTP

Client Library로 이전)

BaaS 프레임워크는 REST Client Library

사용

Page 48: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

앱 애널리틱스(AppAnalytics)

• 여러분의 사용자의 익명 사용을 파악, 사용성 이해

– 사용자 데이터 추적 없음

– RAD 개발환경에서만 사용

• 엠바카데로에서 사용량에 따른 과금 형식으로 서비스 (SaaS) – appanalytics.embarcadero.com

48

Page 49: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

TAppAnalytic 컴포넌트(들)

• VCL 과 FireMonkey

– 컴포넌트 명 동일, 실제 구현은 다름

• 앱 시작, 폼 시작, 예외들, 컨트롤 사용…

• 개발자가 이벤트를 사용 하여 원하는 타입과 그룹 을 지정할 수 있음

49

Page 50: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

AppAnalytics 샘플 데이터

50

Page 51: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

What’s new: 데이터베이스 RTL

• TField 의 읽기/쓰기 성능 최적화

– Tdataset의 모든 자식들이 강화됨

– 고객 리포트에 따르면, ClientDataSet이 XE7에 비해 25% 향상됨

51

Page 52: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

파이어댁(FireDAC) 이란 무엇인가?

• 고성능이고, 사용이 편리한 엔터프라이즈 데이터베이스 연결

• 데이터베이스 고유 기능들을 일관성 있게 액세스

• 드라이버가 필요 없고, 소스 코드 전체가 제공됨 (엔터프라이즈 에디션 이상인 경우)

데이터베이스 앱 개발이 다시 즐거워 집니다. FireDAC을 활용하십시요!

Page 53: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

FireDAC Connections

53

Page 54: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

What’s New: FireDAC

• New in FireDAC

– 테라데이터(Teradata) DB드라이버, ODBC driver 기반

– InterBase 체인지 뷰(Change Views) 지원 • 자세한 사항은 InterBase XE7을 참조

– 변경 공지(notifications)

– dbExpress에서 FireDAC 마이그레이션 도구

– SQLite v3.0 이상 지원 강화 (스마트 데이터 타입을 동적 링크와 정적 링크 모두 지원)

54

Page 55: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

What’s New: VCL in XE8? 요약

• 매우 견고한 기반을 바탕으로 구축 – 폰트 스케일링과 기타 향상들

• 연결성 (Connectivity) – 블루투스(Bluetooth) 와 앱 테더링(AppTethering) 확장

– HTTP client library

• 앱 애널리틱스 (AppAnalytics) – 간단한 수고만으로 앱 사용성 분석

• IDE에서 개발자 생산성 향상을 위한 많은 기능들 (겟잇, 디유닛X, 머큐리얼 등등)

55

Page 56: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

VCL 스타일 2가지가 새로 더 추가됨: XE8

56

Page 57: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

개발자 생산성: IDE

VCL과 FireMonkey 개발자들에게

커넥티드 앱을 개발 (윈도우와 다양한 디바이스)

Page 58: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

개발자 생산성 강화

58

최고의 코드 네비게이션 인텔리전트 클립보드

코드 메트릭스 내장

구문 강조 스마트한리펙토링 자동화

Page 59: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

개발자 생산성 강화

• IDE 와 에디터 확장

• 카스탈리아(Castalia) 기본 탑재

– 겹치는 몇가지 기능은 비활성화

– 여전히 메뉴 분리, 향후 통합 예정

• IDE 기능들

– 프로젝트 통계 정보, 클립보드 히스토리, 다중 붙여 넣기

59

Page 60: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

에디터의 새로운 기능

• 공통 (C++과 OP)

– 북마크 누적, 스마트 키, 괄호 매칭 , 코드 구조 강조 표시

• Object Pascal에만 적용되는 것들

– Castalia 리펙토링, 에디터 선택 확장, 흐름 통제 강조 표시, 코드 찾아가기 툴바, 스마트 심볼 검색

– 코드 분석을 통해 품질 추적 60

Page 61: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

겟잇(GetIt) 패키지 관리자

• 손쉽게 라이브러리를 찾고 원클릭으로 설치

• VCL 과 멀티-디바이스 라이브러리 모두 호스팅

• 터보 팩(TurboPack) 프로젝트들 모두 포함

• “겟잇(GetIt) 라이브러리 관리자는 소스 코드 라이브러리들과 컴포넌트들 등 엠바카데로의 겟잇 서버에 있는 모든 기능들을 손쉽게 탐색, 다운로드, 업데이트 합니다”

• 더 많은 라이브러리들 추가 예정!

61

Page 62: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

겟잇(GetIt) 패키지 관리자

62

Page 63: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

겟잇(GetIt)은 2번 클릭: 라이선스 수락 / 설치

63

Page 64: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

“터보팩(Turbo Pack)” 이란 무엇인가?

• “클래식한” 오픈 소스 컴포넌트들의 모음

– XE7/XE8 에 맞게 업데이트

– 엠바카데로가 스폰서하는 업데이트

– 새로운 언어와 RTL 기능을 유용하게 적용

• 대부분은 Turbo Power 오픈 소스 프로젝트에서 (하지만, 전부는 아님)

– 이름이 “Turbo”인 이유

– www.turbopack.net

Page 65: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

DUnitX 지원

• DUnitX

– 현대식 Delphi 유닛 테스팅 프레임워크

– github.com/VSoftTechnologies/DUnitX

• 마법사까지 제공되는 통합

– 콘솔과 FMX 런너(runners)

– Delphi 와 C++

• DUnit 런타임은 여전히 제품에 포함

65

Page 66: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

버전 인사이트

• 서브버전 지원 강화

– 변경 목록 레이블, SVN 머지 대화창, 브랜치 스위칭

• Git 버전 컨트롤 강화

– 원격 리포지토리에 푸쉬(push)와 풀(pull) 모두 가능

• New 머큐리얼(Mercurial)버전 컨트롤 통합

– 원격 리포지토리 복제, 로컬에 변경 커밋, 로그 데이터 표시

66

Page 67: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

IDE 셋팅 마이그레이션

• Bin 폴더 안에, migrationtool.exe

• 이전 버전의 IDE셋팅을 새 버전으로 마이그레이션

– 동일 컴퓨더라면, 레지스트리를 마이그레이션

– 다른 컴퓨터라면, XML로 익스포트/임포트

• 구성 정보를 복제하면 동일 버전에서도 서로 다른 설치가 가능 (XML 활용)

• 사용자는 특정 셋팅 그룹을 선택할 수 있음

67

Page 68: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

IDE 셋팅 마이그레이션

68

Page 69: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

안드로이드 자바(Java) 라이브러리 관리

• 커스텀 자바 라이브러리를 프로젝트에 추가

• 불필요한 표준 라이브러리 제거

• 커스텀 classes.dex 라이브러리를 프로젝트에 적용

69

image

Page 70: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

더 많은 XE8 IDE 기능들

• CHM 도움말이 다시 제공됨

• 시작 페이지가 더 좋아짐

• 설치 과정이 향상되고 설치 풋프린트가 감소 (임시 파일 삭제)

70

Page 71: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

EMS in RAD Studio XE8 모바일, 데스크탑, 사물인터넷에 연결

커넥티드 앱을 개발 (윈도우와 다양한 디바이스)

Page 72: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

EMS 란 무엇인가?

엔터프라이즈 모빌리티 서비스는

미리 구현된 턴키 미들웨어 서버입니다:

• 사용자 관리와 인증

• 작성된 모듈을 커스텀 API로 오픈 (REST)

• 기업의 SQL 데이터베이스 액세스

• 모바일 임베디드와 서버 SQL 데이터 스토리지

• 사용자, 디바이스, API분석 통계를 제공하는 웹페이지

Page 73: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

왜 EMS 인가?

• 모바일 솔루션은 기업이 집중하는 것에 대한 강력한 백엔드가 필요

• 턴키, 클라우드에 준비된 솔루션은 빠르고 쉽게 적용 가능

• 기업에서는 필수적인 요소들로 구성

– VAR의 입장에서는 고객의 공통 백엔드

Page 74: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

엔터프라이즈 사설 클라우드 역할! EMS

Page 75: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

EMS는 멀티-티어

75

• EMS Client: REST API, 임베디드 로컬 보안 데이터베이스

• EMS 서버 호스팅: 플러그인 패키지, EMS DB 사용

• EMS 패키지들은 기업 데이터베이스 / 클라우드 데이터와 소통

Page 76: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

EMS 분석 기능

76

Page 77: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

EMS 실제 사용

• RAD Studio를 가지고 만드십시요

– 서버 모듈들 (server modules)

– 클라이언트 (모바일/데스트탑)

• 자체 호스팅

– 개별 클라우드 또는 전형적인 일반 서버

• 사용권(Licences)

– 사용자 기준 과금, 앱 무제한, 호출 무제한 (공지 횟수 무제한…)

Page 78: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

EMS 의 새 기능들: XE8

• 푸쉬 공지(Push Notifications) 내장

• 외부 신임장 지원

– 시연: 액티브 디렉토리 통합

• 데이터베이스 연결 풀링

• 웹 콘솔에서 데이터 익스포트

– 사용자/그룹 분석 향상

• 클라이언트 콘솔에서 사용자 계정 등을 관리 78

Page 79: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

푸쉬 공지(Push Notifications) 란 무엇인가?

• (모바일) 디바이스에 공지를 보내는 매커니즘 • 모바일 니즈가 있는 경우, 앱 회원가입과 인증

App on mobile needs to signup and authorize

• 앱이 실행되지 않는 중에도 공지 수신 가능 • 핵심 프로바이더(providers)

• 안드로이드: Google Cloud Messaging (GCM) • iOS: Apple Push Notification (APN)

Page 80: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio에서 푸쉬(Push)

• 푸쉬 공지를 받기 위한 권한들 • 안드로이드: App permission • iOS: Entitlement file

• BaaS – Parse, Kinvey, (App42)

• EMS – 직접 방식, 지원 통합 – 브로드캐스트/구독 기반 공지

Page 81: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

EMS 와 푸쉬(Push)

REST 호출

푸쉬 공지(Push Notification)

APN / GCM

Page 82: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

EMS Push

82

EMS 사용자와 그룹을 관리하고 등록된 디바이스에 대해 EMS 서버에서 푸쉬 공지 발송

Page 83: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

EMS Push 시연

Page 84: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

엔터프라이즈를 위한 사물인터넷(IoT)

84

EMS Server • User Auth • API Hosting • Enterprise Data Access • Data storage • IOT Device Access Control • Wifi/Bluetooth Bridging • Push Notifications

사용자 인근의 기기들

EMS 서버 인근의 기기들

모든 클라우드 서비스 또는 API

모든 기업의 데이터와 서비스

컴퓨터 인근의 기기들

Page 85: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

진료 준비 시나리오 (The Nurse Station) 시연

• 환자가 의사의 사무실로 걸어 들어온다…

• 실 생활의 시나리오 쇼 케이스

– EMS를 통해 앱들을 통합 • 파이어몽키, 모바일, VCL

• Push notifications, AppAnalytics

– 사물인터넷 (IoT) • 블루투스로 디바이스 통합

• 비콘(들)

85

Page 86: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

Nurse Station: 환자용 앱

86

Page 87: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

Nurse Station: 간호사 앱

87

Page 88: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

InterBase XE7

커넥티드 앱을 개발 (윈도우와 다양한 디바이스)

Page 89: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

최신 InterBase 혁신들

• 다이나믹 SQL을 스토어드 프로시저 안에서

• 대규모 오브젝트 핸드링 최적화 – 보다 큰 데이터베이스 지원

• 보안 / 암호화 업데이트

• 64bit ODBC 드라이버, JDBC 드라이버 업데이트

• DB 스위핑(sweep)이 빨라짐

• DB 플랫폼 이식성 – 윈도우, 리눅스, 맥, iOS, 안드로이드

• 무료 에디션 - IBLite 89

Page 90: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

• 체인지 뷰 Change Views™

• 64bit 트랜젝션 ID들 • 10K 트랜젝션/분= 연간 150+ 성능

모니터 업데이트

• 64bit 리눅스(Linux) • New - Ubuntu 14

• RHEL 6 & 7

• SUSE 11

• OpenSSL이 1.0.1i로 업데이트

New! in InterBase XE7

• 성능 향상 – S.M.P. 와 인덱스 관리자

• 부분 인덱스와 인텔리전스

• “뛰어난” 데이터 덤프들

• 서비스되는 API들 – 저널링 / 온라인 덤프

• 이전 버전으로 리스토어 – 이전 개발 시스템을 쓰는 경우

Page 91: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

체인지 뷰(Change Views) 란 무엇인가?

• 새로운 “구독 기반” 모델임. 클라이언트가 구독을 지정하고 DB에서 어떤 데이터가 변경되었는지를 식별할 수 있는 구조

• 구독(Subscriptions)은 아래 2가지 모두 가능 – 연결이 유지된 상태

– 연결과 시간을 조절

• 각 구독자는 여러 디바이스가 있을 수 있음 하지만 구독자의 모든 디바이스에서 동시 구독 가능

Page 92: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

전통적인 데이터 방식(Briefcase) C

en

tral

DB

C

lien

t C

ach

e

변경 시간

4 4 5 5 5

가상의 필드 패킷이 보내짐: 4 + 4 + 5 + 5 + 5 = 23

Page 93: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

체인지 뷰(Change Views) 사용하기 중

앙 D

B

클라이언트

캐쉬

가상의 필드 패킷이 보내짐 : 4 + 1 + 2 + 1 + 1 = 9

4

1

2

1

1

변경 시간

Page 94: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

체인지 뷰(Change Views) – 작동 방식

• 구독(Subscriptions) – 컬럼 수준으로 무슨 데이터가 변경되었는지를 식별할 수 있도록

특정 데이터에만 묶임

– 테이블들/컬럼들을 모두 섞어서 사용 가능

– 내가 변경한 사항은 다시 리포트 되지 않고, 다른 사람에 의해 변경된 것들만 받는다.

– 연결을 넘나들며 실행됨 / 연결을 유지할 필요 없음

• 다중 사용자들과 디바이스들 – 여러 사용자들이 동일한 구독(subscription) 지정을 구독할 수 있음

– 각 사용자는 여러 개 의 독립된 디바이스들을 구독할 수 있음

Page 95: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

체인지 뷰(Change Views)는 다릅니다!

• Have:

– DB 에 풋프린트가 거의 없음

– 필드 수준의 정교함

– 수준 높은 확장성

– 엄격한 보안 통제

– FireDAC 과 IBX와 통합

• Are:

– 빠르고, 손쉽게 구현

– SQL 쿼리 가능

– 멀티-유저 / 쓰레드에 안전

• 작별할 것들: – 타임스템프 추적 필드들

– 업데이트를 위한 테이블 락킹

– 트리거들 위에 또 트리거들

– 테이블 구조 변경들

– 여러분의 DB를 장황하게 만들던 로그 테이블들

95

Page 96: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

FireDAC 과 InterBase XE7 체인지 뷰

• 새 FireDAC 데이터셋 메소드 MergeDataSet

Page 97: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

InterBase – 에디션

1. Server 에디션 – 1 ~ 무제한 연결

2. Desktop 에디션 – Server에디션과 동일,

하지만, 로컬 연결만 허용.

3. ToGo 에디션 – 임베디드 버전

4. IBLite 에디션 – ToGo에서 기능 일부가 빠진 것

• 디스크 상에 100mb • 암호화 / 체인지뷰 없음 • 단일 쓰레드 연결

1. Free 90 day Server trial – Server 에디션의 모든 기능 – 20 사용자 / 80 연결

3. ToGo 에디션 – 임베디드 버전

1. Developer 에디션 – 20 사용자 / 80 연결 – 약한 암호화만 제공 – 연결 시간 제한

1,3 SDK Pack – 모든 기능 제공 – 기간 제한 (평가판과 유사)

별도

설치

이브

러리

평가

개발

Page 98: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

추가 (온라인) 정보

커넥티드 앱을 개발 (윈도우와 다양한 디바이스)

Page 99: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

더 깊이있게 알고 싶나요? 스킬 스프린트에서!

• 1 개 주제, 20 분간 깊이 있게 파악, Q&A

99

Page 100: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

(새) 엠바카데로 커뮤니티에 함께하세요

http://community.embarcadero.com

100

Page 101: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8: 시작하세요

커넥티드 앱을 개발 (윈도우와 다양한 디바이스)

Page 102: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

Update Subscription 의 장점

• 업데이트와 픽스 포함

– 업데이트를 받는 유일한 길

– 현재 버전은 물론, 과거 버전들까지 (새로 추가됨)

• 기술 지원 포함

• 전용 자료 포함 (새로 추가됨)

• 메인트넌스와 지원을 확대한 것임

– 가격과 방식 동일, 자동 전환

103

Page 103: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

XE8 특별 프로모션

• 10% 할인: 5월 31일 이전 구입 시

• 무료 보너스 팩

– 프리미엄 스타일들

– 오브젝트 파스칼 핸드북 (eBook)

104

Page 104: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

실행 라이선스가 필요한 컴포넌트들

• InterBase

– 서버, IBToGo (데스크탑 용, 모바일 용)

• 엔터프라이즈 모빌리티 서비스 (EMS)

– 사용자당 비용, 최소 50 사용자 이상

• 엠바카데로 앱 애널리틱스

– 기본 티어는 무료 (앱 시작시)

– 사용량 기준 과금

105

Page 105: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

RAD Studio XE8이 제공하는 주요 혜택

윈도우, OS X, iOS, 안드로이드 등

멀티-디바이스를 개발하는 최고의

선택

커넥티드 앱을 개발 (윈도우와 다양한 디바이스)

블루투스, 앱 테더링, 비콘 등 사물인터넷을 바로 적용

턴키 서비스: 앱 애널리틱스,

EMS

Page 106: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

질문 있으신가요? 지금이 기회입니다!

Page 107: RAD Studio XE8을 소개합니다

EMBARCADERO TECHNOLOGIES

108