News for hackers. Stuff that matters.
Re:Apple ExtensionKit by macshome on Monday October 31, 2022 @04:13PM (#33412253)
Before ExtensionKit you could only make app extensions to extend the functionality of Apple provided systems. Things like authentication, file sync and badging in the Finder, Xcode text editors, or Final Cut Pro editing extensions. With ExtensionKit you can make your own extension points and let people develop extensions for your apps on all Apple platforms.

The code editor Chime just released extension support in their 2.0 release if you are on macOS 13. They have a lot of good details on how the implemented the feature on their blog. https://www.chimehq.com/blog/extensionkit-intro

Re:Apple ExtensionKit by duped on Monday October 31, 2022 @04:16PM (#33412312)
Application extensions outside the Apple ecosystem have been used on Apple computers for decades. It was never limited to Apple provided systems, whatever that means.
Re:Apple ExtensionKit by thewebcount on Monday October 31, 2022 @04:21PM (#33412390)
This is incorrect. In the past apps like Photoshop have allowed plugins which differ from App Extensions by running inside the host app's process. App Extensions are run in a separate process and don't have access to the entitlements of the host application, and can't directly access its data. This tends to mean that extensions are much better behaved than plug-ins.
Re:Apple ExtensionKit by Yoric on Monday October 31, 2022 @04:39PM (#33412674)
So, basically, OS support for the kind of things that Chrome and Firefox have been doing for a while?

Having been part of the Firefox effort, that was a real pain to implement, so sounds like a very useful component.

Re:Apple ExtensionKit by brookst on Monday October 31, 2022 @04:34PM (#33412608)
This. It is a different technical model that produces a different user experience. These are closer to widgets than to IPC.
Re:Apple ExtensionKit by duped on Monday October 31, 2022 @04:53PM (#33412918)
Applications have been using out-of-process sandboxes for years. But that's not necessarily a sign of quality, since this comes with a performance cost.

It's nice when extensions don't crash the host application, but the mitigations aren't free. It's interesting that Swift's stable ABI will drastically lower that cost, since you usually need some kind of serialization (although people have been using mmap to share data between host/extension process for awhile too to avoid the serialization penalty)

Re:Apple ExtensionKit by mattiemass on Monday October 31, 2022 @05:07PM (#33413159)
(author of that quoted blog post here). You are correct, there's nothing new about apps offering plugins/extension systems. What's new here is: this works across sandboxed apps, support for remote (out-of-process) views, and the extension permission and discovery system is entirely managed by Apple.
Re:Apple ExtensionKit by duped on Tuesday November 01, 2022 @01:27AM (#33417302)
Like I mentioned in another comment most of this has been practice for awhile. The big one is discovery, but there have been techniques to fix that (like standard install locations). AU (v2, v3) is a good example.