We did put 2 or 3 programmer-years into a Cocoa GUI. Problem is, it appears that it will need 2 or 3 more. There probably won't be enough Mac buyers left in 2 or 3 years to pay for that.
I agree that QT, wxWidget and Electron build crappy apps. And some effort will always be required to interface between one's working code, and the GUI layer. It's just a matter of making that effort small enough so one can bring a product to market fast enough and cheaply enough to get paid decently for the work. MVC is an excellent design paradigm. The M and V layers were no problem at all to set up. The C started out easy, but ended up being a big problem. Quite a bit of the business logic is not just data, but fancy stuff that happens with the GUI. Fields that switch between % and $, table cells that change other table cells, etc. There is a lot of code in our C++ RecordViewer classes to make that happen, and it didn't integrate easily with NSWindowControllers or NSViewControllers. It often was faster to just redo the logic in Cocoa. That took a lot of time. Much more rewriting than expected. Within source files, Objective-C++ is fantastic. It really makes Cocoa coding easy for C++ programmers. We were surprised about how well it worked. I probably didn't mention Obj-C++ because it became second nature so quickly. If all parts of Cocoa were like that, we would have finished by now. The basic language problem as I see it is in the headers. Classes are either Obj-C or C++ and can't be both. It turned out to be an enormous barrier that caused all sorts of pains. Casey McDermott TurtleSoft.com On Tue, Oct 15, 2019 at 12:20 PM Jens Alfke <j...@mooseyard.com> wrote: > > > On Oct 15, 2019, at 6:59 AM, Turtle Creek Software via Cocoa-dev < > cocoa-dev@lists.apple.com> wrote: > > > > TurtleSoft has a big investment in C++ source code that's full of > > construction business logic. Unfortunately, with the death of Carbon its > > future value is in doubt. > > I know I’ve brought up Objective-C++ to you here before, but I’m not sure > you registered its existence, based on comments like this. > > Any well-designed app keeps the data model and core business logic > separate from the UI. So having that logic in C++ is not a big problem. > > As for the UI code, I’ve still never found a cross-platform UI framework > that creates decent apps. Qt is hideous, and Electron results in immensely > bloated websites-in-a-box. So to do a good job, you need to code the UI for > each platform anyway. > > —Jens > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com