Extending VCL to Mobile with App Tethering

Posted by on in Programming

App Tethering was first introduced in RAD Studio XE6 as a way to extend your VCL and FireMonkey (FMX) apps to other companion applications.  The companion apps can be Windows, Mac OS X and/or FMX multi-device apps.


With App Tethering, you can breathe new life into your existing Windows VCL apps! You can extend Windows VCL and FMX apps connecting them to other devices, sensors, data and services to build connected apps to add to a distributed Internet of Things (IoT) solution!

RAD Studio 10.1 Berlin added these App Tethering Improvements:

App tethering gains the following features:

          Network_V4       Network_V6

       procedure DiscoverManagers(const ATargetList: TTetheringTargetHosts); overload;

For security, you can encrypt the data or streams before sending to any connected app, and then you decrypt the data or streams when it’s received by any of the connected apps as I described in this post, App Tethering using Encryption Hooks.

The RAD Studio 10.1 Berlin sample PhotoWall app shows AppTethering sending streams between other paired profiles. 

The Photo Wall app has a DesktopWall viewer app is a Multi-Device app to display photos taken with its mobile counterpart application.

The Mobile app from the PhotoWall lets you take a photo with your Android or iOS device and display it on one or more DesktopWall instances over the network.


This sample app demonstrates how to scan for App Tethering enabled Remote Instances across a network, pair with individual Remote Instances, and send Temporary Resources to those individual Remote Instances.


Gold User, Rank: 90, Points: 4
Al Mannarino has 25+ years of software development experience, including object-oriented analysis and design (OOAD) and developing and deploying production applications. He is currently a Principal Software Consultant and Evangelist for Embarcadero Technologies. Prior to joining Embarcadero, Al spent three years working with CodeGear, a division of Borland that was acquired by Embarcadero in 2008. He also worked for five years as a lead systems engineer for Borland supporting application lifecycle management, software delivery optimization and developer tools solutions. Prior to Borland, Al served as a systems engineer for companies including Objectivity, Versant, Red Brick Systems, Information Builders, and was an electrical engineer for Grumman Aerospace performing application implementations on complex electrical-mechanical systems. Al has a bachelor's of science degree in electrical engineering from Manhattan College.


Check out more tips and tricks in this development video: