MAS apps can also stop running at any time if the DRM checks suddenly fail (e.g. if a certificate expires).
MAS apps can also stop running at any time if the DRM checks suddenly fail (e.g. if a certificate expires).
[1] http://www.macrumors.com/2015/11/12/mac-app-store-apps-damag...
If so, wouldn't you have to validate receipts against a new certificate once the old one expires?
I don't think any of those apply to VLC or uTorrent... The main problem of MAS (for app that don't need what above) is the app store app in itself (it's garbage) and the review time (that hit back anytime you need to patch something fast)... otherwise the model it's not bad per se...
A lead VLC dev listed a bunch of the issues here: https://news.ycombinator.com/item?id=7039737
I agree about the store app itself being awful
Setting Xcode aside, though, the idiomatic "modern OSX" model seems to be one where GUI apps have to own all the files they interact with, usually clumping them together into media-typed document bundle folders. (Xcode's mechanism wouldn't be nearly as inexplicable if the rest of the files lived inside the .xcodeproj.)
An idiomatic OSX text editor app would thus, naively, probably have to be quite crippled: the GUI app would have to simply copy your repo into a project document, and make all its edits in there. No ability to watch for git-initiated changes to the source dir or anything.
But I think there is still a way to idiomatically support the Unix philosophy of "small components, working together against shared files" in modern OSX. You just can't rely solely on GUI apps to enable it. Instead, you need a separate CLI component that "lives in" the un-sandboxed Unix world to be the manager of the Unix-style integration.
Imagine the text editor working on its project bundle, and then a separate CLI component sitting there and just monitoring both the project bundle, and the git working directory—and bidirectionally syncing between them. The sandboxed app still gets to be a sandboxed app, and "works" on its own when the component isn't installed. The component—brought in from outside the MAS, maybe through e.g. Homebrew—just makes extra magic happen.
I'm unsure why more MAS apps aren't designed like this, honestly. It's perfectly sensible for Development apps, at the very least; we all install Homebrew anyway.
A lot of apps violate the MAS limitations in ways people don't realise. There are people in this thread claiming that VLC would fit within the MAS model even though it can't (at least not without ditching a lot of features).
Even if an app fits inside the limitations today, it may not in the future, and migrating away from the MAS is a huge hassle. It's also possible for the limitations to change so apps that are allowed now may not be in the future meaning those apps can't be updated at all, which is something that has already happened.
[0] https://news.ycombinator.com/item?id=7039737
[1] as far as I know torrent apps are banned from the store
[2] http://blog.sketchapp.com/post/134322691555/leaving-the-mac-...