처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

54
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES 처음 만나는: RAD Studio XE6 Delphi XE6, C++Builder XE6 박범용 [email protected] 김현수 [email protected] 2014. 6. 10

description

2014.6.10 진행된 온라인 세미나 "처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6" 발표 자료입니다. XE6의 핵심 신기능을 확인할 수 있습니다.

Transcript of 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

Page 1: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

처음 만나는: RAD Studio XE6 Delphi XE6, C++Builder XE6

박범용 [email protected]

김현수 [email protected]

2014. 6. 10

Page 2: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

오늘날의 클라이언트 장비

Page 3: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

XE6: 모두를 위한 개발툴

Page 4: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

윈도우, 맥, iOS, 안드로이드를 위한 완벽한 앱 개발 툴셋 평가판: https://downloads.embarcadero.com/free/rad_studio

XE6 - RAD 스튜디오 - 델파이 - C++빌더

Page 5: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

RAD Studio XE6 개요!

• Quality, Stability, Performance! (품질, 안정성, 성능!)

• 새로운 VCL 스타일과 컴포넌트 추가

• C++Builder 안드로이드 개발

• 앱테더링 - VCL 앱을 모바일로 확장(협업)

• 모바일 앱내 결제와 광고 서비스

• 새로운 BaaS(Backend-as-a-Service) 컴포넌트

• …

Page 6: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

XE6의 주요 활용 포인트 3가지

마이그레이션을 통해 윈도우 XP에서 탈피

윈도우 7, 8.1의

최신 기술을 반영

기존 윈도우 앱을 모바일로 확장

표준 C++과 델파이로

안드로이드, iOS, 윈도우, 맥을 한번에 개발

Page 7: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

Windows XP 지원종료 –2014년 4월 8일

나와 무슨 상관이지?

Page 9: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

윈64?

유니코드?

화면(UI)과 UX?

최신 언어 코드의 장점?

비주얼 라이브 바인딩?

FireDAC?

클라우드?

점검항목

Page 10: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

멋진 VCL 애플리케이션

Page 11: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

비주얼 라이브 바인딩과 프로토 타입 소스

• 개발시과 실행시 모두 적용 – 프로토타입 데이터로 개발하고

– 실제데이터로 바꾸면. 끝!

• 드래그 드롭 만으로 바인딩 – 무엇이든

– 어느 방향이든

– 어떤 형태로든

Page 12: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

XE6의 주요 활용 포인트 3가지

마이그레이션을 통해 윈도우 XP에서 탈피

윈도우 7, 8.1의

최신 기술을 반영

기존 윈도우 앱을 모바일로 확장

표준 C++과 델파이로

안드로이드, iOS, 윈도우, 맥을 한번에 개발

Page 13: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

윈도우 애플리케이션을 모바일로 확장

• 테더링 될 수 있는 동반자 모바일 앱을 쉽게 만들어서 기존의 VCL앱에 연결

• BAAS (Backed as a Service) 서비스에 연결

• 구글글래스 앱 개발

Page 14: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

XE6의 주요 활용 포인트 3가지

마이그레이션을 통해 윈도우 XP에서 탈피

윈도우 7, 8.1의

최신 기술을 반영

기존 윈도우 앱을 모바일로 확장

표준 C++과 델파이로

안드로이드, iOS, 윈도우, 맥을 한번에 개발

Page 15: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

윈도우 XP의 VCL 앱을 윈도우7,8의 최신 룩앤필과 기술로 업그레이드

• VCL 스타일을 활용해 최신 UI로 일관되게 적용 • Win 7/8 태스크바 제어 • FireDAC: 새로운 데이터 엑세스 엔진

Page 16: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

VCL 스타일

• 애플리케이션 모든 것에 적용 – 컨트롤

– 타이틀

– 테두리

– 메뉴와 시스템 메뉴

• 일관성 있는 외관

• 윈도우 태블릿 스타일 – 윈도우7, 8.1 스타일 지원

Page 17: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

VCL 스타일 데모

C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\Object Pascal\Database\IBX\IBMastApp

Page 18: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

