Home  ==>  papers  ==>  delphi  ==>  delphi_ios_preview_summary   

Delphi Ios Preview Webminar Summary - Felix John COLIBRI.

  • abstract : summary of the webminar - Mobile marketing - Demos of the full cycle, with standard controls (tButton, tTabControls, native Calendar and ListBox, .PNG images), databases (SqLite, Interbase, DataSnap) and Indy RSS Rest server for DelphiFeeds
  • key words : Mobile Studio, iOs
  • plan :

1 - iOS Preview Webminar

This is the summary of what I saw during the iOS Preview Webminar which took place the 21th February 2013, presented by Anders OHLSSON

1.1 - General Marketing presentation - JT

  • 16 Million developers
  • Delphi developers: 3 Million
  • since 1998 there was a shift from Windows desktop to Windows+ Web and now to Windows, Web and mobile devices
    • 1 billion Windows
    • 65 million Mac
    • 1 billion mobile devices
    • 2 billion web access
  • as of today,
    • 35 % for Windows
    • 65 % for Apple+ Android, with around 44 % for Android (as far as I could read from the picture)
  • there will be more tablets than PC in 2013, and they will take 70% of the market by 2017
  • there is a explosion of mobile device usage (home, entertainment, smart TVs etc)

1.2 - Developing Demos - Sarina DuPont

Demos of phone applications
  • the new IDE wizard
  • selection of form factor (iPhone 4, iPhone 5 / iPad, rotation)
  • toolbar to the top
  • label, center, align, sets app title, anchors
  • native ShowMessage
  • selection of the ios simulator
  • uploading to the Mac, running the app in the Mac iOs simulator

  • shows templates of apps
  • footer
  • embedded tab control
  • action, assigned to the next button
  • button styles
  • calendar edit : native iOs datepicker

  • custom icon

  • keyboard support

  • using the camera, taking an image from the library

1.3 - Data Connectivity - Marco CANTU

  • ClientDataSet, reading a local file
    • tabcontrol
    • listbox with header, with button, where has action
    • Cds
    • gets file from document folder
    • open, reads the rows and fills a listbox
      adds an accessory ">"
    • when clicks on a row, activates the second tab, locates the record and displays the detail
    • deployment page: deploys customer.css to the standard document of the device
  • SqLite
    • SqlConnection using the SqLite driver
    • tSqldataset
    • buttons for creating the table, filling it with some values, reading back
    • the rows read are written to a listbox
  • Interbase
    • SqlConnection linked to InterbaseToGo
    • GetTableNames, fills the listbox
    • clicking on the Listbox displays the table
  • Frame and Visual LiveBindings
    • tDataModule, bindsourcedb
    • frames
    • mainform with a tListBox
    • the LiveBindings Designer shows how the DataSet is linked to the visual controls
    • has a searchbox in the top toolbar, used as a filter for the dataset
    • displays groupings on company names
    • at run time, types company names in search box, filters the companies
    • can make the filters persistent, or remove them
  • more Frames, Ib
    • frames, dynamically hosted
    • uses local ib, with DbDemo Ib version, deployed on the device
    • can select table -> views the customers, with filter
    • similar for vendors
    • with Items, shows Master Detail handling
  • Indy Rss Rest reader
    • tIdHttp
    • xmldocument : native pascal base xml
    • event handler: gets an url (DelphiFeeds in this example)
    • loads in xml doc
    • navigates in the items
    • for each item, grab the title, author,

2 - Online Survey

JT did some live survey before the Q&A :
  • we were asked to tell which iOs type we were using
    Not sure about the answer, since I do not know the iPhone kinds

  • some other questions about the Mac / mac OS versions

  • MUCH MORE interesting (for me, at least), "what other target device are you targetting". The answer came back from the audience:
    • 97 % Android
    • 55 % WinRT
    • 14 % BlackBerry
    The comment was: "we know Android is much demanded and are working on it"

    This was sweet music to my ears. I purchased my first Smartphone for Christmas, and it is a Galaxy Nexus with Android (Ice Cream Sandwich). So I'm in the starting blocks.

