After we finish the Windows update, the plan is to write small phone/pad apps that will talk to it. Builders are mobile, and would love access to the accounting file in the office. Those apps will each do just one thing (e.g. enter a purchase or check an estimate). Swift and the current Cocoa will work great for those. No need for any C++. One screen or maybe a couple. Not much interface. I don't know quite what the network technology will be yet, but phone-to-desktop will have advantages over pure cloud-based apps. Cocoa and iOS seem strong at passing data over the Internet. We'll do iOS first, then subcontract matching Android apps later.
Desktop business apps are more complicated, and that's where Cocoa failed for us. Cocoa probably is difficult for any code base that does something complex, and wants to be cross-platform for the model layer. It would be insane for us to write payroll code in two different languages. Not just the programmer time, it's also a lot of extra testing and debugging. Twice the maintenance, forever. At the beginning we assumed that the hard part would be learning Objective-C, and finding a way to link C++ to it. Those were surprisingly easy. Basic architecture also was easy. Powerplant was pretty much just V, but we evolved into MVC very early on. There already are RecordViewer classes that act very much like a NSViewController, so we just link them. After 3 or 4 months the app was already starting to look and work like the current version. Then we discovered NSOutlineView and MFC's CTreeView, and designed a single-window setup that was much better than our current many-windows approach. At that point we were extremely optimistic. Then began the long slog to get everything to actually work right. NSComboBox was almost perfect, but we needed it to only allow existing items. Apple docs said it was possible but we never got it to work, even with suggestions from this list. So it required a text field, popup and table view, with complex interactions between them. Meanwhile CComboBox in MFC did it right with just a single parameter. Our data entry tables have complicated interactions between cells. Trying to get them to work in a NSTableView burned up almost a year. We finally gave up and changed the interface entirely. Constraints were a constant hassle. Looking ahead to how much detail still needs a rewrite was the last straw. There are still about 40 windows currently made in MW Constructor that will each need a nib and controller. At one week apiece for those, the horizon receded too far. Casey McDermott TurtleSoft.com On Fri, Oct 11, 2019 at 11:35 AM Gary L. Wade <garyw...@desisoftsystems.com> wrote: > Clarification: For long-time Mac and now available in SwiftUI, you can > even write “no” code to do some things with bindings. > -- > Gary L. Wade > http://www.garywade.com/ > > > On Oct 11, 2019, at 8:31 AM, Gary L. Wade <garyw...@desisoftsystems.com> > wrote: > > > > For Mac and SwiftUI, you can even write “no” code to do some things with > bindings. > > _______________________________________________ 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