Photino.Native

repository·master·Indexed 41 days ago

https://github.com/tryphotino/photino.native

The core C++ engine for the Photino framework, handling system calls and exposing native OS operations to higher-level wrappers like .NET. It enables the creation of lightweight, cross-platform desktop applications using Web UI technologies. Provides build instructions for Windows (Visual Studio 2019+), Linux (Ubuntu), and macOS (Xcode).

Tokens
800
Snippets
3
Records
5
Agent score
2%

What's inside Photino

  1. Use Photino.Native via NuGet

    master

    For most developers building desktop applications, you do not need to build the source code from this repository. Instead, you should consume the library as a NuGet package to integrate Photino into your .NET projects.

    https://www.nuget.org/packages/Photino.Native/
  2. Build Photino.Native on macOS

    master

    To compile Photino.Native on macOS, follow these steps:

    1. Prerequisite: Install Xcode.
    2. Compile: Run the following command to generate the dynamic library:
      gcc -shared -lstdc++ -DOS_MAC -framework Cocoa -framework WebKit Exports.cpp Photino.Mac.AppDelegate.mm Photino.Mac.UiDelegate.mm Photino.Mac.UrlSchemeHandler.mm -o x64/$(buildConfiguration)/Photino.Native.dylib
    gcc -shared -lstdc++ -DOS_MAC -framework Cocoa -framework WebKit Exports.cpp Photino.Mac.AppDelegate.mm Photino.Mac.UiDelegate.mm Photino.Mac.UrlSchemeHandler.mm -o x64/$(buildConfiguration)/Photino.Native.dylib
  3. Build Photino.Native on Linux

    master

    To compile Photino.Native on Linux (tested with Ubuntu 18.04 and 20.04), follow these steps:

    1. Install Dependencies:
      sudo apt-get update && sudo apt-get install libgtk-3-dev libwebkit2gtk-4.0-dev libnotify-dev
    2. Compile: Run the following command to generate the shared object file:
      gcc -std=c++11 -shared -DOS_LINUX Exports.cpp Photino.Linux.cpp -o x64/$(buildConfiguration)/Photino.Native.so 'pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0 libnotify' -fPIC
    sudo apt-get update && sudo apt-get install libgtk-3-dev libwebkit2gtk-4.0-dev libnotify-dev
    
    gcc -std=c++11 -shared -DOS_LINUX Exports.cpp Photino.Linux.cpp -o x64/$(buildConfiguration)/Photino.Native.so 'pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0 libnotify' -fPIC
  4. Build Photino.Native on Windows

    master

    To build the native C++ project on Windows, follow these requirements:

    1. IDE: Open the solution in Visual Studio 2019 or later.
    2. Workload: Ensure the Desktop development with C++ workload is installed. The Linux development with C++ workload is recommended but not required.
    3. Configuration: You must build using the x64 configuration. Do not use the default AnyCPU configuration.
    4. Runtime Requirement: You must install either the WebView2 runtime or the Edge Dev Channel. Note that simply having Edge Chromium installed is insufficient for a functional development environment.
  5. View Photino.Native Windows binary metadata

    master

    The Photino.Native.rc file defines the Windows resource metadata for the Photino.Native binary. This metadata is embedded in the compiled .dll and is visible to the operating system for file properties, versioning, and legal information.

    Metadata Fields:

    • CompanyName: TryPhotino.io
    • FileDescription: Photino.Native
    • FileVersion: 4.0.0.0
    • InternalName: Photino.Native
    • LegalCopyright: Copyright (C) 2025
    • OriginalFilename: Photino.Native.dll
    • ProductName: Photino.Native
    • ProductVersion: 4.0.0.0

    Note: The current version of the project is v4.0.22 as per the repository metadata, though the resource file specifies 4.0.0.0.