3 - Questions and Answers

3.1 - Hardware Requirements

Required :
  • on the Apple side
    • requires Apple Hardware (the code MUST be compiled on Apple hardware as required by Apple developer EULA to package and sign applications)
    • Mac Mini is enough
    • intel based cpu
    • OS:
      • the latest public release for Lion or Mountain Lion. It's free in the Mac AppStore.
      • You cannot use a Mac OS VM unless you have at least Lion and it's running on a real Mac. This is an Apple requirement.
      • not snow leopard
    • all "accounts" including i-all logins, certificates etc must be present on development Mac running PAServer - including "simulator" signing profile, "deployment" signing profile etc
  • the iOs device (iPhone, iPad)
  • for the development, a Win32 OS

  • either the Mac / iPhone hardware connected to a Windows PC
  • or a Mac with Windows emulation on the Mac (VMWare Fusion, or Paralls desktop, any virtual environment you like as long as you can host a full version of Windows and access the network)

The Mac hardware is required
  • by Apple
  • to package and sign applications which will be sent by Delphi
  • to run the iOS simulator
  • to deploy to device, AppStore, Ad-Hoc, etc.

3.2 - Workflow

The Mac must be organized before we can use it. This was not covered in the conference, but we already had some idea from the Xe2 workflow.

As I understand it, setup (done once only) includes:

  • the xCode compiler and its command line tools

    However, you will not need to actually run and work in Xcode. RAD Studio and PAServer takes care of everything for you.

    XCode delivers the simulator which is launched on the Mac.

    The Xcode command line tools also take care of the "ipa package", as directed by the PAServer, automatically managed by the IDE

  • the PaServer which will communicate via TcpIp with the Delphi IDE

    The PAServer (Platform Assistant Server) runs on the Mac.

    If we are using a Windows VM (Windows running in emulation mode on a Mac) the IDE talks to the PAServer on an open port.

After this, everything (the transfer, the debugging) can be done from the Delphi Win32 IDE

3.3 - Standard workflow

After the initial Mac setup
  • design and develop on Win32, using the traditional RAD Studio (Delphi) IDE hosted on Windows
  • compile directly on Windows, using the Arm compiler

    this native Delphi Windows-hosted ARM compiler is provided with Mobile Studio

    the target code is ARM code (not objective C)

  • the app is being compiled and linked on Windows.

  • the generated code is transfered to the Mac, using the PAServer

    The Ide manages the PAServer in order to

    • deploy the app to device/simulator
    • package it and codesigns automatically

    We can then run the app on the Mac iPhone simulator, or transfer to the iPhone / iPad.

    The iPhone simulator runs on the Mac (there is no Apple iPhone simulator for Windows)

  • to test on the iOs device, you need your device connected to your Mac, a select the run or debug option. The IDE will build the application and deploy it to the device for you.

  • to show the device screen on the Mac desktop the demo used Reflector (previously known as Reflection). But another fine tool is airserver

Top summarize
  • The IDE builds the application using a Delphi-ARM compiler and Delphi Linker
  • The IDE then uses XCode command line tools (on a connected Mac) to package and sign the application. Then the IDE automates the pushing of the application onto a connected and provisioned device.

Our interpretation is the following :


