marco cantu keynote

62
EMBARCADERO TECHNOLOGIES 1 Spring Delphi Community Conference

Upload: embarcadero-technologies

Post on 19-Jul-2015

74 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

1  

Spring Delphi Community Conference

Page 2: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

2  

Delphi Keynote Marco Cantù

Page 3: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Marco  Cantù  

•  Delphi  Product  Manager  – More  precisely,  RAD  Studio  PM  

•  Email:  [email protected]  

•  Book  author  and  Delphi  guru  •  blog.marcocantu.com  3  

@marcocantu  

Page 4: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What  is  Delphi?  

The  Connected  App  PlaForm  for  Windows  and  Beyond    RAD  development  for  Windows,  Mac,  iOS,  and  Android  and  IoT    Industrial  strength.  Business  ready  

Page 5: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Enterprise  Ready  

Build  industrial  strength  and  business  ready  soluMons  

5  

Page 6: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Connected  

Connect  naMve  client  plaForms,  mobile  extensions,  smart  devices,  cloud  services,  Enterprise  and  embedded  data.  

6  

Page 7: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

MulCDevice  

Deliver  single-­‐source  user  interfaces  across  mulMple  form  factors  with  FireUI  

7  

Page 8: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

IoT  Ready  

Extend  apps  with  new  Internet  of  Things  capabiliMes:  proximity  awareness,  devices,  and  sensor  data  collecMon  

8  

Page 9: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

9  

What’s New in XE8 Compilers and Libraries… And Why?

Page 10: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Delphi  XE8  Compilers  and  Toolchains  

•  7  Object  Pascal  compilers  •  Windows  32-­‐bit  and  64-­‐bit  •  Mac  OS  X  •  Android  ARM  v7  •  iOS  Armv7,  iOS  Arm  64-­‐bit,  and  iOS  Simulator  

10  

Page 11: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

New  in  XE8:  iOS  64-­‐bit  Compiler  and  Toolchain  

•  New  iOS  64bit  Object  Pascal    Compiler  –  Including  linkers  and  tools  –  Separate  iOS  64  target  

•  Support  for  Apple  Universal  apps  –  Both  binaries  in  single  IPA    

•  Required  for  App  Store  –  64bit  target  can  embed  32bit  binary  

11  

Page 12: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

iOS  Universal  Apps  

12  

iTunes  Connect  Info  

Page 13: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Single  Source  iOS  32  and  iOS  64    

•  Sounds  obvious?  Not  so!  –  Lots  of  data  types  changes  in  Xcode  ObjecMveC  code  –  Xamarin  C#  code  has  two  APIs  (Classic  and  Unified)      

•  Only  core  change  is  LongInt  is  64-­‐bit  on  64-­‐bit  mobile  –  And  32bit  in  32bit  mobile  and  Windows  

•  Pointers  and  references  are  64-­‐bit,  of  course  •  Extra  care  needed  if  calling  naMve  libraries  directly  13  

Page 14: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

The  FireMonkey  PlaWorm  

•  Single-­‐source  mulM-­‐device  architecture  –  Including  user  interface  controls,  which  can  be  styled  or  plaForm  naMve  

– MulMple  compilers  for  the  different  plaForms,  all  producing  naMve  code  

•  RAD,  with  a  strong  OOP  architecture  •  For  Windows,  OS  X,  Android,  iOS  

14  

Page 15: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

FireUI  MulC-­‐Device  Designer  

•  Shared  master  and  specific  views  •  Visually  customize  forms  for  different  plaForms  and  form  factors  

•  Introduced  in  XE7  

15  

Page 16: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

FireUI  in  XE8  Designer  Previews  

•  Live  Previews  for  mobile  and  desktop  plaForms  

•  Preview  the  UI  on  different  form  factors  as  you  create  it  

16  

Page 17: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

FireMonkey  New  XE8  Mobile  Features  

•  New  MapView  component  –  Android  Google  Maps  –  iOS  MapKit  

•  More  iOS  plaForm  controls  –  TMemo,  TListView,  TSwitch  (plus  TEdit,  TCalendar  in  XE7)  –  Z-­‐order  improvements  mixing  plaForm  and  styled  control  

17  

Page 18: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

FireMonkey  New  XE8  Mobile  Features  

•  FireMonkey  PlaForm  NaMve  Rendering  Architecture    

