6. EMBARCADERO TECHNOLOGIES
멀티-디바이스 순수 네이티브
Apple
Google
Microsoft
HTML5
Appcelerator
Kony
단일
디바이스
멀티
디바이스
스크립트순수 네이티브
멀티-디바이스
순수 네이티브
Embarcadero
찬성
네이티브 사용자경험(UX)
네이티브 성능
보안성
찬성
단일 팀
개발 비용이 더 작음
신속한 시장 진출
8. EMBARCADERO TECHNOLOGIES
Embarcadero,
XCode
Appcelerator,
HTML5, Sencha,
Kendo, Edge,
PhoneGap, Corona
Xamarin,
Dalvik
Titanium.Geolocation.distanceFilter = .25;
Ti.Geolocation.purpose = "Callbacks Are
Your Friend”;
// make the API call
Ti.Geolocation.getCurrentPosition(function
(e) {
// do this stuff when you have a
position, OR an error
if (e.error) {
Ti.API.error('geo - current position'
+ e.error);
return;
}
// got the location information
Ti.App.info('got a location
',JSON.stringify(e));
});
JavaScript
100100110010
011001001100
100110010011
001001100100
110010
ARM Binary
Bytecode IL
JavaScript
런타임인터프리
터
가상 머신 (VM)
런타임
네이티브 스크립트 가상머신
10. EMBARCADERO TECHNOLOGIES
컴파일된 코드 vs 가상/스크립팅 코드
순수
네이티브
코드
ARM CPU ARM CPU
소프트웨어 가상 CPU
일명 가상 머신 (VM)
가상 코드
“VB를 기억하시는 분?”
최적화: 앱은
미리 셋팅된
VM의 능력
이내로 제한 성능: 앱은
디바이스에서
동작하는 가상
머신소프트웨어
프로세스 내에서
작동
예측 가능성:
메모리가 자동
회수됨 - 꽉
차거나 VM 이
판단해서.
개발자가
판단하는 것이
아님.
사용자 경험 (UX) : 가상 앱들은
디바이스의 스펙에 대해 모름.
디바이스 제조사들(삼성, 애플 등)은
수많은 비용을 투자하여 엔지니어링,
튜닝함. 제한된 CPU, 베터리,
메모리에서 최대한 뛰어난 UX를
vs
C, C++, Obj-C
델파이
HTML5/JavaScrip
t, Java, .NET,
Mono
11. EMBARCADERO TECHNOLOGIES
Platform Vendor
Tools
Embarcadero
HTML5 Cross
Platform
Appcelerator Xamarin
도구
XCode, Visual
Studio, Eclipse
RADStudio
Adobe, Sencha,
Kendo,
HTML5Builder
Titanium Mono
플랫폼
Win or Mac or
iOS or Android*
Mac/Win/iOS &
Android* (2013)
iOS/Android iOS/Android iOS/Android
단일 소스/
멀티-
디바이스
No Yes Yes 일부 일부
런타임 ARM ARM JavaScript JavaScript Bytecode VM
순수 네이티브 스크립트 VM
순수 네이티브 or 스크립트?
*Android NDK 는 순수 네이티브 – Android ADK (Java/Davlik VM)은 순수 네이티브 아님
12. EMBARCADERO TECHNOLOGIES
순수 네이티브, 컴파일된 코드
• 순수 네이티브, 컴파일된 코드 (RAD 스튜디오 사용)는 스크립트가 없으며
하드웨어 CPU에서 바로 작동되므로 다음과 같은 장점을 가짐:
– 빠르다 – Uncompromised native device performance with full native API
and CPU control when needed, and not limited by or slowed by script
interpreters and VMs.
– 예측 가능하다 – Apps run directly on the device CPU, as intended by the
device vendors, and are not slowed by additional software layers and
random garbage collection.
– 사용자경험(UX)이 더 뛰어나다 – Apps take full advantage of device
capabilities and performance.
23. EMBARCADERO TECHNOLOGIES
왜 사물인터넷 (IoT) 인가?
• 사물인터넷(IoT)은 우리가
디바이스를 사용하고
상호작용하는 방식을 바꾸고
있습니다
• 기기/웨어러블은 새로운 사용자
경험(UX) 입니다
• 앱은 더이상 혼자있을 수 없습니다.
앱은 디바이스, 기기, 클라우드,
데이터 요소로 분산되어서
존재합니다.
WorksWith
24. EMBARCADERO TECHNOLOGIES
현재의 앱을 사물인터넷으로 확장
Appmethod breath new life into existing applications by
enabling developers to easily IOT extend existing apps
connecting devices, sensors, data and services.
연결된 앱들을 구축
With AppTethering, developers easily extend an app
user experience across devices and gadgets. This is
especially powerful for extending the utility of existing
desktop and mobile apps. Virtually all industries can
immediately benefit, such as Point of Sale, Food
Services, Healthcare, Manufacturing and Shipping but
the applications are limitless.
25. EMBARCADERO TECHNOLOGIES
수천가지의 디바이스와 동작
Appmethod’s integrated wireless support (Bluetooth
and Wifi ) works with thousands of “off the shelf”
consumer and industry specific devices. Appmethod’s
approach make it easy to integrate virtually any
device into the app user experience, and even
support multiple device vendors with the same code.
Bluetooth & WiFi 내장
Appmethod's integrated Bluetooth and WiFi
support in the RTL and easy to use
components enable developers to easily
connect to any wireless and Internet
connected gadgets, sensors and devices.
26. EMBARCADERO TECHNOLOGIES
AT
AT
PC 앱
모바일 앱
스마트폰 앱
AT
• 앱을 서로서로 연결
• 디바이스 자동 탐색
• 다른 디바이스의 이벤트와 동작을 제어
• 앱을 원격 조정
• 데이터 송수신
• Bluetooth & WiFi 지원
앱 테더링 (AppTethering)
27. EMBARCADERO TECHNOLOGIES
• 개발자들이 상호 연결되는 새로운 앱을 만들 수 있다:
앱들이 서로서로 연결되고, 기기, 클라우드 서비스,
데이터에 연결
• RAD 스튜디오와 앱메소드는 연결된 앱들의 새로운 세상을
위한 개발 도구
• 상호 연결의 주요 4 영역:
– 모바일/PC 디바이스
– 기기
– 클라우드 서비스
– 엔터프라이즈 데이터
RAD스튜디오와 사물인터넷(IoT)
32. EMBARCADERO TECHNOLOGIES
엔터프라이즈 모빌리티 서비스
(Enterprise Mobility Services, EMS)
• 턴키 미들웨어 서버, 기업용 사물 인터넷 기능 내장
– 사용자 관리, 인증
– REST 위에 직접 만든 API들을 오픈
– 엔터프라이즈 데이터베이스를 REST를 통해 연결
(Oracle, MS SQL Server, DB2, Informix, Sybase, 등)
– 모바일 임베디드, 서버-사이드 DB 내장
– 웹 콘솔을 통해 사용자, 디바이스, API 사용 분석
33. EMBARCADERO TECHNOLOGIES
Connecting to All Things
40
RTL
App Tethering 컴포넌트Framework
BT Speaker
Google Glass
Samsung TV
Wireless Scale
Carplay
XML
Device Profiles
(100’s to 1000’s)
34. EMBARCADERO TECHNOLOGIES
기업용 IOT
41
EMS 서버
• 사용자 인증
• API 호스팅
• 기업 데이터 액세스
• 데이터 저장소
• IOT 디바이스 접근 통제
EMS
IOT
Repeater
사용자 근처의 사물
IOT Repeater 근처의 사물
EMS 서버 근처의 사물
모든 클라우드 서비스
기업 내의 모든
데이터와 서비스
35. EMBARCADERO TECHNOLOGIES
Example: 병원/의료영상 검사실
42
EMS 서버
• 사용자 인증
• API 호스팅
• 기업 데이터 액세스
• 안전한 데이터 저장소
• IOT 디바이스 접근 통제
EMS
IOT
Repeater
아웃365
캘린더
대기실
EMS
IOT
Repeater
영상 검사실
Oracle
암호화된 데이터 IT
BAAS
의료진의 태블릿
환자의
폰
환자의
스마트워치
다음 환자
호출
대기시간
표시
Imaging Center
Michael, Dr. Jones will See you now.
Close View
간호사실
EMS
IOT
Repeater
간호사
태블릿
MRI 스캐너
36. EMBARCADERO TECHNOLOGIES
Example: 스마트 공장
43
EMS 서버
• 사용자 인증
• API 호스팅
• 기업 데이터 액세스
• 안전한 데이터 저장소
• IOT 디바이스 접근 통제
EMS
IOT
Repeater
생산 라인
EMS
IOT
Repeater
Oracle
암호화된 데이터 IT
엔지니어의 태블릿
엔지니어의 폰
엔지니어의
스마트워치
생산 현황
표시
로봇
자재 창고
실내 온도 &
습도
센서
재고 관리 로봇