동적 VCL 스타일 적용(TStyleManager 이용)

var StyleName: string; begin // Style 목록 조회 for StyleName in TStyleManager.StyleNames do begin end; // Style 적용 TStyleManager.SetStyle(StyleName); End;

Page 19: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

Bitmap Style Designer – 여러분의 VCL 스타일제작

• Tools > Bitmap Style Designer

• VCL 스타일 파일 – C:\Users\Public\Docu

ments\Embarcadero\Studio\14.0\Styles

Page 20: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

TaskBar 미리보기

• 윈도우 태스크바 제어

• 미리보기 영역 제어 – 미리보기 제공

– 버튼 추가 / 연동

• 진행상황 – 상태(종류) 별 배경색

– 진행률(프로그레스바)

– Overlay 아이콘

• 활용 – 동영상 화면 미리보기

– 셋업/다운로드 시 진행상태 표시

Page 21: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

Taskbar 미리보기 컴포넌트 데모 Overlay Icon

Progress

TaskBar Buttons

C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\Object Pascal\VCL\Taskbar

Page 22: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

Taskbar 컴포넌트 버튼의 구성

Page 23: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

FireDAC

• Data Access Engine – BDE와 높은 호환성

• High-performance, Easy-to-use – 데이터셋 양방향 빠른 탐색

– Array DML(Data Manipulation Language)

• 통합 API – SQL 별 고유 언어 추상화, 일원화된 SQL 스크립트

– 통합 에러 레포트와 트랜잭션

http://www.devgear.co.kr/products/rad-studio/firedac/

Page 24: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

Native FireDAC Drivers • MySQL • Microsoft SQL

Server • Oracle Database • InterBase • PostgreSQL • DataSnap • SQLite

• Sybase SQL Anywhere • Microsoft Access • IBM DB2 Server • Informix • Firebird • Advantage Database • ODBC gateway • dbExpress gateway

Page 25: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

BDE 마이그레이션(“reFind” 유틸리티 이용)

http://devgear.co.kr/l/?q=bdetofiredac

Page 26: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

FireDAC 성능 DEMO

• 데이터 입력/엑세스

– dbExpress

– FireDAC

– FireDAC Array DML

• 메모리 테이블

– FDMemTable

– ClientDataSet

Page 27: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

기존의 VCL 애플리케이션을 모바일로 손쉽게 확장

• Cloud Service(BaaS) 활용

보다 강력해진 FM 모바일 앱

• App Tethering

Page 28: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

App Tethering

• 기존의 윈도우 애플리케이션을 모바일 기기로 손쉽게 확장

• 양측의 심플한 커뮤니케이션 컴포넌트 구성

• 윈도우 어플리케이션과 모바일 앱의 상호 기능 보완과 확장

• 모바일 동반 앱은 기존의 윈도우 VCL 사용자들의 요구에 대한 결과

Page 29: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

App Tethering

34

Page 30: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

Tethering 컴포넌트

• TTetheringManager

– 동일 서브넷에 있는 TTetheringManager 감지

– 비밀번호를 통해 응용 프로그램 인증

• TTetheringAppProfile

– 그룹 설정

– 공유데이터(문자,숫자, 스트림)

– 리모트 액션

Page 31: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

데모: 포스 시스템에 모바일을 연결(앱테더링)

1.정보, 사인요청

2.사인이미지 전달

3.확인/초기화

(리모트 액션)

(데이터 공유)

(데이터 공유)

모바일 사인패드 가상 포스 시스템

Page 32: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

데모: 포스 시스템에 모바일을 연결 1) 연결

2) 데이터 공유 3) 리모트 액션

Page 33: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

1) TTetheringManager.DiscoveryManager var

i: Integer;

Begin

// 이전의 연결을 해제

for i := TetheringManager1.PairedManagers.Count - 1 downto 0 do

TetheringManager1.UnPairManager

(TetheringManager1.PairedManagers[i].ManagerIdentifier);

// 새로운 연결 대상 발결

TetheringManager1.DiscoverManagers;

end;

App Tethering – 검색 및 연결