18  

Page 19: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

MapView  Component  

19  

Page 20: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Other  FireMonkey  XE8  Features  

•  Desktop  browser  components  for  Windows  and  OS  X  – Mapped  to  plaForm  browser  components  

•  New  ImageList  component  –  Desktop  and  mobile  

•  Enhanced  mulMmedia  and  camera  support  

20  

Page 21: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

The  Run  Time  Library  (RTL)  

•  Available  for  both  VCL  and  FireMonkey  •  Core  runMme:  memory  management,  files  and  streams,  threads,  encodings  and  formats…  

•  Hooks  for  plaForm  specific  API  /  SDK  calls  •  Introduced  in  XE7:  Parallel  Programming  Library  

21  

Page 22: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

RTL  ConnecCvity  and  IoT  in  XE8  

•  AppTethering  –  Protocol  enhancements  and  encrypMon  hooks  

•  TBluetooth  component  – Matching  exisMng  TBluetoothLE  component  

22  

Page 23: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

AppTethering:  Brigde  VCL  and  Mobile  

23  

Page 24: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What  Do  Beacons  Do?  

•  A  Beacon  provides  proximity  and  idenMficaMon  informaMon  •  Informs  a  mobile  app  how  close  it  

is  (signal  strength)  •  Provides  idenMficaMon  informaMon  

(UUID,  Major  ID,  &  Minor  ID)    

•  Two  main  standards  •  iBeacons  (Apple)  •  AltBeacons  

Page 25: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What  Can  You  Do  with  Beacons?  

•  Your  “proximity”  app  can:    –  Find  nearby  beacons  

•  Determine  how  close  it  is  to  a  beacon  

–  Know  the  idenMfy  of  the  beacon  •  UUID,  Major,  Minor  

–  Enter/exit  a  beacon  range  •  Limited  to  BLE  signal  distance  

–  Take  some  acMon  based  on  “seeing”  the  beacon  

   

Page 26: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

The  TBeacon  Component  

   

•  Supports  iOS,  Android,  and  OS  X  

•  iBeacons  and  AltBeacons  standards  

•  Use  events  to  receive  informaMon  

Page 27: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Add  Physics  with  Box2D  

•  Library  distributed  with  C++  –  hsp://box2d.org/  

•  Object  Pascal  headers  and  ready-­‐to-­‐use  demos  •  Add  physics  to  your  desktop  and  mobile  applicaMons  –  Great  for  games,  but  not  only  

27  

Page 28: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

HTTP  and  HTTPS  Clients  

•  Indy  TIdHTTP  works  on  all  plaForms  –  Requires  OpenSSL  distribuMon  on  iOS  and  Windows  –  Your  applicaMon  distributes  security  bits  

•  PlaForm  naMve  APIs  –  Security  layer  by  OS  vendor  –  Nothing  to  distribute  with  your  app  –  Four  different  APIs…  unMl  XE8!  

28  

Page 29: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

HTTP  Client  Library  •  PlaForm  naMve  HTTP  and  HTTPS  support  –  Uses  plaForm  SDK  services  on  each  plaForm  –  Hassle-­‐free  deployment,  relies  on  plaForm  security  

•  Rather  than  OpenSSL  –  For  Windows,  Mac,  iOS,  Android  – Works  also  in  VCL!  

•  NetHTTPClient  and  NetHTTPRequest  components  –  System.Hash  with  hash  funcMons  for  HTTP  

29  

Page 30: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

AppAnalitycs  

•  Capture  anonymous  usage  stats  from  your  customers,  understand  users  behavior  –  No  tracking  of  user  data  –  Used  also  by  RAD  Studio  IDE  

•  Hosted  by  Embarcadero  as  pay-­‐per-­‐use  service  (SaaS)  

30  

Page 31: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

TAppAnalyCc  Component(s)  •  VCL  and  FireMonkey  

–  Same  component  name,  different  implementaMons  

•  Captures  applicaMon    startup,  form  acMvaMon,    excepMons,  controls  focus  

•  Developer  can  add    custom  events  of  any    type  and  group  them  

31  

Page 32: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

AppAnalyCcs  Sample  Data  

32  

Page 33: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What’s  new  in  Database  RTL  

