Jump to content

Recommended Posts

Posted

Hello! Forgive my English, I'm not a native English speaker.

Some time ago, I purchased Affinity Design for my Mac and I was really impressed about how the software is well optimised on Macs compared to others, like Illustrator. After a quick search, I found out that Affinity is written in C++.

I'm currently a computer science student living in Brazil, and very interested in coding native Mac apps, and also well optimised like the Affinity ones. I would like some guidance to where should I start? Is C++ really the way to go? Java? Or perhaps Swift is good enough for my needs?

 

Keep up the good work, Affinity!

Posted

Hello,

in case of native Mac apps for the Apple platform you should use Swift, Objective-C or C/C++, since those are what is mainly directly supported by the Apple programming APIs and Apple's XCode.

From these languages Swift is nowadays probably the most fun (also more modern) and easier to learn prog language than let's say Obj-C or C++. On the other side, if you want to learn a native compiling, performant and good optimizing programming language, which is also usable across different platforms (Win/Mac/Linux) then C++ is still hard to beat here. - However C++ has overall a steeper learning curve and thus is more difficult to learn than the other two.

Java is pretty good as a teaching language (for the academic learning field and OO in general etc.), it's also still one of the most/widest used for distributed programming and certain other fields, since due to it's virtual machine (it's runtime system) it's very portable among platforms. Though I wouldn't count it to be what you call a native Mac app compiling language here.

Of course there are also other interesting and modern languages like for example GO and Rust etc.

In short, the choice is yours, with what you finally want to get your feet wet.

 

☛ 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
7 minutes ago, v_kyr said:

Hello,

in case of native Mac apps for the Apple platform you should use Swift, Objective-C or C/C++, since those are what is mainly directly supported by the Apple programming APIs and Apple's XCode.

From these languages Swift is nowadays probably the most fun (also more modern) and easier to learn prog language than let's say Obj-C or C++. On the other side, if you want to learn a native compiling, performant and good optimizing programming language, which is also usable across different platforms (Win/Mac/Linux) then C++ is still hard to beat here. - However C++ has overall a steeper learning curve and thus is more difficult to learn than the other two.

Java is pretty good as a teaching language (for the academic learning field and OO in general etc.), it's also still one of the most/widest used for distributed programming and certain other fields, since due to it's virtual machine (it's runtime system) it's very portable among platforms. Though I wouldn't count it to be what you call a native Mac app compiling language here.

Of course there are also other interesting and modern languages like for example GO and Rust etc.

In short, the choice is yours, with what you finally want to get your feet wet.

 

I understand! I started messing around with Java because a teacher recommended it, and I really enjoyed it! However, I really wanted that optimisation that theses native apps have. In my case, I believe the best way to go is Swift for now. At first, I was in doubt because I thought that with Swift, you could only post your apps at the Mac Store, and since I plan to work on open source projects, paying is not something that I want to do at the moment. 

I am really grateful for the help! Wish you a good day, friend.

Posted

Nowadays when programming inside the Apple world, Swift is a good and probably defacto choice, since it's also the language Apple is pushing and working the most on today (see the App & UI Kit and their other APIs etc). With Swift you can of course also equally good program/build quite well CLI based applications, not just GUI based apps. Further the Swift compiler does generate quite good optimized code too, sometimes even faster/better code than the Obj-C compiler generates.

Have a good time (Swift)ing around.

☛ 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

  • 1 year later...
Posted

I've made an interactive PDF with Affinity Publisher. Every time I update it, I have to export a new copy and ask my users to replace the old one with the new. I'd love to make the same content as an iOS app that would update automatically. Since it's just text and graphics, web links, and page jumps I wonder if it would be hard to learn to do that. Would I need to do that in Swift?

Posted
15 hours ago, Brent Pedersen said:

I've made an interactive PDF with Affinity Publisher. Every time I update it, I have to export a new copy and ask my users to replace the old one with the new. I'd love to make the same content as an iOS app that would update automatically. Since it's just text and graphics, web links, and page jumps I wonder if it would be hard to learn to do that. Would I need to do that in Swift?

Kind of sounds like you are wanting to use HTML and a web browser. 

Are you wanting to push updates to your users without any sort of effort on their part?

Mac Pro (Late 2013) Mac OS 12.7.6 
Affinity Designer 2.5.7 | Affinity Photo 2.5.7 | Affinity Publisher 2.5.7 | Beta versions as they appear.

I have never mastered color management, period, so I cannot help with that.

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.