- Key Concepts
- Understanding the mimik Client Library for iOS
Understanding the mimik Client Library for iOS
The objective of this document is to describe the key concepts that developers need to understand about the mimik Client Library for iOS.
The intended readers of this document are iOS software developers and system integrators using the mimik Client Library when developing an iOS application.
What You Need to Know Before You Start
In order to get the full benefit of this document, the intended readers should be familiar with the following:
- The basics of the purpose and use of the mimik edgeEngine Runtime
- The basics of using an edgeEngine Tokens to access and work with the edgeEngine Runtime
Understanding the Purpose of the mimik Client Library
The purpose of the mimik Client Library is to provide a programmatic way to work with the edgeEngine Runtime to access information about the mobile device on which the application is running, as well as mobile devices running within a cluster of mobile devices that are hosting the edgeEngine Runtime. Also, to allow developers to use edge microservices running within a particular cluster.
By leveraging the Core component of the mimik Client Library, developers can build applications compatible with the edgeEngine Runtime. This not only harnesses the strength of edge computing but also provides an inherent flexibility in its paradigm.
Additionally, this component provides utility APIs that help developers with core operations such as Authentication, edgeEngine Runtime Setup, deployment of edge microservices and handling of Network calls.
Furthermore, the mimik Client Library Engine component provides additional edgeEngine Runtime utility APIs, as well as vendoring the actual edgeEngine Runtime binary into the iOS project.
Understanding the Purpose of the Core and Engine components of the mimik Client Library
The edgeEngine Runtime is a compiled binary that's intended to run on actual devices.
The reason for having the mimik Client Library split into its Core and Engine components is to give developers the choice of having the edgeEngine Runtime bundled in within the iOS application or to have it running on a host platform of their own choosing (ie. macOS, Linux, Windows, etc.)
Normally, when the developers intend to run their iOS application on iOS devices, the mimik Client Library Engine can be used to facilitate the integration of the edgeEngine Runtime binary directly within the iOS application bundle.
However, in order for developers to be able to run their iOS application in an iOS Simulator or through a Mac Catalyst translation layer, it is necessary for the edgeEngine Runtime to be running on a host platform outside of the iOS application.