7 ms·
Carbon UI framework has been deprecated for 12 years. Cocoa has been available since the first Mac OS X version, so ~20 years ago, and it's still be main UI fra
by galad87 7y ago
Carbon UI framework has been deprecated for 12 years. Cocoa has been available since the first Mac OS X version, so ~20 years ago, and it's still be main UI framework on macOS, and it will still be for years.
You can't come now and whine that Apple changes UI frameworks too often.
- danieldk 7y agoI think another issue is that on Apple's platforms the changes are quite abrupt, whereas most other platforms are gradual. E.g., if you wrote a Qt (the toolkit) application in 1996, you could have slowly transitioned your application to Qt 5 version by version. In the meanwhile, you have gone from non-standardized C++ to C++98, to C++11. So, you would have an application with a modern language and toolkit, which was gradually developed over the last 23 years. The same for Windows applications. For me, the truth is somewhere in the middle. Yes, there is more churn on Apple platforms. On the other hand, it also allows Apple and the ecosystem to move faster. It is amazing what they have been able to achieve with (just naming some random things): wide Touch ID support, Metal, or application sandboxing.
- galad87 7y agoYou could have done the same with Carbon to Cocoa: transition a window/view at a time. You can use Cocoa windows and views in Carbon. Plus you can keep using your C++ core even if the UI is Cocoa. The same applies to Swift, you can write or rewrite parts of the app in Swift and keep part of it in C++/Rust/Objective-C or your preferred language. The same happens in SwiftUI, you can mix it with NSView and UIViews.
- blub 7y agoAFAIK Carbon was a C++ API and Cocoa is Objective C(++). In which case the UI is a rewrite , not a transition.
- lonelappde 7y agoYou rewrite one screen at a time.
- griffordson 7y agoIt's almost like the people complaining the loudest don't have a profitable software product that justifies regular ongoing maintenance or something.
- saagarjha 7y agoCarbon is a C API.
- plorkyeran 7y agoCarbon continued to work for 13 years after it was officially deprecated. Waiting over a decade to get started on a transition doesn't mean that the transition was abrupt; it just means that you procrastinated until you got a hard deadline and so caused scheduling problems for yourself.
- sneak 7y agoI think that is precisely what they are doing. I can run apps that worked on Windows 95 today in 2019 unmodified. Cocoa or not, I can’t do that with osx apps that are even 3-5 years old sometimes. Microsoft and Linus have a specific fanatical attitude about the installed base of existing apps. Apple simply does not.
- pornel 7y agoI actually like that. Some software dies and makes room for more modern replacements. All Mac software that I have is modern and consistent. Contrast this with Windows, where browsing through system settings is like going back in time from Windows 10/8 to XP to 95 all the way to 3.11, if you click "Advanced" enough times. Some Windows applications (especially installers) pop up dialogs that don't support anti-aliased fonts. It gives an impression of an OS with wildly inconsistent GUI and legacy garbage all over the place.
- thefounder 7y agowhat about games? I like to play some old games out of nostalgia
- xoa 7y agoVirtualization? Why is it necessary to eternally keep shims and compatibility hacks in the host/main OS when nowadays we can just trivially run the old OS?
- lonelappde 7y agoHow do I trivially get a copy of Mac OS 10.5 Tiger? This isn't FLOSS.
- thefounder 7y agoNext suggestion will be to keep old computers around if you want "old" software.
- Mikhail_Edoshin 7y agoI was recently greeted by Brew message that my Mac OS X is too old and is not supported :) It was simply a warning, the installation (GNU tar) run OK and gtar worked. The OS is El Capitan and it's just turned 4 years.
- xhruso00 7y agoApple dropped security updates on El Capitan with release of Mojave. El Capitan is supported on MacBooks from 2009. I think it's time to upgrade.
- plorkyeran 7y agoUnder 1% of homebrew users are on 10.11 (https://formulae.brew.sh/analytics/os-version/30d/ https://formulae.brew.sh/analytics/os-version/30d/), so continuing to test on that OS version would not be a good use of the maintainers' time.
- reaperducer 7y agoInteresting that there are five times as many Brew events from Catalina machines than El Capitan machines, and Catalina isn't even out yet.
- guitarbill 7y agoEl Capitan machines are already set up, Catalina machines are being set up?
- reaperducer 7y agoSince macOS updates are free, is there a reason you haven't moved off of El Capitan? Do you just like the way it looks and feels? Is there an essential program that you use that need El Cap? Are you using a 2008 MacBook? I'm not being critical. I have to run Jaguar on a dedicated machine I keep in the closet for a niche reason, so I'm curious what problem you face.
- 7y ago
- ratww 7y agoOn the other hand, I've been programming in Windows since about the same time. In the GUI front I had to work on Win32, MFC, WebForms, Silverlight, XAML and WinRT. I've been trough two DirectX breaking upgrades where we had to rewrite pretty much everything that touched the API because of deprecations. Sure, old things keep working for users, but if you stick with ancient technology it gets way too hard to hire developers. I'm not complaining though: I love writing code and upgrading things is a breath of fresh air. Every Microsoft API was significantly better than the one preceding it, IMO.
- jmnicolas 7y agoI write Windows desktop app in WPF since December 2009 and I'm confident that I won't write them in anything else for at least the next 10 years (desktops are supposed to be dead by then but I hope the 'visionaries' are wrong.
- kitsunesoba 7y agoFurthermore, from the start Carbon was intended as a transitionary solution and Apple told devs this many many times. Carbon apps were supposed to be the bubblegum-and-duct-tape answer for holding users over while you worked on your Cocoa version. It’s not Win32 or MFC and Apple never claimed it was.
- AprilArcus 7y agoThis is true in hindsight and seemed obvious at the time, but in fact Apple insisted that Carbon was a long-term solution and treated it as an open-ended commitment. They dogfooded it internally, using it to write the Finder and iTunes, two first-party apps so central to the user experience that novices confused them for the OS itself. There were working betas of Carbon 64, and Apple's decision to reverse course and deprecate Carbon on 64-bit platforms in the middle of the release cycle caused significant developer whiplash.
- cpuguy83 7y agoWhy in hindsight? It was a compat layer for essentially adapting OS 8/9 software for OSX. It was deprecated in 2012. In 2017 with High Sierra they announced that carbon apps would require changes to work at all.
- AprilArcus 7y agoNobody with any sense really believed Apples protestations during the 1999-2007 time period that Carbon was going to be a long term solution, but Apple really tried to sell folks on the idea that it would be, until they suddenly low-key ghosted on the Carbon developer community at WWDC 2007, when 64-bit Carbon was quietly removed from the keynote deck a year after it had been prominently featured. https://www.macrumors.com/2007/06/13/leopard-drops-carbon-64-bit-support/ https://www.macrumors.com/2007/06/13/leopard-drops-carbon-64... Archive.org records the wailing and gnashing of teeth which accompanied the relatively sudden announcement: https://web.archive.org/web/20140115143937/http://lists.apple.com/archives/carbon-dev/2007/Jun/msg00258.html https://web.archive.org/web/20140115143937/http://lists.appl... https://web.archive.org/web/20140115112428/http://lists.apple.com/archives/carbon-dev/2007/Jun/msg00292.html https://web.archive.org/web/20140115112428/http://lists.appl... You can still find developer documents in Apple's archives referring to a 64-bit upgrade path for Carbon apps. https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/Carbon64BitGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004381 https://developer.apple.com/library/archive/documentation/Ca...
- reaperducer 7y agoCarbon UI framework has been deprecated for 12 years Interestingly, Carbon still pops up here and there, even in programs from large companies with tons of resources like Adobe. The giveaway is when you ask it to do something hard and instead of getting the SPOD, you get the watch icon.