David Intersimone “David I” Vice President of Developer Relations...

44
David Intersimone “David I” Vice President of Developer Relations and Chief Evangelist Email: [email protected] Twitter: davidi99 Blog: blogs.embarcadero.com/davidi/

Transcript of David Intersimone “David I” Vice President of Developer Relations...

Page 1: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

David Intersimone “David I”

Vice President of Developer Relations

and Chief Evangelist

Email: [email protected]

Twitter: davidi99

Blog: blogs.embarcadero.com/davidi/

Page 2: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Agenda

Multi-Device App Development

C++Builder XE3 Overview

C++Builder in the Multi-Device Enterprise

Summary

Q&A

Page 3: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity
Page 4: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

- 52 Billion lines of code per year

- $28 USD avg per line of GA code

- $1.5 Trillion WW per year spent

developing source code

*Evans Data4

16 Million Developers World Wide*

Page 5: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Embarcadero Developer Value

- 3m Developer Community

- 9.7 Billion LOC per year

- Saving 48 billion LOC/yr

- effective $5.60 per line of code(vs industry std $28/LOC)

- $220 Billion in annual

developer savings

5

Up to 80% less code per project

Page 6: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

6

Embarcadero’s Method to Success on Windows:

C++ & Delphi

VCL

- Component Base Frameworks

- Visual Development

- Simplified abstraction of WinAPIsEg. collapse 100 lines of common Win API / MFC functionality into a single method or property

- RAD infused standard languages

- Make hard things easy

80% code savings via

Page 7: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

2013: The Client Revolution

Windows WebMobileMac

Today’s Unprecedented Multi-Device Landscape

1 Billion 65 Million 1 Billion 2 Billion

Page 8: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

The Client Revolution

An Unprecedented Multi-Device Landscape

Page 9: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

2013+

Client Device Diversity Will Continue to Expand

Page 10: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Vendor Tool Approach for Targeting Multiple Devices

$ $ $ $

C# or C++

.NET or MFC

C++ or Obj-C

OSX SDK

C++ or Obj-C

iOS SDK

Java

Android SDK

Page 11: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

?

11

Traditional “Like to Like” Cross-platform

QT, WXWidgets

$ $

C++

Desktop

Framework

C++

Mobile

Framework

Future

Page 12: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

?

12

HTML5 Cross-platform

$

Adobe, Sencha, Kendo, HTML5Builder

HTML5/JavaScri

pt

PhoneGAP

SDK

Future

Page 13: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

?

so-called “Platform Native” virtual code

$ $ $

Common Programming Language

Platform

SDK

Platform

SDK

Platform

SDK

Appcellerator, Xamarin Mono

Future

Page 14: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

14

Embarcadero: Multi-Device App Development

$

Future

C++ or Delphi

FM2 Framework

PC – Phone – Tablet - More

Page 15: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Platforms: Windows, Mac, iOS, Android

Form factors: PC, Phone, Tablet, Mini-Tablet, iPod, Phablet

Audience: ISV to Enterprise – targeting multiple devices

Connectivity: Enterprise Database Connectivity & Flexible

Middleware

2013+

SmartTVs, Car Infotainment, Home Automation, Smart

Watches, and more

15

Multi-Device

Page 16: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Real Code vs Virtual Code

16

Real

Code

ARM CPU ARM CPU

Software Virtual CPU aka

Virtual Machine (VM)

Virtual

Code

“Anyone remember VB?”

Tunability: App

is limited by the preset capabilities of

the VM. Performance:

App runs within a software machine process

running on the device.

Predictability:

Memory is automatically garbage

collected -when full and

when the VM decides it’s time. Not the

dev.

User Experience: Virtual Apps are

oblivious to device specs. Device vendors (Apple, Samsung, etc) spend countless engineering &

dollars tuning & squeezing great UX into a device based on limited

CPU, battery, and memory.

vs

C, C++, Obj-C, Delphi

HTML5/JavaScript,

Java, .NET, Mono

Page 17: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Real CodeNative Device Applications

Intel/ARM Machine CodeMaximum Performance

Highly tunable

Smallest Possible Footprint

Low Latency

Developer sched mem mgmt

17

Virtual CodeVirtual Device Application