•  TField  read/write  performance  opMmizaMon  –  For  all  TDataset  descendants  –  Customer  reported  25%    increase  in  ClientDataSet    performance  compared    to  XE7  

33  

Page 34: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What  is  FireDAC?  

•  High-­‐performance,  easy-­‐to-­‐use,    enterprise  database  connecMvity  

•  Universal  data  access  with  database  specific  features  •  No  drivers  required  and  full  source  code  provided  (in  

Enterprise  ediMon)  

 Database  applicaCons  development                        is  fun  again  with  FireDAC  

Page 35: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What’s  New  in  FireDAC  

•  New  in  FireDAC  –  Teradata  database  driver,  based  on  ODBC  driver  –  Support  for  InterBase  Change  Views  

•  Details  in  the  InterBase  XE7  secMon  –  Change  noMficaMons  –  dbExpress  to  FireDAC  migraMon  tools  –  Enhanced  SQLite  v3.+  database  support,  with  smart  data  types  and  both  staMc  and  dynamic  linking  

35  

Page 36: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

FireDAC  and  InterBase  XE7  ChangeViews  

•  Query  database  for  changes,  merge  with  current  dataset  –  MergeDataSet  method  with  dmDeltaMerge  param  

Page 37: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What’s  New  in  VCL  in  XE8?  Summary  

•  Building  on  a  very  solid  foundaMon  –  Fonts  scaling  and  other  improvements  

•  ConnecMvity  –  Bluetooth  and  AppTethering  extensions  –  HTTP  client  library  

•  AppAnalyMcs  –  Track  applicaMons  usage  with  lisle  effort  

•  And  many  developer  producMvity  features  in  the  IDE,  with  the  addiMon  of  GetIt,  DUnitX,  Mercurial  

37  

Page 38: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Plus,  New  VCL  Styles  in  XE8  

38  

Page 39: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Aside:  What’s  Coming  in  Windows  10  

•  XE8  VCL  and  FireMonkey  applicaMons  work  just  fine  •  Microsov  at  BUILD  conference  just  announced  –  “Project  Centennial”:  Host  Win32  app  in  Windows  10  Store,  First  class  

–  “Project  Astoria”:  Run  Android  APKs  on  Windows  10  Phone  

39  

Page 40: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What  is  EMS?  Enterprise  Mobility  Services  A  turnkey  middleware  server  enabling:  •  User  management  and  authenMcaMon  •  Loadable  modules  for  custom  APIs  over  REST  •  Enterprise  SQL  database  access  through  •  Mobile  embedded  and  server-­‐side  SQL  data  storage  •  Web  console  for  user,  device,  and  API  analyMcs  

Page 41: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

EMS  is  MulC-­‐Tier  

41  

•  EMS  Clients  use  REST  API,  embed  local  secure  database  

•  EMS  Servers  hosts  plug-­‐in  packages,  uses  EMS  DB  

•  EMS  Packages  communicate  with  enterprise  databases,  cloud  data  

Page 42: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

New  Features  in  EMS  for  XE8  

•  Integrated  Push  NoMficaMons  •  External  credenMals  support  –  Demo  showing  AcMveDirectory  integraMon  

•  Database  connecMons  pooling  •  Export  Data  from  Web  Console  –  Improved  users/groups  analyMcs  

•  Client  console  for  managing  user  accounts  and  more  42  

Page 43: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What  are  Push  NoCficaCons?  

•  Mechanism  to  send  noMficaMons  to  (mobile)  devices  •  App  on  mobile  needs  to  signup  and  authorize  •  Can  receive  noMficaMons  while  app  is  not  running  

•  Core  providers  •  Android:  Google  Cloud  Messaging  (GCM)  •  iOS:  Apple  Push  NoMficaMon  (APN)  

   

Page 44: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Push  in  RAD  Studio  

•  Permissions  to  receive  Push  NoMficaMons  •  Android:  App  permission  •  iOS:  EnMtlement  file  

•  BaaS  –  Parse,  Kinvey,  (App42)  

•  EMS  –  Direct,  integrated  support  –  Broadcast  and  subscripMon  based  noMficaMons  

   

Page 45: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

EMS  and  Push  

   

REST  call  

Push  NoMficaMon  

APN  /  GCM  

Page 46: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

46  

Developer Productivity Enhancements

Page 47: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Developer  ProducCvity  Enhancements  

