Some people have been clamouring for a way to run iOS apps on an Mac for a long time, and now here it is.

When Marzipan was first announced, Apple was very careful to temper people's expectations. Marzipan is not about some grand new cross-platform development framework. It's not about merging Mac and iOS. It's about allowing iOS developers to port certain iOS apps to the Mac with as little friction as possible.

And in that sense it's a complete success. Many 3rd-party apps can already run inside of Marzipan with little or no code changes. That's a huge win.

There are some very obvious downsides. Most iOS apps are a poor fit on the desktop and won't conform to the expected Mac desktop expectations. I suppose Apple could have gone the Windows 8 route and put these iOS apps in a completely separate environment, but we all know how that turned out on Windows. At least these apps attempt to mesh with the regular desktop environment.

Another downside is that it's a hack. These are pure iOS apps running inside of an iOS simulator designed to look like a Mac app. These apps have no access to the world outside of iOS.

If you're looking to make a great modern Mac app, Marzipan isn't for you. If you're looking for an easier way to share UI code between your AppKit and UIKit apps, Marzipan has nothing for you. If you have a relatively simple iOS app that you think might be useful on a Mac, Marzipan is exactly what you've been waiting for.

If you want a peek into what a grand new cross-platform development framework might be, take a look at the JetEngine.framework embedded in the Mac App Store app. It appears to be a separate UI framework that is neither AppKit nor UIKit, but can run on top of either. However, it's full of App Store-specific UI components and I would expect that it was developed only for internal use at Apple.

App Store is an awful app experience, just like iTunes, because they both feel like they're just rendering XML that comes down from a server instead of being a real UI implementation. Everything's slow and laggy under the best of internet connectivity circumstances, and once you leave the beaten path it's just excruciating.

Parent specifically talks about the new App Store and it's new engine.

Also, the App Store is a client for remote data (what's on the store). What should one expect to see when there's no connectivity? A local cache of all app data? That could be feasible, but also not very useful (you still can't buy or download) and might be misleading (e.g. an update might have been added or taken down etc).

>What should one expect to see when there's no connectivity?

It's not that there's no connectivity. Whatever they're using for metadata is extremely slow. As though all requests need to go to California or something.

> A local cache of all app data?

Yes. This is how Linux package managers all work; metadata is cached locally so search (and dependency analysis - not needed in AppStore) performs well.

It's worth noting that most linux package managers are CLI and their GUI tools suck. It's hard to make a good GUI and App Store is no outlier in that regard. Unfortunate that there's no CLI alternative.

Not from Apple, but there's mas: https://github.com/mas-cli/mas