Page 34: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

2) TTethringManager.OnEndManagersDiscovery

procedure TForm2.TetheringManager1EndManagersDiscovery(const Sender:

TObject; const RemoteManagers: TTetheringManagerInfoList);

var

RemoteManager: TTetheringManagerInfo;

begin

// 발견된 메니저와 페어링

for RemoteManager in RemoteManagers do

begin

if RemoteManager.ManagerText = 'VCLPosManager' then

TetheringManager1.PairManager(RemoteManager);

end;

end;

Page 35: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

3) TTetheringAppProfile.OnEndProfilesDiscovery

procedure TForm2.TetheringManager1EndProfilesDiscovery(const Sender: TObject;

const RemoteProfiles: TTetheringProfileInfoList);

var

RemoteProfile: TTetheringProfileInfo;

begin

for RemoteProfile in RemoteProfiles do

begin

// 원하는 대상만 연결

if RemoteProfile.ProfileText = 'VCLPosProfile' then

TetheringAppProfile1.Connect(RemoteProfile);

end;

end;

Page 36: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

App Tethering – 공유 데이터 설정

procedure TForm1.TetheringAppProfile1ResourceReceived(const Sender: TObject;

const AResource: TRemoteResource);

Begin

if AResource.ResType = TRemoteResourceType.Data then

// String, Integer, Boolean

else if AResource.ResType = TRemoteResourceType.Stream then

// Image, File, Memory

end;

• 데이터 전달 – TTetheringAppProfile.SendString(…); // Data(String)

– TTetheringAppProfile.SendStream(…); // Stream

Page 37: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

App Tethering – 리모트 액션

TetheringAppProfile1.RunRemoteAction(

TetheringManager1.RemoteProfiles.First,

'actSignClear')

(액션을 공개)

Page 38: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

App Tethering – Mobile Sign-pad DEMO

VCL Virtual POS Mobile Sing-Pad

연결, 데이터, 명령

Page 39: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

Cloud Service(BaaS)

• Backend-as-a-Service? – 모바일 Backend 기능 제공

– 표준화(추상화)된 API 제공

– 사용자 관리, 데이터(DB), 이미지, 파일

– 푸시 알림 전송

• BaaS의 추세 – 2016년 40%이상의 모바일 앱은

클라우드 서비스를 이용해 제공될 것: 가트너

– Parse 이용 앱 10만개 이상

Page 40: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

BaaS 클라이언트 컴포넌트(REST Client 기반)

TBackendUsers

TBackendQuery

TBackendStorage

TBackendPush

TPushEvents

TBackendFiles

사용자 관리

사용자/데이터 검색

데이터 엑세스

푸시 알림 요청

푸시 알림 이벤트

파일 엑세스

TKinveyProvider

TParseProvider

기능 관련 컴포넌트 제공자 컴포넌트

Page 41: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

BaaS Demo

• BaaS 스토리지 제어 – ToDo List 이용

• Remote Push Notification – 모바일에서 GCM 수신

– VCL에서 GCM 전송

• 참고 – http://tech.devgear.co.kr/40

2469

Page 42: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

