Photino.Native

Audience

This document is for C++ developers who would like to understand or contribute to the Photino.Native project and for developers who would like to build Photino wrappers for their chosen language and/or development platform. The Photino.NET project is a reference implementation for the .NET development platform.

Overview

Photino.Native is a C++ wrapper around the OS's default browser control on Windows, Mac and Linux which creates a native OS window, places the browser control in it and exposes both the window and control to the host application.

The source code can be found in a Visual Studio solution in the GitHub repository. It contains Microsoft C++ code for Windows, gcc C++ code for Linux, and Objective C++ code for Mac as well as code and resources shared in all three environments.

Because these controls are often included or already installed on Windows and Mac, there is often no need to download or install the controls along with the application, making Photino applications lean and performant.

Usage Instructions

If you just want to use the Photino.Native component, download or install the NuGet package. The required executable files for all environments are contained in the package and can be extracted using a NuGet utility or by renaming the .nupkg file to .zip and treating it as a .zip file. See Quick Start for details.

Building

The GitHub repository includes .yml files for automated CI/CD builds, packaging and deployments via Azure DevOps Pipelines. Please refer to these files for the latest information on dependencies and build commands.

The source code also contains a .NET Test project used for testing and troubleshooting. In order to use the Test project, the Photino.NET source code must be downloaded under the same parent folder as the Photino.Native folder (as the Test project does not contain the Photino.NET source code, but rather links to the source in this adjacent folder). If you don't care to use the Test project, there is no need to download the Photino.NET source code.