Jump to content

Recommended Posts

Posted

Hi,

This is mainly a question aimed at the developers. I am very interested in knowing what GUI framework was used to develop the Affinity line of products. Was it Qt? Or WPF? Were the modules of Affinity programmed in C# or C++ (I imagine it was C++ considering the rendering operations for drawing)

This is very off topic from questions pertained to Affinity products but I am a C/C++ developer and have been looking for a good framework that enables rendering of both 2D and 3D graphics without the need for implementing a rendering engine with graphics API's such as OpenGL or Vulkan, etc. I like the look and reponsiveness of the Affinity products and was hoping a developer could share some insights into the front and back-end technologies used to develop the Affinity line of products.

Cheers!

Posted

See the license.rtf (Open Source Code used in Affinity) file which is part and included of every Affinity app installment. This tells you which third party C++/C frameworks, libs & modules have been used!

For the 2D and 3D graphics stuff see ...

Further inspect the supplied app libs!

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Posted

Ah very interesting, it looks like WPF is used for Windows, and an old post says Objective-C was used for Mac (never developed natively for Mac, have no experience with it). Two code bases for the front-end, that is surprising.

I've started using Qt6 and wanted to have a similar type of window as the Affinity products have (a frameless window) but realised that making a window frameless then relies on you as a developer to implement the OS window handling events to get the look and feel of the OS back; this is for the animations such has snapping the window and expanding it, minimizing it, etc.

I think my approach will now be to have separate implementations for each OS window and aggregate my other widget classes that make up my GUI, this way I can have a single code base for my GUI that looks the same across platforms.

Cheers for the response though! Have a good New Year!

Posted
2 hours ago, SlipperyBrick said:

I think my approach will now be to have separate implementations for each OS window and aggregate my other widget classes that make up my GUI, this way I can have a single code base for my GUI that looks the same across platforms.

Beside that you can better reuse/support the OS related APIs & services.

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.