alternetsoft / AlternetUI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AlterNET UI

AlterNET UI is a cross-platform .NET UI framework that allows the development of light-footprint .NET desktop applications that runs on Windows, macOS, and Linux with Microsoft Visual Studio or Visual Studio Code.

It is built on top of the .NET Framework and uses a XAML-like approach to define user interface and layout. It provides a set of standard controls that looks native on the target OS, such as Text Box, Label, CheckBox, Button, Image, TreeView, ListView, WebBrowser and more.

The framework includes a platform-independent graphic device interface for rendering graphical objects, such as fonts, brushes, images, and a layout engine.

For increased developer productivity, AlterNET UI extension for Visual Studio is available.

Useful links:

How to use:


How to build:

It is better to use AlterNET UI from NuGet. If you need a custom build, here is step by step instructions:

  • 3 build machines are needed: Windows, macOS, Linux.
  • On all machines installations of .NET SDK 6.0, 7.0, 8.0 are required.
  • If you want to use UI on single platform, skip installation steps for other platforms.

STEP 1. Windows Machine Setup:

  • Windows 7 or newer is supported.
  • Install Visual Studio 2022 Version 17.8.0 or later, with C# Desktop development, C++ Desktop development workloads, VS Extenstion Development installed. Net 8.0, 6.0, 7.0, 4.62, 4.81 targeting packs are required.
  • Clone the AlterNET UI repo.
  • Use the "C:\Alternet.UI" folder or any other root folder. The folder name should not contain any spaces or non-English letters.

STEP 2. macOS Machine Setup:

  • macOS 10.15 (Catalina) or newer is required.
  • Install appropriate XCode version (for example Xcode 12.4 for macOS 10.15). See this page.
  • Install CMake. Copy CMake.app into /Applications (or another location), double click to run it. Follow the "How to Install For Command Line Use" menu item.
  • Make folder with Windows Alternet.UI installation accessible for macOS Machine.

STEP 3. Linux Machine Setup:

  • Install Ubuntu 23.10 or newer.
  • Install CMake and C compilers.
  • Install required packages, run Install.Scripts/Ubuntu.Install.Packages.sh.
  • Make folder with Windows Alternet.UI installation accessible for Linux Machine.

STEP 4. (Optional) Specify target frameworks: You can modify list of target frameworks in files "Source\Samples\CommonData\TargetFrameworks.props" and "Source\Version\TargetFrameworks.props". This will speed up the build process.

STEP 5. Build:

If you want to use UI on single platform, run install script only there.

  • Exit Visual Studio before running Install script.
  • By default installation script doesn't download and compile used WxWidgets library if it was done previously. For overriding this behavior, you can delete "WxWidgets" sub-folder in the "External" folder of the Alternet.UI installation. In this case full installation will be performed. This could be useful when, for example, we switch to the new WxWidgets builds.
  • Run Install.sh (or Install.ps1) on macOs Machine.
  • Run Install.sh (or Install.ps1) on Linux Machine.
  • Run Install.bat (or Install.ps1) on Windows Machine.
  • Now you can open solution "\Source\Alternet.UI.sln".

STEP 6. (Optional) Build NuGet packages on Windows Machine:

  • Run Install.Scripts/MSW.Publish.1.Build.Nuget.Pal.bat.
  • Run Install.Scripts/MSW.Publish.2.Build.NuGet.Managed.bat.
  • The results will be in Publish/Packages.

Important:

Please run the Install script each time you switch development platform (for example, when you switch from Linux to MSW, run Install.bat on MSW).

How to use with latest source from GitHub:

If you want to develop with latest AlterNET.UI source from GitHub instead of using it from NuGet, you can use MinMasterTemplate.

About

License:MIT License


Languages

Language:C# 72.7%Language:Makefile 15.7%Language:C++ 10.6%Language:Shell 0.6%Language:Batchfile 0.3%Language:HTML 0.0%Language:PowerShell 0.0%Language:JavaScript 0.0%Language:C 0.0%Language:SourcePawn 0.0%Language:VBScript 0.0%Language:CSS 0.0%Language:CMake 0.0%