2. EMBARCADERO TECHNOLOGIES
About your presenter
• 김현수(Humphery, Kim)
• 데브기어 델파이 에반젤리스트
• 데브기어 테크(질문, 조회) : http://tech.devgear.co.kr/
• 블로그 : http://blog.hjf.pe.kr/
• Facebook : http://fb.com/hjfactory
• hskim@embarcadero.kr
3. 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 애플리케이션을 모바일로 확장
Agenda
6. EMBARCADERO TECHNOLOGIES
What is RAD Studio?
RAD Studio는 하나의 코드로 윈도우, 맥,
iOS, 안드로이드용 순수 네이티브
애플리케이션을 개발할 수 있는 완벽한
소프트웨어 개발 솔루션이며
여러분들의 빠른 시장진입을
지원합니다.
7. EMBARCADERO TECHNOLOGIES
RAD Studio XE6 개요!
• Quality, Stability, Performance!
(품질, 안정성, 성능!)
• 새로운 VCL 스타일과 컴퍼넌트 추가
• C++Builder 안드로이드 개발
• 앱테더링 - VCL 앱을 모바일로 확장(협업)
• 모바일 앱내결제와 광고 서비스
• 새로운 BaaS(Backend-as-a-Service) 컴포넌트
• … 그리고 그 이상
10. EMBARCADERO TECHNOLOGIES
설문목표
방법
주요 연구 목표 : 윈도우 개발자들이 모바일 개발로
이동하려는 개발자들의 경험과 전문적인 지식의 수준을
수치화한다.
최근 윈도우 개발자 대상의 모바일 개발에 대한 의향조사
세계의 윈도우 개발자들을 온라인으로 설문 초대.
그들은 모바일 앱 개발을 위해 애플리케이션 개발
경험과 시도에 대해 질문
대상자
윈도우 데스크탑 애플리케이션 개발 책임자 1337명을
대상으로 설문을 진행
11. 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
12. EMBARCADERO TECHNOLOGIES
당신은 네이티브(컴파일된) 앱이 스크립트/인터프리터 용 앱보다 더
좋은 사용자 경험과 성능을 제공한다 생각하는가
(i.e. HTML5, Java, JavaScript, Python, etc.)?
응답자 85%는 네이티브 앱 선호
Yes
85%
No
15%
13. EMBARCADERO TECHNOLOGIES
당신은 공통 소스크드를 이용해 데스크탑 애플리케이션과 네이티브
모바일 앱을 한번에 개발할 수 있는 도구가 도움이 된다 생각하는가?
응답자 95%는 모바일과 데스크탑 개발에
공통코드 사용을 원함
Yes
95%
No
5%
14. EMBARCADERO TECHNOLOGIES
Why RAD Studio XE6?
• 여러분이 모바일로 가는 길
– Multi-device
– True native
– Single source
• 여전히 윈도우는 여러분의 핵심
– VCL 확장, 최고의 Windows library
– Desktop/mobile 통합
16. EMBARCADERO TECHNOLOGIES
VCL Styles
• 새로운 VCL 스타일로 여러분의
윈도우 애플리케이션의 외관을
바꾸세요.
• 윈도우 태블릿 스타일을 포함하고
윈도우7, 8.1 스타일을
지원합니다.
• 시스템 메뉴와 타이틀 등의
테두리를 포함 여러분의
애플리케이션의 모든 것에
적용됩니다.
VCL Style utils(style hook) - https://code.google.com/p/vcl-styles-utils/
19. EMBARCADERO TECHNOLOGIES
VCL Sensor Components
• 윈도우 태블릿에서 위치, 이동
및 추가기능 접근
• VCL 애플리케이션에서 장치의
센서에 접근
• Accelerometer, GPS 그리고
gyroscope 센서(가속도, GPS,
평형 센서)
20. 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
23. 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
24. 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
25. EMBARCADERO TECHNOLOGIES
Visual LiveBindings – 더 쉽고, 빠른 개발
• RAD Studio XE2 도입
– VCL and FireMonkey
– C++Builder and Delphi
• 항목 간 연결만으로 데이터 연결
– 코드 없이 Drag&Drop으로 연결가능
– 단방향 및 양방향 가능
– 필요한 형태로 추가하여 사용가능
• 디자인타임과 런타임에서 모두 사용 가능
– 신속한 프로토타입 개발 후
실제데이터 연결… 끝~~~
27. 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/
28. 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
30. 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 핸들 개선
32. 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
36. 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
37. 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/
41. EMBARCADERO TECHNOLOGIES
찬성
네이티브 UX
네이티브 성능
보안
반대
다중의 코드베이스
중복된 여러 팀
개발/운영 비용 상승
찬성
단일 팀
개발 비용 절감
신속한 시장 대응
반대
스크립트 성능 이슈
네이티브가 아닌 UX
보안 취약
앱 개발 툴 선택지
벤더사 개발툴 웹 기술 기반 툴Multi-Device
True Native
Embarcadero
Apple
Google
Microsoft
Single
Device
Multi
Device
ScriptedNative
HTML5 and
JavaScript
46. 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
47. 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
48. 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
49. 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 ?
56. EMBARCADERO TECHNOLOGIES
Demo & Sample
• DataSnap, RESTClient, Socket,
설정화면 등
• Tframe을 이용 독립 화면 구성
• Interface의 Supports 메소드를
활용 화면별 기능 관리
• 여러분이 필요한 기능을
추가하고 여러분의 앱을
만드세요.
58. EMBARCADERO TECHNOLOGIES
App Tethering
• 기존의 윈도우 애플리케이션을
모바일 장치로 쉽게 확장
• 윈도우 어플리케이션과 모바일
앱의 상호 기능 보완과 확장
• 모바일 동반 앱은 기존의 윈도우
VCL 사용자들의 요구에 대한 결과
• 양측의 심플한 커뮤니케이션
컴포넌트 구성
60. EMBARCADERO TECHNOLOGIES
Why AppTethering?
• 동반자 모바일 앱 구축
– VCL 애플리케이션 활용과 확장
– VCL 애플리케이션의 동반자 FM 모바일 앱 구성
• 자동 검색
– 윈도우 애플리케이션과 모바일 앱이 각각의 설정을
맞추지 않고 자동 연결하고 통신 가능(구성, IP 설정,
서버관리도 필요하지 않음)
– Peer-to-peer 모델로 동작
62. EMBARCADERO TECHNOLOGIES
Cloud Service (BaaS) 통합
• Backend-as-a-Service?
– 모바일 앱의 서비스 개발 시 필요한
Backend 기능을 표준화(추상화)하여 API로
제공
– 데이터, 이미지, 파일 관리, 사용자 관리
– 업데이트 다운로드와 파일 또는 스트림
– 푸시 알림 전송
• 가트너(시장조사 기관) 예측
– 2016년 40%이상의 모바일 앱은 클라우드
서비스를 이용해 제공될 것
63. EMBARCADERO TECHNOLOGIES
BaaS = Backend as a Service
• 대부분의 모바일 앱은 데이터, 이미지, 파일등의
서버 저장소가 필요합니다.
– 여러분이 직접 만들거나(DataSnap 이용) 확장가능한
클라우드 솔루션 구입(클라우드 또는 BaaS 서비스)
• BaaS = 모바일 사용자 관리를 위한 클라우드
솔루션
– Also usage analytics, push notifications (cross platform,
and more
67. EMBARCADERO TECHNOLOGIES
Summury
• 모두를 위한 XE6
– VCL 개발자 – 새로운 컴포넌트, 스타일, 앱태더링으로
애플리케이션을 모던하게 탈바꿈
– Multi-device 개발자 – 광고 및 In-App결재, BaaS(Cloud),
구글 글래스 등으로 다움단계로 진입
– C++ 개발자 – 안드로이드 앱과 64bit 윈도우 패키지 지원
그리고 앞의 모든 것이 포함
– 품질(Quality), 성능(Performance) 그리고 안정성(Stability)
68. EMBARCADERO TECHNOLOGIES
“RAD” 연구소에서는 무슨일을 하고 있나?
• RAD Studio, Delphi and C++Builder 로드맵 -
2014년 3월
• 다음에서 확인:
http://edn.embarcadero.com/article/43677
69. EMBARCADERO TECHNOLOGIES
추가 정보
• 참고자료
– http://www.devgear.co.kr/docwiki
– http://tech.devgear.co.kr/
• [세미나] 말머리로 질문하시면 빠른 답변 약속
• 교육안내
– 서울 – http://www.devgear.co.kr/edu/
– 부산 – http://www.sycode.co.kr/