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

Reply via email to