Prism ships with a lot of built-in APIs, with the aim of providing enough functionality to allow you to build high quality apps without much of your own code.

The built-in APIs that ship with Prism are inspired by NodeJS and the Browser, but aren’t strictly compatible. For example, synchronous APIs that you may be used to using in the Browser and NodeJS don’t exist, and are replaced with asynchronous counterparts.

You’ll also notice that access to sensitive areas of a device (filesystem, device metrics, personal data) are unavailable or only available via user interaction. This mirrors the native environments Prism targets, where your app is always sandboxed and heavily restricted.

A good way to think about Prism is that it’s not NodeJS, i.e. a systems programming environment, as that doesn’t make sense for a mobile app. It’s also not a Browser, as you generally have a lot less restrictions outside of a Browser-based environment. As such, it’s worth exploring the API documentation available to see what you’re able to do with Prism.