Virtual Machine CodeMedium to Slow Performance

Limited tunability

Large Runtime Footprint

Med to High Latency

Runtime scheduled mem mgmt

Languages:C++, Obj-C, C, Delphi

Languages:HTML5/JavaScript, C#, Java,

Mono C#

Best Suited for:User/Client Apps

Embedded Applications

Real-time Applications

Best Suited for:Web Server Applications

Browser based Applications

Page 18: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

18

Embarcadero: Multi-Device App Development

HTML5 Cross

Platform

“Platform

Native”

Platform Vendor

ToolsRapid Multi-Device

Examples

Adobe, Sencha,

Kendo, HTML5Builder

Appcellerator,

Xamarin Mono

XCode, Visual

Studio, Eclipse

Embarcadero

RADStudio

Platforms iOS/Android iOS/Android

Win or Mac/iOS

or Android(Sep IDE, lang, & SDK

for ea platform)

Mac/Win/iOS &

Android* (2013)

Native “Real Code” No No Yes Yes

Native Platform API Access No (PhoneGap) Yes Yes Yes

Single Source Multi-Vendor

TargetingYes No No Yes

Single IDE Yes/Plugin Yes/Plugin No Yes

Single Project Multiple Multiple Multiple Yes

App Performance Low Low High High

App Number Crunching

PowerLow Low High High

App Capacity (mem/data) Low Low/Med High High

App UX (User Experience) Low/Med Med High High

Enterprise Connectivity Low Low High High

Page 19: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

19

Page 20: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

C++ is The Choice for Clients Devices

#2 and #4 languages for SourceForge

open source projects

Top commercial software is written in C++

- Microsoft Word, Adobe Photoshop,

Google Chrome, Firefox, Mac OS X, iOS,

Oracle database, Microsoft SQL Server,

MySQL, Games

Top web companies use C++ – Google,

Facebook, PayPal, Amazon

20

Page 21: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

C++Builder XE3

New Native Multi-Device Targeting Architecture

Windows & Mac 2012

iOS & Android in development - RAD Studio Mobile Roadmap - http://edn.embarcadero.com/article/42544

Highest standards compliance

C++98, C++TR1, and C++11 language standards

ANSI C, ISO C, C99, and C11 language standards

Dinkumware STL and Boost 1.5

CLANG compatible, LLVM compiler infrastructure

Agile C++ language extensions

21

Native Multi-device Development Solution

Page 22: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Windows 8 Metropolis UIs with Touch

Mac OS X Lion, Mountain Lion & Retina

Mobile “Ready”

Pixel Perfect OS Native Control Styling

Non-Client Area Styling

Anchors and Layout Managers

Actions and ActionLists

Audio/Video

High Performance and Quality

3rd party styles support

Delphi and C++Builder

FM2 – Multi-Device

Page 23: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

23

Page 24: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Why C++Builder?

Native Multi-device Targeting for development

time/cost of Single platform

Standards based C/C++ language – C++11

Agile, visual development

Windows and Mac Targeting 2012

iOS and Android Announced for 2013

High Performance Seamless DB and

Web/Cloud Services Connectivity

24

Page 25: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

clang

http://clang.llvm.org/○ Modular library based architecture

○ A real-world, production quality compiler

○ Conformance with C/C++/ObjC and their variants○ http://channel9.msdn.com/Events/GoingNative/GoingNative-

2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys

○ http://devimages.apple.com/llvm/videos/ExtendingClang.m4v

○ http://llvm.org/devmtg/2011-11/Gregor_ExtendingClang.pdf

