71
EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES Developer Direct LIVE! In 부산 강력해진 VCL 멀티-디바이스로 확장

Developer direct live in 부산

Embed Size (px)

DESCRIPTION

2014년 5월 20일 부산에서 진행된 RAD Studio XE6 세미나 발표자료

Citation preview

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

Developer Direct LIVE! In 부산

강력해진 VCL 과

멀티-디바이스로 확장

EMBARCADERO TECHNOLOGIES

About your presenter

• 김현수(Humphery, Kim)

• 데브기어 델파이 에반젤리스트

• 데브기어 테크(질문, 조회) : http://tech.devgear.co.kr/

• 블로그 : http://blog.hjf.pe.kr/

• Facebook : http://fb.com/hjfactory

[email protected]

EMBARCADERO TECHNOLOGIES

• 15:00-15:10 The Big Picture

• 15:10-16:00 VCL 코드베이스와 개발자에 파워를 더하자!

• 16:00-16:30 데이터베이스, 통합, 확장성 있는 서비스와 RAD Studio

연결

• 16:30-16:50 Coffee Break

• 16:50-17:30 모바일 그리고 FM 애플리케이션 플랫폼

• 17:30-18:00 VCL 애플리케이션을 모바일로 확장

• 18:00- 질문

Agenda

EMBARCADERO TECHNOLOGIES

Embarcadero Technologies

• 1993년도 설립

• 320만 이상의 고객 – 포춘 2000 기업 중 97%

• 35개 이상의 수상경력 – 꾸준한 혁신

• 세계 29개국에서 500명 이상 근무

• 국내 주요 고객사

EMBARCADERO TECHNOLOGIES

Embarcadero Product Portfolio

Design Develop Deliver

EMBARCADERO TECHNOLOGIES

What is RAD Studio? RAD Studio는 하나의 코드로 윈도우, 맥, iOS, 안드로이드용 순수 네이티브 애플리케이션을 개발할 수 있는 완벽한 소프트웨어 개발 솔루션이며 여러분들의 빠른 시장진입을 지원합니다.

EMBARCADERO TECHNOLOGIES

RAD Studio XE6 개요!

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

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

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

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

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

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

• … 그리고 그 이상

EMBARCADERO TECHNOLOGIES

XE6: Something for Everyone

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

The Big Picture

여러분의 VCL 애플리케이션이 멀티-디바이스 사업을 추진하는데 핵심입니다.

EMBARCADERO TECHNOLOGIES

설문목표

방법

주요 연구 목표 : 윈도우 개발자들이 모바일 개발로 이동하려는 개발자들의 경험과 전문적인 지식의 수준을 수치화한다.

최근 윈도우 개발자 대상의 모바일 개발에 대한 의향조사

세계의 윈도우 개발자들을 온라인으로 설문 초대. 그들은 모바일 앱 개발을 위해 애플리케이션 개발 경험과 시도에 대해 질문

대상자 윈도우 데스크탑 애플리케이션 개발 책임자 1337명을 대상으로 설문을 진행

EMBARCADERO TECHNOLOGIES

윈도우 개발자들은 iOS와 Android 모바일앱을 선호하지만, 여전히 윈도우는 중요

12

당신은 여전히 기존의 윈도우 애플리케이션 개발 및 지원인 필요한가?

1%

4%

95%

No, we will cease development and

support of Windows …

We will provide support only, no new features

Yes, we will continue all development and support for the …

여러분의 사용자들에게 제공하기 위해 어떤 모바일 플랫폼이 가장 중요한가?

4%

14%

17%

33%

67%

83%

Other

BlackBerry

Windows RT

Windows Phone

Apple iOS

Android

EMBARCADERO TECHNOLOGIES

당신은 네이티브(컴파일된) 앱이 스크립트/인터프리터 용 앱보다 더 좋은 사용자 경험과 성능을 제공한다 생각하는가

(i.e. HTML5, Java, JavaScript, Python, etc.)?

응답자 85%는 네이티브 앱 선호

Yes 85%

No 15%

EMBARCADERO TECHNOLOGIES

당신은 공통 소스크드를 이용해 데스크탑 애플리케이션과 네이티브 모바일 앱을 한번에 개발할 수 있는 도구가 도움이 된다 생각하는가?

응답자 95%는 모바일과 데스크탑 개발에 공통코드 사용을 원함

Yes 95%

No 5%

EMBARCADERO TECHNOLOGIES

Why RAD Studio XE6?

• 여러분이 모바일로 가는 길

– Multi-device

– True native

– Single source