XE6 Android 앱에 배너광고로 수익 올리기 1. AdMob 가입 및 지급 계좌 등록 (https://apps.admob.com) 2. 앱 등록 및 광고 ID 발급 3. XE6 모바일 프로젝트 Form에 TBannerAd 추가 4. Form의 OnShow 이벤트에 광고ID 연결 및 로딩 if BannerAd1.AdUnitID = '' then

begin

BannerAd1.AdUnitID := 'ca-app-pub-xxxxxxxxxxx1234567890'; // 배너광고 ID

BannerAd1.LoadAd; // 배너광고 로딩

end;

5. AndroidManifest.template file에 다음 스크립트 추가 (32번째 라인 <\activity> 다음) <activity android:name="com.google.ads.AdActivity" android:configChanges=

"keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

6. 끝 !!

Page 43: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

마무리

혁명적인 진화

Page 44: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

찬성 네이티브 UX 네이티브 성능 보안

반대 다중의 코드베이스 중복된 여러 팀 개발/운영 비용 상승

찬성 단일 팀 개발 비용 절감 신속한 시장 대응

반대 스크립트 성능 이슈 네이티브가 아닌 UX 보안 취약

앱 개발 툴 선택지

벤더사 개발툴 웹 기술 기반 툴 멀티-디바이스 순수 네이티브 Embarcadero

Apple Google

Microsoft

단일 디바이스

멀티 디바이스

스크립트, VM 네이티브

HTML5 / JavaScript

Page 45: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

앱 개발을 눈으로 보면서! 빠르게!

Page 46: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

One 코드베이스, One 팀, One 스케줄

• 멀티 플랫폼 앱 개발 – one 코드베이스 – one 팀 – one 스케줄

• 순수 네이티브 개발 – 성능 Up – 보안성 Up – 사용자 경험 Up

Page 47: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

엠바카데로 개발툴의 비전과 XE6

Android iOS Windows Max OS X

C++

Object Pascal

Page 48: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

오늘 언급하지 못한 XE6의 새로운 추가기능

• 새로워진 모습의 IDE

• (VCL) 가속도, GPS, 평형 센서 컴포넌트 추가

• JSON 라이브러리 리팩토링(Refactoring)

• TWebBrowser - 최신 IE기반으로 개선

• 윈도우에서 GPU 사용, DirectX 11 지원, OpenGL 확장

• C++ 언어에서 안드로이드 개발, 64-bit 패키지

• …

Page 49: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

추가 정보

• 엠바카데로 개발툴 향후 계획 로드맵 http://edn.embarcadero.com/article/43677

• IoT와 RAD Studio - 다양한 디바이스 연동 http://tech.devgear.co.kr/347981

• 모바일 개발 사례 http://tech.devgear.co.kr/345279

• 한글 도움말 http://www.devgear.co.kr/docwiki

• 데브기어 기술 자료실 http://tech.devgear.co.kr/

• 교육 진행 일정 (매월) http://www.devgear.co.kr/edu

• 마이그레이션 자료와 가이드 http://www.devgear.co.kr/rad-in-action/migration-upgrade-center/

• 각버전별 신기능 요약 http://www.devgear.co.kr/products/rad-studio/whats-new-history/

Page 50: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

RAD 라이선스 리차지 플랜

XE6를 일반 업그레이드보다 저렴하게 구입

1. 항상 최신 버전에서 가능

2. 일반 업그레이드보다 저렴

3. 일년에 2번 리차지 하는 것이 일반 업그레이드 1번 보다 저렴

Page 51: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

프로모션 (~ 2014.6.30): 무료 보너스 팩

http://www.devgear.co.kr/radoffer/

Page 52: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

프로모션 (~ 2014.6.30): 무료툴 선택 가이드 개발툴 구입하고 DB툴을 하나 무료로 받으세요

1. ERwin보다 멋진 데이터 모델링툴을 찾고 있나요? ER/Studio

http://devgear.co.kr/products/er-studio/

2. DBA가 필요없는 DBMS가 필요한가요? InterBase

http://devgear.co.kr/products/interbase/

3. SQL을 빠르게 이해하고 튜닝 해야 하나요? DB Optimizer

http://devgear.co.kr/products/db-optimizer/

4. 여러 DB 의 “구성/스키마/데이터” 를 쉽게 비교하고

동기화하고 싶은가요?

DB ChangeManager

http://devgear.co.kr/products/er-studio/

5. TOAD나 Orange 처럼 수준 높은 SQL 작성툴을

찾고 있나요?

RapidSQL

http://devgear.co.kr/products/rapid-sql/

6. 위 3,4,5 를 모두 원하시나요? DB PowerStudio

http://www.devgear.co.kr/products/db-powerstudio/

http://www.devgear.co.kr/bogo-info/

Page 53: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES

Questions?

Questions?

Page 54: 처음 만나는: RAD Studio XE6, Delphi XE6, C++Builder XE6

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

감사합니다.

http://tech.devgear.co.kr http://www.devgear.co.kr http://www.facebook.com/devgear