Hacker News new | ask | show | jobs
by martin-adams 2672 days ago
The app is really slick. I'm surprised they were allowed to have their own window manager as Apple were very against that in the past. But I really like it. It actually is a nice take on a desktop environment on a tablet.

I'm curious it being Node.js. It can run my js file on flight mode so isn't using a remote execution. But I didn't believe you could run node.js on an iPad due to the Apple restrictions (hopefully I'm wrong).

That said, the whole ecosystem of Node.js is about bringing in modules. I can't see any mention of how to do that.

4 comments

> they were allowed to have their own window manager as Apple were very against that in the past.

How is it a window manager when it's just an app with whatever screens it appropriate to display?

It's no more a window manager than sketchbooks in drawing apps.

It's because they've recreated the internal menus, window snapping, ability to overlay windows and has a desktop. It looks like an OS. Apple were against this in the past because it doesn't align with their OS way of doing things. I never liked the rule so I'm excited to see that it looks like they've relaxed it in recent years.
I don’t think they’ve ever had a policy about whether apps could / couldn’t re-create their own menus or windows.
I finally found it. It's the "create an alternate desktop environment" part that I would say this falls under. Mostly because you have a desktop and they've created a new windowing environment that isn't native to iOS.

>> 2.5.8 Apps that create alternate desktop/home screen environments or simulate multi-app widget experiences will be rejected.

https://developer.apple.com/app-store/review/guidelines/

Got it. Yeah I see what you mean. This rule is more about them wanting to maintain control over distribution than it is about having a custom desktop / windowing metaphor. They don’t want people to create a platform within their platform where a third-party is distributing app-like things in an end-run around the iOS App Store.
RE: Node modules. For now, it requires some prep with a laptop. You can use browserify --bare to squash all the dependencies into a file as they do here playdotjs://28816c75
NCC is a good tool for this too https://github.com/zeit/ncc
Regarding modules support check the app Community.
Node should be the easiest to conform to Apple’s policies. It is using the native JavaScript engine.
Node and a native JavaScript engine aren't the same thing, unless the native JavaScript engine on iOS is Node.
Which it's not. iOS uses JavaScriptCore https://developer.apple.com/documentation/javascriptcore
Node isn't even a JavaScript engine.