7 ms·
People burn an astounding amount of CPU and brain cycles pretending that UIs are something they are not. (i.e. "pure" functions) I hope Apple never goes the wa
by aaaaaaaaaaab 4y ago
People burn an astounding amount of CPU and brain cycles pretending that UIs are something they are not. (i.e. "pure" functions)
I hope Apple never goes the way Microsoft did with their fad UI toolkits that utterly destroyed developer trust in native Windows development (MFC, WinForms, WPF, UWP, WinUI, .Net MAUI). They are pretty wise for keeping SwiftUI be the "for kids" vanity UI toolkit to lure in React webdevs, while keeping UIKit and AppKit for serious stuff.
- rudedogg 4y ago> They are pretty wise for keeping SwiftUI be the "for kids" vanity UI toolkit to lure in React webdevs, while keeping UIKit and AppKit for serious stuff. At WWDC 2022 they specifically said that Swift+SwiftUI is the best way to build apps, and the future of their platforms. I thought AppKit/UIKit would stick around, but I guess not. --------------------------- Edit: Here's the direct quote from the "Platforms State of the Union": > We're continuing to expand our adoption of SwiftUI across our apps and system interfaces. For example, iOS's new Lock Screen widgets were designed from the ground up using SwiftUI. The new Font Book app was completely rewritten with it. And the modern, forward-looking design of the new macOS System Settings app was built using it. Swift and SwiftUI were designed from the start to provide a single, native language and API for all Apple platforms. You can learn them once and apply them everywhere. Whether your vision is to provide quick access to information at a glance on Apple Watch, productivity tools on MacBook Pro and iPad, new experiences on iPhone, or a new way to relax with Apple TV, Swift, SwiftUI, and Xcode provide a next-generation integrated development platform to help you build apps for all of our products. Now, if you have an existing app, it's easy to adopt these new technologies incrementally. And if you're new to our platforms or if you're starting a brand-new app, the best way to build an app is with Swift and SwiftUI. The slide had a Swift, SwiftUI, and Xcode logo with nothing else.
- bowsamic 4y agoThere is no evidence to suggest that Apple are deprecating AppKit and UIKit
- ChrisMarshallNY 4y agoIt'll be around for many years. I know, for a fact, that some AAA applications are still using ObjC. Also, I am quite sure (but don't know) that Apple still has a plenty big ObjC codebase at home.
- aaaaaaaaaaab 4y agoSome? More like all AAA applications use ~100% ObjC. I'm talking about apps like Facebook, Messenger, Instagram, YouTube, etc.
- ChrisMarshallNY 4y agoThis is likely true. I only know of a couple, but I'm quite sure that there are legacy codebases up the yin-yang. Either that, or Electron/Xamarin/React Native. I am not really a fan of the hybrid apps. I was just watching Slack go crazy on my iPad, a few minutes ago.
- pjmlp 4y agoThose use mostly C++ alongside Objective-C, or nowadays Swift, unfortuly what most use is something like React Native, Flutter,....
- ChrisMarshallNY 4y agoI'm pretty sure that Adobe Photoshop is still C++. Funny story. It started off as Object Pascal, and used MacApp 0.9 as its framework. I think the codebase was converted to C++, around Photoshop 3. Snapseed[0, 1] (won awards) had its engine written in C++. C++ is a good language for image pipelines. Doesn't really pass the "ooh, shiny!" test, though... [0] https://apps.apple.com/us/app/snapseed/id439438619 https://apps.apple.com/us/app/snapseed/id439438619 [1] https://play.google.com/store/apps/details?id=com.niksoftware.snapseed https://play.google.com/store/apps/details?id=com.niksoftwar...
- 4y ago
- aaaaaaaaaaab 4y agoDon't read too much into it. That's just PR. I'll start getting concerned when they rewrite any of their serious apps in Swift(UI). (i.e. Logic, FCP, Xcode, Finder, Instruments, iMessage, Mail, Calendar, etc.)
- marcosdumay 4y agoThe ironic thing is that functional reactive idiom is not about pure functions. It's about dealing with the impurity only once, at state management. But if you don't keep track of the impurity dependencies on your language, you will need to rediscover those dependencies during compilation, and besides surprising the developer all the time, that's a really nasty problem to solve. That's why it's always solved badly.
- criddell 4y agoMFC? As somebody who has worked with MFC in some way or another for the past 25 years, there are worse examples out there. The beauty of MFC was that it was pretty simple layer on top of Win32 and the source code was provided. You can continue to use it with some of their newest stuff using XAML Islands.
- pjmlp 4y agoIronically it is still the best way to do C++ GUI development on the Microsoft stack, after they killed C++/CX, and replaced it with the pre-historic tooling C++/WinRT. However for a real nice C++ GUI development experience on Windows, going with C++ Builder or Qt would probably be a saner option, as the WinUI team doesn't seem to get it, and MFC only gets minor updates nowadays.
- int_19h 4y agoMFC is a thin wrapper around Win32. I don't recall it ever being a fad, either. WinForms is basically Delphi's VCL ported to .NET. And back in 90s, Delphi was one of the most popular ways to make native Windows desktop apps.
- pjmlp 4y agoOn the Microsoft side, it is still the best way to do C++ GUI development, after they killed C++/CX, and replaced it with the pre-historic C++/WinRT tooling (return to the ATL days but without VS tooling support).