The Windows version of "myCodec" was written in C# and compiled with MS Visual Studio 2022. The MacOS version was programmed in Swift 5 using XCode 14. The user-interfaces are very similar:
The English/German language switching and the Remaining time display (above the progress bar) are available in the Apple version only.
In the foreground thread, the input and output file are defined and the key file to be used is specified
(or created for the first time).
In the background thread, the input file is read piece by piece into a buffer, the buffer content
encrypted and the result appended to the output file.
The division into working and operating thread allows the live display of the progress (progress bar)
while maintaining operability (aborting the process).
After the encoding/decoding was started, the progress bar only appears if it becomes apparent that the entire process will take a little longer.
Then the "Start" button mutates to a "Cancel" button. The remaining time display appears even later in the MacOS version.
measured processing time [sec. / GB] :
17 - Intel Core i5-10210U (Win 11)
22 - Intel Core I5-6400 (Win 11)
40 - Intel Core i5 (iMac 2019, MacOS Ventura)
60 - AMD Athlon II X3 425 (Win 10)
480 - Intel Atom Z2760 (Win 10, 32 bit-System!)