V2 is here! Check out the bug fixes and new features.

C++ Win32 Contributor Wanted! info@tryphotino.io

Build native, cross-platform desktop apps
that are lighter than light.

Photino is a lightweight open-source framework for building native,
cross-platform desktop applications with Web UI technology.

Photino Hello world screen for Windows 10
Photino Hello world screen for Linux
Photino Hello world screen for macOS

Native Applications

Photino enables developers to use fast, natively compiled languages like C#, C++, Java and more.

Use your favorite development frameworks like .NET 5.

Cross-Platform UI

Build desktop apps with Web UI frameworks like Blazor, React, Angular, Vue, etc.!

Photino uses the OS’s built-in Chromium or WebKit-based browser control for Windows, macOS and Linux.

Lightweight

Photino is the lightest cross-platform framework. Compared to Electron, a Photino app is far smaller!

And it uses far less system memory too!
See comparison.

Get Started with Photino for .NET

To get started, simply follow the instructions below. There are templates available for Blazor, Vue, Angular, React and gRPC starter apps. We've added some helpful comments to the sample apps to explain everything.

Install .NET templates
To list all available templates use dotnet new -l
dotnet new -i TryPhotino.VSCode.Project.Templates \
Create a new sample app from the Photino.HelloPhotino.NET template
A folder will be created to match your -o parameter
&& dotnet new photinoapp -o MyPhotinoApp \
Navigate into the new folder you just created
&& cd MyPhotinoApp \
Run the application
&& dotnet run
Do you want to learn more?
Read the documentation and visit us on Github!
or watch

About Photino

Photino is an open-source project based on Steve Sanderson’s WebWindow, which was based on .NET Core 3.1 and a pre-release version of WebView2. The goal of Photino is to enable developers to use Web UI (HTML, JavaScript, CSS, etc.) in native applications across platforms instead of learning platform-specific UI technologies.

What is a Photino, you ask? It’s a hypothetical subatomic particle and fermion superpartner of the photon as predicted by supersymmetry. It’s a candidate for the lightest supersymmetric particle in the universe.

How does Photino work?

Photino is a collection of packages that can be used for different platforms and technologies. The different packages use Photino.Native as their base package. Photino.Native is a C++ (and Objective-C) wrapper around the OS’s built-in Chromium or WebKit-based browser control in it. On Windows it uses the Chromium Edge based WebView2 control, on macOS it uses Safari’s WKWebView and on Linux it uses WebKitGTK+ 2. The Photino.Native package is compiled for each platform and distributed via NuGet.

Using the native browser control reduces the overall footprint of a Photino application since there is no need to bundle WebKit in the application. Photino is cross-platform because the application communicates with the wrapper in exactly the same way on any OS. This means developers only need one code base for all desktop platforms.

While we’re concentrating on using Photino with .NET 5, it could be used to build Web UIs for desktop applications written in any language, like C++, Go, Rust, Java, Objective-C and others!

Photino for .NET 5 and Blazor

Photino for .NET adds support for .NET 5 to the Photino.Native package. With Photino for .NET you can build desktop applications with .NET 5 backends and your Web Framework of choice. Since .NET 5 is cross-platform it is the perfect candidate for robust and reusable code that runs everywhere.

Photino.Blazor builds on top of Photino for .NET and adds the ability to build your application without having to know JavaScript or TypeScript at all.

.NET Logo

Photino vs. Electron

Download size comparison

  • Photino does not require NodeJS for backend work.
  • Photino is smaller and more lightweight. It does not require a bundled install of the Chromium engine or NodeJS runtime.
  • If .NET 5 is already available on the OS the size difference is huge!
Download size (starter app)
Windows 10
macOS 11.2
Ubuntu 20.04
Memory use (starter app)
Windows 10
macOS 11.2
Ubuntu 20.04

Memory Usage Comparison

  • Photino aims to use far less memory than Electron.
  • Memory use is especially low on macOS and Linux where the native browser control is far more efficient than Chromium.

While Photino brings a lot of advantages over Electron, it is still in its early development and not as feature rich as Electron. But we’re inviting the open-source community to help improve Photino! You’re welcome to join and add missing functionality that you need, fix bugs and submit pull request.

What’s next?

We are committed to improve Photino and develop it into a fully-fledged framework.
Some of the items on our list are:

  • Native menus
  • Application icons
  • In-app updates
  • Built-in crash reporting
  • .NET 6 Support
  • iOS & Android Support

Who is behind Photino?

Photino is maintained by CODE Magazine with the help of the open-source community.
Join the Photino community on GitHub at github.com/tryphotino.

Do you have any more questions? Get in touch at info@tryphotino.io