Can Xojo please put attention on improving Mac applications built with Xojo

I completely understand your request. Keep in mind though that this is not something on the same level as adding a whole new platform like Android. Check the Roadmap periodically, we do update it as we get more confident when things will ship.

2 Likes

Well to be honest i did not asked for Android, we just asked for the current IDE to be up to date with the current OS’s and we apreciate that on the last 2 ,3 releases it is closer to the reality so in my case i prefer to focus on the tools i use and make sure they are the best and use them on max and then ask my customers if they do need new features and functionality in your case Android as you mentioned, but as long as MacOS is outdated, Web is not complete, Windows has a lot of issues, IOS not to say, Linux has a arm64 requests since the age or 64 Pi i believe that is more logical to bring attention to what sells rather than what could be selling, just my 2c. Seeing the way the big sharks are moving, windows changing things mostly every year, Apple changing apis and complete designs and rules maybe every 6 months it is hard to keep the pace but to bring it up to date due to constraints and be 3, 4 versions behind is hard for us as developers to explain to customers that we cannot have it or doit due to framework limitations, so apologies for our frustrations but in the same we are all in the same boat so we need to help eachother. Seeing apple way, in their vision all will be done from ipads so the change of macOS more to IOS , all the showcases and presentations they do are with video editing and design and so on, i guess they have a specific target , same with us and unfortunately the apps we try to create are more than 1 button and one label and some of the people here do complex processing and a lot of data and dbs and many others that do require apis up to date, libraries, and so on. Thanks again for listening.

2 Likes

May I do a suggestion ? Why typing your post is in a single paragraph ? It’s very hard to read.

5 Likes

Which Thomas? Can you share a link to download it, I would like to take a look as I am still considering my options.

Thanks for the vote of confidence. If Xojo wants my help (for the Mac platform), they know how to reach me.

1 Like

Hola Amigo,

Sure the feedback case is <https://xojo.com/issue/64336>; let me know if you’d like some testing on it, or I can provide you with App Store validation source code that uses the system libraries (to which you can replace yourself).

Also, you may wanna check out <https://xojo.com/issue/68256> as I think I may have found a clue as to why the Listbox (and canvas) doesn’t work correctly on a NSPopover. Here’s older cases in regards to the same problem <https://xojo.com/issue/58243>, <https://xojo.com/issue/58219>

Below are the cases related to Console apps. <https://xojo.com/issue/64896> and <https://xojo.com/issue/64895>

This one would allow us to schedule helpers and workers on the efficiency cores of the M1 SOC. <https://xojo.com/issue/66317>

This one relates to Xojo removing icons from the toolbar if they’re set via declares (to get the .template property). <https://xojo.com/issue/34926>

Ability for the rectControl to receive modifier key presses (so the cursor can show it the control supports contextual menus, like it should). <https://xojo.com/issue/65572>

This one is annoying when trying to make sure your app provides the correct icon while dragging <https://xojo.com/issue/61412> Yes, Xojo auto displays the cursor, regardless if it is supported or not, which is wrong.

Allow for customization of the messagedialog, it’s kinda frustrating that it has to be re-written to utilize functionality that’s already there (just not exposed by the Xojo framework). <https://xojo.com/issue/60707>

Allow for custom focus rings <https://xojo.com/issue/59394>

Built-in shared memory <https://xojo.com/issue/59548>

Support bookmarks for the App Sandbox <https://xojo.com/issue/58275>

Finally, the ability to read SQLiteDatabases from the Resources folder of a Mac application (without copying it to the users area first) <https://xojo.com/issue/21814>

5 Likes

This is a bit off topic, Sam, but I just wanted to explain my relief reading your words. Over the years, I had several attempts for Mac (or Apple) extension libraries, and sooner or later – to be more exact when it comes to controls that are natively embedded in a scrollview –, I ran into exactly the same problems you describe. The Xojo control wrappers interfere heavily with the declared controls. Sometimes I get lucky and can lift the unexpected constraints, but mostly just to find out the control now fails elsewhere.

It would be an enormous help to have a view base class made to declare own controls into, without an unnecessary wrapper or superview that will work against you.

4 Likes

Thomas Tempelmann - here is the GIT link.

Note: It does depend on MBS plugins.

It has some shortcoming but in general it’s very useable as a Listbox alternatieve. You can even create containers and use that in the NSTableView

It would be awesome if this is standard in Xojo though. Same for your AppKit stuff. :wink:
Maybe sell that to Xojo Inc. :slight_smile:

3 Likes

Count my vote for this. I’m a new user to Xojo and while I love the RAD approach to creating native Mac apps, the lack of modern Mac controls may be a dealbreaker for me. I’m not interested in creating Windows or Linux apps (I speak for myself; I know others might target those platforms), but I don’t want to ship an app without real NSToolbars, NSSourcelists, etc. I know there are third-party solutions for these, but what brought me to Xojo was how easy it was to add controls and see what the window and controls will look like directly in the IDE. I know Xojo didn’t ask and might not care, but if it were me, I’d move this request from #5 on the public roadmap to #1.

7 Likes

In that case you definitely should use Xcode instead. For macOS only apps, I would never use Xojo.
Swift makes it very easy too.

4 Likes

Apple now offers a 15% fee to small developers.

1 Like

There’s a difference between “you should” and “I would never”: others may use Xojo for MacOS-only apps (I do it, for one).

7 Likes

One advantage of using Xojo is that if you later decided that you wanted to make a Windows or Linux version of your app, it would be relatively easy.

10 Likes

In that case, can you explain Tim how he can implement the following native controls for macOS without plugins and declares (that was his concern and question).

  • NSSourcelists
  • NSToolbars
  • Other native controls

Anyhow
 Xojo Inc will never including specific OS native controls. Some just cannot be made cross platform (which is the goal of Xojo after all).
The Xojo Listbox control is a good example. macOS NSTableView and Windows ListBox class cannot be merged in one control to become Xojo Listbox.

1 Like

Arnaud, you should read it in the context. He was replying for a request of using pure, full featured native macOS controls, not present in Xojo, to a guy that stated that he has no interest in anything non-macOS. That’s a very specific request where Christophe answer fits perfectly, and Xojo don’t, at least OOTB.

For the context, I may agree, but “For macOS only apps, I would never use Xojo.” doesn’t seem to be in a context :man_shrugging:.

Sure, XCode is native throughout, but Swift is much less stable than Xojo. Not easy to maintain.

5 Likes

I began to developp with RealBasic (Xojo) only for Mac, then I port 2 applications for Windows (easily) and now 9 are running under Windows (easily too, much more than if I had develop them with Xcode or Switf).
But we can’t ask so much to Xojo, they can’t be perfect on every sides.

3 Likes

I’m not sure I have a solution for all of those, but there are some cross-platform toolkits that use the system’s native controls. For example, wxWidgets (https://www.wxwidgets.org):

wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform’s controls and utilities

wxToolBar will use a native NSToolbar if wxMAC_USE_NATIVE_TOOLBAR is set to 1.

Others include Boost.UI and libui.

Forgive me for asking, but as for “macOS NSTableView and Windows ListBox class cannot be merged in one control to become Xojo Listbox” - why not? Aren’t Xojo buttons an example that use the native platform’s buttons? I know the controls act differently on both platforms, but couldn’t some intermediate layer in the IDE and/or Xojo runtime convert a Xojo listbox into the native platform’s control?

1 Like

The NSTableView has a lot of features. The Xojo people would have to do many “available only on macOS”. Check out NSTableView of the MBS plugin: Monkeybread Xojo plugin - NSTableViewMBS class

1 Like