• 여전히 윈도우는 여러분의 핵심

– VCL 확장, 최고의 Windows library

– Desktop/mobile 통합

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

VCL 코드베이스와 개발자에 파워를 더하자!

• Win 7/8 taskbar buttons • Improved VCL Styling • Supercharge VCL apps with Visual LiveBindings

EMBARCADERO TECHNOLOGIES

VCL Styles

• 새로운 VCL 스타일로 여러분의 윈도우 애플리케이션의 외관을 바꾸세요.

• 윈도우 태블릿 스타일을 포함하고 윈도우7, 8.1 스타일을 지원합니다.

• 시스템 메뉴와 타이틀 등의 테두리를 포함 여러분의 애플리케이션의 모든 것에 적용됩니다.

VCL Style utils(style hook) - https://code.google.com/p/vcl-styles-utils/

EMBARCADERO TECHNOLOGIES

Custom VCL Styles

EMBARCADERO TECHNOLOGIES

TaskBar Preview Component

• 윈도우 태스크바에 애플리케이션 미리보기 표시

• 미리보기 영역 제어

• 미리보기 창에서 버튼 추가 및 사용

• 태스크바에 종류 별 진행상황, Overlay 아이콘을 표시

EMBARCADERO TECHNOLOGIES

VCL Sensor Components

• 윈도우 태블릿에서 위치, 이동 및 추가기능 접근

• VCL 애플리케이션에서 장치의 센서에 접근

• Accelerometer, GPS 그리고 gyroscope 센서(가속도, GPS, 평형 센서)

EMBARCADERO TECHNOLOGIES

XE6의 새로운 추가기능

• 새로워진 모습의 IDE

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

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

• WebBroker와 DataSnap에서 Apache HTTP Server 모듈 지원

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

• 약 2,500여개의 항목 향상 및 개선

QC Client 사용법 - http://tech.devgear.co.kr/373275

EMBARCADERO TECHNOLOGIES

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

What does it mean to ME?

EMBARCADERO TECHNOLOGIES

Win64?

Unicode?

User Interfaces?

Modern Language Features?

Visual LiveBindings?

FireDAC?

Cloud Services?

점검항목

EMBARCADERO TECHNOLOGIES

Win64 – 더 빠르고 강력한 개발

• http://slashdot.org/topic/cloud/speed-test-2-comparing-c-compilers-on-windows/

• http://stlab.adobe.com/performance/

Demos - C++Builder XE5 Clang Compiler(Optimization) • Function Objects Test • Simple Types Constant Folding Test • Simple Types Loop Invariant Test • Stepanov Abstraction Test • Stepanov Vector Test • Unroll Test

EMBARCADERO TECHNOLOGIES

Modern Language Features – 더 간결하고 쉬운 개발

• Generics – http://docwiki.embarcadero.com/RADStudio/XE6/en/Generics_Index

• Anonymous method – http://docwiki.embarcadero.com/RADStudio/XE6/en/Anonymous_Me

thods_in_Delphi

• Type Helper(Class and Record) – http://docwiki.embarcadero.com/RADStudio/XE6/en/Class_and_Reco

rd_Helpers_(Delphi)

• DocWiki – http://www.devgear.co.kr/docwiki

EMBARCADERO TECHNOLOGIES

Visual LiveBindings – 더 쉽고, 빠른 개발

• RAD Studio XE2 도입 – VCL and FireMonkey – C++Builder and Delphi

• 항목 간 연결만으로 데이터 연결

– 코드 없이 Drag&Drop으로 연결가능 – 단방향 및 양방향 가능 – 필요한 형태로 추가하여 사용가능

• 디자인타임과 런타임에서 모두 사용 가능

– 신속한 프로토타입 개발 후 실제데이터 연결… 끝~~~

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

데이터베이스, 통합, 확장성있는 서비스와 RAD Studio의 연결

• What’s new in FireDAC

• Building DataSnaps services

• InterBase

EMBARCADERO TECHNOLOGIES

What is FireDAC?

• Data Access Engine – TDataSet 베이스로 설계되어 사용이 쉽고, BDE와 호환성이 높음

• High-performance, Easy-to-use – Live Data Window 모드에서 대형 데이터셋 양방향으로 빠르게 탐색 – Array Data Manipulation Language (DML) 명령 실행 – 네트워크 트래픽을 최소화할 수 있는 일괄 처리를 위한 Command Batches 제공

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

트랜잭션

• 네이티브 데이터베이스 드라이버 지원 • BDE 마이그레이션

– “reFind” 유틸리티를 통해 손쉽게 가능

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

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