47  

Page 48: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

New  Editor  Features  

•  IDE  Shared  –  Stack  bookmarks,  smart  keys,  parenthesis  matching,  code  structural  highlight  

•  Object  Pascal  specific  –  Castalia  refactorings,  Editor  selecMon  expansion,  Flow  controls  highlighMng,  Code  navigaMon  toolbar,  Smart  symbol  search  

–  Code  analysis  to  track  quality  48  

Page 49: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

GetIt  Package  Manager  

•  Easy  libraries  discovery  and  one-­‐click  installaMon  •  HosMng  both  VCL  and  mulM-­‐device  libraries  •  Includes  all  TurboPack  projects  •  “GetIt  Library  Manager  for  easy  discovery,  download  and  update  of  source  code  libraries,  components,  and  other  features  from  Embarcadero  GetIt  servers”  

49  

Page 50: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

GetIt  Package  Manager  

50  

Page 51: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

What  is  “Turbo  Pack”?  

•  CollecMon  of  “classic”  open  source  components  –  Updated  for  XE7/XE8  –  Embarcadero  sponsored  update  –  Leveraging  new  language  and  RTL  features  when  useful  

•  Most  come  from  the  Turbo  Power  open  source  projects  (but  not  all)  –  This  is  the  reason  for  the  “Turbo”  name  –  www.turbopack.net  

Page 52: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

DUnitX  Support  

•  DUnitX  – Modern  Delphi  unit  tesMng  framework  –  github.com/VSovTechnologies/DUnitX  

•  Integrated  support  with  wizards  –  Console  and  FMX  runners  –  Delphi  and  C++  

•  DUnit  runMme  sMll  in  the  product  52  

Page 53: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Version  Insight  

•  Enhanced  Subversion  support  –  Change  list  labels,  SVN  merge  dialog,  braches  switching  

•  Enhanced  Git  version  control  integraMon  –  Push  and  Pull  changes  to  and  from  remote  repositories  

•  New  Mercurial  version  control  integraMon  –  Cloning  your  remote  repository,  commit  changes  locally,  show  log  data  

53  

Page 54: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Migrate  IDE  Seengs  

•  In  Bin  folder,  migra)ontool.exe  •  Migrate  configuraMons  from  older  versions  of  the  IDE  –  If  installed  on  the  same  machine,  registry  to  registry  –  If  different  machines,  export  to/import  from  XML  

•  Copy  configuraMons  of  same  version  between  different  installaMons  (via  XML)  

•  User  can  pick  specific  groups  of  sewngs  54  

Page 55: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Migrate  IDE  Seengs  

55  

Page 56: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Android  Java  Libraries  Management  

•  Add  custom  Java  libraries  to  a  project  

•  Remove  the  standard  libraries  you  don’t  need  

•  Builds  a  custom  classes.dex  library  for  the  project  

56  

image  

Page 57: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

More  New  XE8  IDE  Features  

•  CHM  help  is  back  •  Start  here  page  redesign  •  Improved  installaMon  experience  and  reduced  installaMon  footprint  (removes  temporary  files)  

57  

Page 58: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

58  

Buy Delphi XE8 Today!

Page 59: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Update  SubscripCon  Advantages  

•  Includes  updates  and  fixes  –  Only  way  to  get  updates  from  now  on  –  Also  fixes  for  recent,  past  releases  (new)  

•  Includes  support  incidents  •  Includes  exclusive  content  (new)  •  Extends  Maintenance  and  Support  –  Same  price  point  and  model,  automaMc  migraMon  

59  

Page 60: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

XE8  Offers  

•  10%  discount  if  you  buy  now  •  Free  Bonus  Pack  –  Premium  Styles  –  Object  Pascal  Handbook  eBook  

60  

Page 61: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

Primary  Benefits  of  RAD  Studio  XE8  

The  best  tool  for  mulM-­‐device  

development  for  Windows,  OS  X,  iOS,  Android  

The  Connected  App  PlaForm  for  Windows  and  Beyond  

Bluetooth,  App  Tethering,  Beacons  for  the  Internet  of  

Things  

Turn-­‐key  services:  AppAnalyMcs  and  Enterprise  Mobility  

Services  

Page 62: Marco cantu keynote

EMBARCADERO  TECHNOLOGIES  

62  

Questions?