3.4 - Other Questions

  • deploying to AppStore will be covered in another webminar.

  • customer of the product will get our app like any typical iOs application
    • either through the app store
    • or through an ad-hoc Mac Enterprise distribution push
  • the difference with Html5 Builder is that Delphi and FireMonkey we create full native iOS apps.

  • to create custom interface components, we can work with tCanvas (working with OpenGL is not necessary)

  • sensors:
    • gyro
    • accelerometer
    • camera
    • GPS
  • the demo only showed local databases, but a remote DataSnap Server (on Windows) can be used. There is also Web Service (Soap and Rest) support

  • there is a windows pre-simulator, but the UI will look very odd, in most cases.

  • Android
    • later this year, after iOS ships
    • the goal is to allow us to take an existing iOS application and recompile it for Android with no code changes.
  • windows mobile:
    • no release plans for WinRT (Windows 8 mobile) have been published, but it is on the roadmap. The overall goal is to allow us to target multiple devices (including desktop devices) with a single source code base.

4 - Notes

My point of view:
  • the presentation was technically perfect : no glitches, flicker, perfect scaling, crystal clear sound. Its my first webminar, but this is a huge improvement compared to the early video conferences (granted, the previous rendering was also caused by the video sent to Embarcadero by the authors, using Camtasia or similar tools)
  • the marketing stuff was as expected, but is a necessary reminder of what's happening
  • the general demo (some controls, including native controls, and the live app construction, loading using the PASserver and the execution on the Mac Ios simulator quite convincing. So this is the first time I personally saw an iPhone, at least in a simulator !
  • the Database and Indy demos covered a lot of ground, and of course, within the 1 hour time frame, all could not be built in front of us or all code shown. But a nice coverage of local databases and even an Indy demo
  • Q&A were to the point

  • for the Mobile Studio schedule (launch time), prices, inclusion in which Xe3 version, Android version we were sent back to the roadmap. Embarcadero should take the time it requires to finish the product, since, for a change, they are not pushed by the September yearly deadline. And then, I will be happy to see the Android stuff gradually coming (still announce for summer beta, by Michael SWINDELL in a 22 feb post)

  • the webminar summarized here will be downloadable in a couple of weeks
  • other webminars were announced as we get nearer to the launch (or for the launch).

As usual:
  • please tell us at if you found some errors, mistakes, bugs, broken links or had some problem downloading the file. Resulting corrections will be helpful for other readers
  • we welcome any comment, criticism, enhancement, other sources or reference suggestion. Just send an e-mail to
  • or more simply, enter your (anonymous or with your e-mail if you want an answer) comments below and clic the "send" button
    Name :
    E-mail :
    Comments * :

  • and if you liked this article, talk about this site to your fellow developpers, add a link to your links page ou mention our articles in your blog or newsgroup posts when relevant. That's the way we operate: the more traffic and Google references we get, the more articles we will write.

5 - The author

Felix John COLIBRI works at the Pascal Institute. Starting with Pascal in 1979, he then became involved with Object Oriented Programming, Delphi, Sql, Tcp/Ip, Html, UML. Currently, he is mainly active in the area of custom software development (new projects, maintenance, audits, BDE migration, Delphi Xe_n migrations, refactoring), Delphi Consulting and Delph training. His web site features tutorials, technical papers about programming with full downloadable source code, and the description and calendar of forthcoming Delphi, FireBird, Tcp/IP, Web Services, OOP  /  UML, Design Patterns, Unit Testing training sessions.
Created: feb-13. Last updated: jul-15 - 98 articles, 131 .ZIP sources, 1012 figures
Copyright © Felix J. Colibri 2004 - 2015. All rigths reserved
Back:    Home  Papers  Training  Delphi developments  Links  Download
the Pascal Institute


+ Home
  + articles_with_sources
    + database
    + web_internet_sockets
    + oop_components
    + uml_design_patterns
    + debug_and_test
    + graphic
    + controls
    + colibri_utilities
    + colibri_helpers
    + delphi
      – rad_studio_resources
      – the_turbo_pascal_story
      – induc_a_virus_anatomy
      – firemonkey_styles
      – delphi_xe3_info
      – ios_preview_summary
    + firemonkey
    + compilers
  + delphi_training
  + delphi_developments
  + sweet_home
  – download_zip_sources
  + links
Site Map
– search :

RSS feed