EMBARCADERO TECHNOLOGIES

FireDAC Overview

EMBARCADERO TECHNOLOGIES

향상된 FireDAC 기능

• (추가) FireDAC 기반 Data Explorer 통합 – Data Explorer에서 Drag & Drop으로 컴포넌트와 네이밍 처리

• (추가) 스트리밍, JSON 직렬화 포맷 리팩토링 • TFDMemTable 디자인 타임 기능 향상 (Load from File, Save to

File, Assign Data) • TFDPhysXxxxDriverLink 컴포넌트 추가 필요한 경우만 • 캐쉬 업데이트 대폭개선, 더 좋은 Join을 제공 • (추가) 인포믹스 네이티브 드라이버 지원 • (추가) InterBase 암호화된 백업/복원 지원 • Local SQL의 ad-hoc datasets 핸들 개선

EMBARCADERO TECHNOLOGIES

FireDAC Performance DEMO

• FireDAC Data Access

– dbExpress

– FireDAC

– FireDAC Array DML

• Memory Table

– FDMemTable

– ClientDataSet

EMBARCADERO TECHNOLOGIES

DataSnap - 확장성 있는 서비스 구성

• FireMonkey용 DataSnap Wizard 추가 • 유연한 서버 아키텍쳐와 호스팅

– NEW! Apache 2.4 Web Server hosting on Windows

• REST Clients and RESTful interfaces – NEW! FireDAC JSON Reflection

• 역할기반 인증 및 권한 부여 • 보안전송과 통신필터 • 콜백(서버 > 클라이언트 호출) 함수 • 다양한 클라이언트 유형 제공

* 만약, 웹서비스를 보유하고 있다면, REST CLIENT로 바로 접속이 가능합니다. http://tech.devgear.co.kr/345476

EMBARCADERO TECHNOLOGIES

왜 멀티티어인가?

• 확장성

• 보안성

• 높은 유용성

• 결함 보완

• 모니터링

• 메시징

EMBARCADERO TECHNOLOGIES

End-to-End DataSnap 시나리오

EMBARCADERO TECHNOLOGIES

INTERBASE Embed, Deploy, Relax

The highly scalable, powerful, embeddable, encrypt-able database that works on multiple platforms, including iOS & Android

EMBARCADERO TECHNOLOGIES

InterBase® - Suited to Mobile, Desktop, Server • Overview

– Highly scalable, powerful, embeddable database.

– Small memory and on-disk footprint,

– Simple installation / deployment

– Near zero administration

– Encryption built into all paid versions*

– Low TCO

• Notable Features

– Full-featured DBMS

• SQL92 compliant

• SQL Domains

• ODBC

– ACID compliant / Multi-version architecture

– Automatic crash recovery

– SMP - Multiple core support

– Self-tuning engine

– Fully featured in all editions • Some features limited in run-time royalty free IBLite

– Database monitoring and statistics built in

• Security

– Embedded user & role based authentication

– Full database, table or column encryption

• DES (weak)

• AES (strong 256bit) encryption

– Decryption by user / user role

– Allows developers to focus on creating fast, resilient applications.

• Disaster Recovery

– Journaling

– Data dumps

– Partial Backups

• Also….

– Window Direct I/O support & Amazon EC2 certified

– Tight integration into Embarcadero Development tools, but also works with Visual Studio, Xcode, Eclipse, Ruby, PHP etc

– ODBC

EMBARCADERO TECHNOLOGIES

Video & White Paper on demand!

InterBase XE3 한글문서 데이터 시트 - http://tech.devgear.co.kr/345092 쿽스타트 가이드 - http://tech.devgear.co.kr/345190 운영자 가이드 - http://tech.devgear.co.kr/348174

http://embt.co/ibxplatformdb Learn:

Basics of data protection (from a developers view) Legal responsibilities around data Risk around secure data, Case studies What happens when it goes wrong and the costs!

http://embt.co/MobEntWP In addition learn:

Top mistakes made when “Mobilizing enterprise data”. How to avoid them

제품소개 : http://devgear.co.kr/products/interbase/

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

Break

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

모바일 그리고 FM 애플리케이션 플랫폼

• Android support in C++Builder

• What’s new in FireMonkey

• App Monetization components

EMBARCADERO TECHNOLOGIES

장치의 다양성은 더 확장될 것

EMBARCADERO TECHNOLOGIES

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

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

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

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

앱 개발 툴 선택지

벤더사 개발툴 웹 기술 기반 툴 Multi-Device True Native

Embarcadero

Apple Google

