What this book covers
Chapter 1, Recent IDE Enhancements, will help you get up to speed quickly, starting with an understanding of the many parts of the IDE, and then explaining "What's new?" in each of the last five major versions.
Chapter 2, Delphi Project Management, simplifies the bewildering choice of where to start! With so many platforms and project templates, deciding how to create a new app can itself be overwhelming. We'll explore build configurations, shortcuts to managing options and project groups, and show you how to use the command-line compiler for automation.
Chapter 3, A Modern-Day Language, clears up any misunderstanding that Delphi is not capable of building cross-platform apps. We'll showcase enhancements made through the years to the Pascal-based syntax that facilitated the flexible and powerful language it is today.
Chapter 4, Multiple Platforms, One Code Base, is where we'll really start diving into cross-platform topics. The first step in that direction is learning about FireMonkey—we will take you carefully through several differences compared with the VCL in some simple apps so you can get comfortable quickly. Then we introduce various form factors of mobile devices and show how to manage them in Delphi. Finally, we cover several conditional compilation constants you'll need to know in order to separate code for specific platforms.
Chapter 5, Libraries, Packages, and Components, is an important chapter as writing a simple DLL isn't so simple when you have to deploy to platforms other than Windows—we cover several gotchas that you need to know. After we build both a dynamic library and a package (and why you might need one over the other), we turn a package into a cross-platform component.
Chapter 6, All About LiveBindings, explains how this expression-based data connector technology is more than just a replacement for data-aware controls in Delphi. The LiveBindings Designer is explained with tips on organizing with layers. We demonstrate how the LiveBindings Wizard can create components for you already hooked up to your data. Finally, we use custom formatting and parsing—and end with code that creates custom LiveBinding methods installed in Delphi.
Chapter 7, FireMonkey Styles, uncovers the nuances of styling a FireMonkey application and how to use and customize FireMonkey styles effectively for a distinctive appearance. We will build a simple app with a variety of controls and four different styles that you can run on each of your devices to see the differences.
Chapter 8, Exploring the World of 3D, is a fun chapter that demonstrates how you can use your favorite programming tool to utilize popular GPU engine libraries with ease. We build a simple app with a variety of 3D shapes, textures, lighting, and cameras for a broad overview of the capabilities. We end the chapter by using some of these techniques and more to build an escape game you can play on your phone!
Chapter 9, Mobile Data Storage, shows how well FireDAC works with different database products on multiple platforms, comparing one application that uses InterBase ToGo and a similar one using SQLite. We'll answer questions on licensing, explore free management tools, and offer tips for working with touchscreen devices.
Chapter 10, Cameras, the GPS, and More, demonstrates the power of the FireMonkey library to encapsulate various platform capabilities in simple components that you can readily use in your apps. We'll also build a database-enabled mobile app that utilizes techniques learned in previous chapters but that will grow in functionality for the rest of this book.
Chapter 11, Extending Delphi with Bluetooth, IoT, and Raspberry Pi!, explores various types of Bluetooth technologies, including BLE, which is what beacons are based on. We dive further and show how BLE is the basis for all IoT components and explain how to use ThingConnect components you can get from GetIt. We conclude this chapter on small devices by demonstrating how to deploy a Delphi app to a Raspberry Pi.
Chapter 12, Console-Based Server Apps and Services, switches gears from small, mobile devices to server technologies. We create both Windows services and Linux daemons and also show how to take an open source project and modify it for our own needs when we need to implement custom logging.
Chapter 13, Web Modules for IIS and Apache, continues the server discussion by concentrating on web server modules for the two most popular web servers – IIS on Windows, and Apache for both Windows and Linux. We bring over the data module tested in our console-based server and use WebBroker to build a simple but nice-looking web page that displays data in a grid with very little code.
Chapter 14, Using the RAD Server, is a big chapter covering a big product available for Delphi Enterprise and up that serves as another type of platform, one that provides a REST server in a box where you only add your custom business methods. We teach what RAD Server brings to the table, why it can pay for itself, and how to write modules for it. Then we go one step further and modify our sample mobile app to use it.
Chapter 15, Deploying an Application Suite, culminates the application development process by covering important aspects of deploying to production with discussions about externally defined configuration files, various security concerns, application icons and identity, testing, the installation of server backends, and mobile app submission.