LLVM○ Great optimizations (http://llvm.org/docs/Passes.html)

○ Online Demo ( http://llvm.org/demo/ )

Page 26: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

26

Page 27: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

C++Builder is Enterprise Ready

Windows 32/64 and Mac (iOS & Android in 2013)

FireDAC, dbExpress, ADO and SQL databases

Devices, Sensors and Platform Services

Web Services: SOAP and REST

RAD Cloud Services

Multi-Tier - DataSnap

27

Page 28: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

What is FireDAC?

• A set of Universal Data Access Components• High-performance, easy-to-use• Enterprise connectivity• Universal Data Access

• Also with many database specific features

Page 29: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

FireDAC Overview

Page 30: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Native FireDAC Drivers

• MySQL• Microsoft SQL

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

• Sybase SQL Anywhere

• Microsoft Access• IBM DB2 Server• Firebird• Advantage Database• ODBC gateway • dbExpress gateway

Page 31: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

FireDAC Core Components

• TADConnection: connection to a database• TADTransaction: transaction in a connection• TADMemTable: in-memory dataset• TADQuery: executes a SQL commands and

returns result sets• TADStoredProc: executes a stored procedure• TADTable: open table data for navigation• TADScript: executing SQL scripts

Page 32: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Additional Data Access Components

• dbExpress• InterBase Express• ADO• 3rd party components are also available

Page 33: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Devices, Sensors and Platform Services

Device support – framework agnostic TCaptureDeviceManager

MediaType = video, audio

Sensor support – framework agnostic TSensorManager

TSensorCategory

Platform Services TPlatformServices

SupportsPlatformService method

Platform service interfaces

TOSVersion○ OS info – version, build #, update #, service pack #

○ Processor architecture

33

Page 34: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Web Services: SOAP and REST

SOAP servers and clients

WSDL import wizard

HTTPRIO component

REST servers and clients

Project Indy TidHTTP component

34

Page 35: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

RAD Cloud Services

35

Page 36: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Multi-Tier - DataSnap

DataSnap servers - Windows DataSnap Server application – VCL, FMX, Console, Service

DataSnap WebBroker application

DataSnap REST application

DataSnap Clients – Windows and Mac C++/Delphi clients

HTML/JavaScript clients

Mobile clients via DataSnap connectors○ iOS

○ Windows Phone

○ Android

○ Blackberry

JSON (JavaScript Object Notation)

Protocols – TCP/IP, HTTP, HTTPS

Authentication and Authorization

36

Page 37: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

InterBase XE3

Highly scalable, powerful, embeddable database

Zero administration. Tiny footprint. Encryption for

database, table, column

Editions Server, Desktop, ToGo – DLL/Dylib

Developer – included with the IDE

ToGo test deployment licenses in RAD Studio Directly deploy apps and databases from the RAD

IDE for Server and ToGo Edition to Windows & Mac VAR and OEM pricing available from sales

Page 38: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

38

Page 39: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

C++ in the Multi-Device Enterprise

Supporting the technologies and architectures

enterprises need

Industry standard C++ language

Support for a wide range of SQL databases

FireMonkey 2

Web Services

Cloud Computing

Multi-Platform

39

Page 40: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Q1 RAD Tools : Promotions

Offer:

Buy C++Builder XE3 Professional

Get HTML5 Builder FREE!

Offer:

Upgrading to Enterprise Edition

Get ER/Studio data modeling FREE!

Architect edition at Enterprise edition price!

Ends March 31sthttp://www.embarcadero.com/products/cbuilder/offer

Page 41: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Introductory special offer on

FireDAC data access components!

Get FireDAC FREE when you buy

Enterprise edition or higher

Professional edition users save $100 on

the FireDAC C/S Add-On Pack for XE3

Professional (limited time introductory)

XE3 Enterprise edition or higher customers

can download FireDAC now.

41

http://www.embarcadero.com/radoffer

Page 42: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

42

Page 43: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

Additional Information

C++Builder XE3 product page -http://www.embarcadero.com/products/cbuilder

A Conversation with Bjarne Stroustrup -http://forms.embarcadero.com/forms/AMUSCA1212CodeRage7BjarneStroustrupReplay

RAD Studio Mobile Roadmap -http://edn.embarcadero.com/article/42544

C++Builder 31 videos – creating software applications (January 2013) -http://www.embarcadero.com/products/cbuilder/how-to-create-software-applications

64-bit Windows development with C++Builder XE3 -http://www.embarcadero.com/products/cbuilder/64-bit

43

Page 44: David Intersimone “David I” Vice President of Developer Relations …edn.embarcadero.com/print/images/43019/WebinarCPPinthe... · 2013. 3. 28. · Web/Cloud Services Connectivity

44

David Intersimone “David I”

Vice President of Developer Relations

and Chief Evangelist

Email: [email protected]

Twitter: davidi99

Blog: blogs.embarcadero.com/davidi/