C++ Win32 Contributor Wanted! info@tryphotino.io
Photino is a lightweight open-source framework for building native,
cross-platform desktop applications with Web UI technology.
Photino enables developers to use fast, natively compiled languages like C#, C++, Java and more.
Use your favorite development frameworks like .NET.
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.
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.
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.
dotnet new -l
Additional videos here
Photino was inspired by Electron. It's an open-source project based on .NET. 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.
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, 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 adds support for .NET to the Photino.Native package. With Photino for .NET you can build desktop applications with .NET backends and your Web Framework of choice. Since .NET 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.
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.
We are committed to improve Photino and develop it into a fully-fledged framework.
Some of the items on our list are:
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