Microsoft

Single Device

Multi Device

Scripted Native

HTML5 and JavaScript

EMBARCADERO TECHNOLOGIES

Visual Rapid App Development

EMBARCADERO TECHNOLOGIES

빠른 시장 진입

• 신속한 프로토타입 개발

• 재사용할 수 있고 확장성 있는 비주얼 컴포넌트, 쉬운 유지보수가 가능한 개발

• 빠르고 쉽게 엔터프라이즈 데이터베이스와 서비스에 연결

EMBARCADERO TECHNOLOGIES

One Codebase, One Team, One Schedule

• 하나의 개발 셋으로 멀티 플랫폼 앱 개발

– one codebase

– one team

– one schedule

• 예산과 프로젝트 복잡성 감소

EMBARCADERO TECHNOLOGIES

모바일 개발 사례

http://tech.devgear.co.kr/345279

EMBARCADERO TECHNOLOGIES

IoT - 다양한 디바이스 연동 • 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! http://tech.devgear.co.kr/347981

EMBARCADERO TECHNOLOGIES

NEW! C++빌더에서 안드로이드 개발 지원

• 새로운 안드로이드 플랫폼 타겟 용 C++ 컴파일러 – 안드로이드 개발이 가능한 유일한 네이티브 C++ 개발툴과 IDE – First native C++ development tool and IDE for Android

• C++ 코드베이스로 iOS, Android 동시개발 • Clang/LLVM 기반 • C++11 Standard • ARC(Automatic Reference Counting) 지원 • GNUSTL • Windows 64-bit 패키지 지원

C++빌더 이전 세미나 자료 : http://tech.devgear.co.kr/348038

EMBARCADERO TECHNOLOGIES

C++11

• Rvalue references and move constructors • constexpr - Generalized constant expressions • Core language usability enhancements • Initializer lists • Uniform initialization • Type inference • Range-based for-loop • Lambda functions and expressions • Alternative function syntax • Object construction improvement • Explicit overrides and final • Null pointer constant • Strongly typed enumerations • Right angle bracket • Explicit conversion operators • Alias templates • Unrestricted unions

Variadic templates

New string literals

User-defined literals

Multithreading memory model

Thread-local storage

Explicitly defaulted and deleted special member functions

Type long long int

Static assertions

Allow sizeof to work on members of classes without an explicit object

Control and query object alignment

Allow garbage collected implementations

Threading facilities

Tuple types

Hash tables

Regular expressions

General-purpose smart pointers

Extensible random number facility

Wrapper reference

Polymorphic wrappers for function objects

Type traits for metaprogramming

EMBARCADERO TECHNOLOGIES

80’ 90’ 2000+ 2010+

16 Bit Dos Window

Language Compilers Performance System Programming

Desktop C/S Web Multi-Tier

Unicode 64 Bit New C/C++ Standard

Cross Platform Mobile Wearable Devices

32 Bit Window

64 Bit Window Linux

32/64 Bit Multi-Devices

Turbo C/C++ Borland C/C++ MS VC++ Watcom C/C++ Symantec C/C++ Lattice C/C++ …

Borland C/C++ MS VC++ GCC

C++Builder MS VC++ GCC ?

EMBARCADERO TECHNOLOGIES

EMBARCADERO TECHNOLOGIES

The Vision is Now Complete!

Android iOS Windows Max OS X

C++

Object Pascal

EMBARCADERO TECHNOLOGIES

The FM Application Framework Architecture

Language

3D API

Platform

Desktop Mobile

Framework

EMBARCADERO TECHNOLOGIES

추가되고 개선된 FireMonkey 기능

• TintColor와 IconTintColor 속성 추가(Button과 Toolbar)

• TGrid 개선, TListView 성능향상

• 대부분의 FireMonkey 열거형 타입이 재선언

• 새로운 TWebBrowser 정적 컨텐츠 메소드 추가 (LoadFromStrings, EvaluateJavaScript)

• 새로운 TAlphaColorF Record/Struct

EMBARCADERO TECHNOLOGIES

In-App 결재와 광고 컴포넌트

• 여러분의 앱에 In-APP결재와 광고로 수익을 창출할 수 있다.

• 컨텐츠, 추가기능, 서비스와 가입등을 판매 가능

• 광고영역 노출 컴포넌트 제공

EMBARCADERO TECHNOLOGIES

Develop Apps for Google Glass

• 구글 글래스 최적 스타일 제공

• 비주얼 디자인 템플릿

• 스마트폰, 태블릿과 웨어러블 까지 다양한 기기 개발가능

EMBARCADERO TECHNOLOGIES

Demo & Sample

• DataSnap, RESTClient, Socket, 설정화면 등

• Tframe을 이용 독립 화면 구성

• Interface의 Supports 메소드를 활용 화면별 기능 관리

• 여러분이 필요한 기능을 추가하고 여러분의 앱을 만드세요.

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

VCL 애플리케이션을 모바일로 확장

• App Tethering

• BaaS Components

EMBARCADERO TECHNOLOGIES

App Tethering

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

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

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

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

EMBARCADERO TECHNOLOGIES

App Tethering

68

EMBARCADERO TECHNOLOGIES

Why AppTethering?

• 동반자 모바일 앱 구축 – VCL 애플리케이션 활용과 확장

– VCL 애플리케이션의 동반자 FM 모바일 앱 구성

• 자동 검색 – 윈도우 애플리케이션과 모바일 앱이 각각의 설정을 맞추지 않고 자동 연결하고 통신 가능(구성, IP 설정, 서버관리도 필요하지 않음)

– Peer-to-peer 모델로 동작

EMBARCADERO TECHNOLOGIES

App Tethering

• VCL과 FM 앱은 간단한 컴포넌트로 WiFi를 통해 데이터를 전달 할 수 있습니다.

• 오픈된 컴포넌트 기반, 플러그인 아키텍처를 사용

• TCP/IP 연결, 향후(블루투스 등) 확장 예정

EMBARCADERO TECHNOLOGIES

Cloud Service (BaaS) 통합

• Backend-as-a-Service? – 모바일 앱의 서비스 개발 시 필요한

Backend 기능을 표준화(추상화)하여 API로 제공

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

– 업데이트 다운로드와 파일 또는 스트림

– 푸시 알림 전송

• 가트너(시장조사 기관) 예측 – 2016년 40%이상의 모바일 앱은 클라우드

서비스를 이용해 제공될 것

EMBARCADERO TECHNOLOGIES

BaaS = Backend as a Service

• 대부분의 모바일 앱은 데이터, 이미지, 파일등의 서버 저장소가 필요합니다. – 여러분이 직접 만들거나(DataSnap 이용) 확장가능한 클라우드 솔루션 구입(클라우드 또는 BaaS 서비스)

• BaaS = 모바일 사용자 관리를 위한 클라우드 솔루션 – Also usage analytics, push notifications (cross platform,

and more

EMBARCADERO TECHNOLOGIES

Backend-as-a-Service 클라이언트 컴포넌트

• REST Client 기반 아키텍쳐

– XE5에서 도입

• Kinvey와 Parse를 위한 BaaS 클라이언트

– 네이티브 프로바이더를 이용해 서비스 직접 사용

– 각 서비스를 통합 관리할 수 있는 프레임워크 구성

– 향후 서비스 추가(변경)이 가능한 구조

EMBARCADERO TECHNOLOGIES

다양한 기기에서의 애플리케이션 플랫폼

Client Devices

mBAAS Providers

Enterprise Data

DataSnap

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

마무리

혁명적인 진화

EMBARCADERO TECHNOLOGIES

Summury

• 모두를 위한 XE6

– VCL 개발자 – 새로운 컴포넌트, 스타일, 앱태더링으로 애플리케이션을 모던하게 탈바꿈

– Multi-device 개발자 – 광고 및 In-App결재, BaaS(Cloud), 구글 글래스 등으로 다움단계로 진입

– C++ 개발자 – 안드로이드 앱과 64bit 윈도우 패키지 지원 그리고 앞의 모든 것이 포함

– 품질(Quality), 성능(Performance) 그리고 안정성(Stability)

EMBARCADERO TECHNOLOGIES

“RAD” 연구소에서는 무슨일을 하고 있나?

• RAD Studio, Delphi and C++Builder 로드맵 - 2014년 3월

• 다음에서 확인: http://edn.embarcadero.com/article/43677

EMBARCADERO TECHNOLOGIES

추가 정보

• 참고자료

– http://www.devgear.co.kr/docwiki

– http://tech.devgear.co.kr/

• [세미나] 말머리로 질문하시면 빠른 답변 약속

• 교육안내

– 서울 – http://www.devgear.co.kr/edu/

– 부산 – http://www.sycode.co.kr/

EMBARCADERO TECHNOLOGIES

Questions?

Questions?

EMBARCADERO TECHNOLOGIES EMBARCADERO TECHNOLOGIES

Thank you

[email protected] http://tech.devgear.co.kr http://blog.hjf.pe.kr