Directories
¶
| Path | Synopsis |
|---|---|
|
Package api calls a JSON server — a Nimbus app — with typed endpoints.
|
Package api calls a JSON server — a Nimbus app — with typed endpoints. |
|
Package bridge is the Go side of the Nimbus Native C ABI (include/nn.h).
|
Package bridge is the Go side of the Nimbus Native C ABI (include/nn.h). |
|
internal/abitest/app
command
The Go side of the ABI test: host.c drives it through nn.h exactly as an iOS or Android host would.
|
The Go side of the ABI test: host.c drives it through nn.h exactly as an iOS or Android host would. |
|
cmd
|
|
|
nimbus-native
command
Command nimbus-native is the Nimbus Native toolchain behind `nimbus native`: the nimbus CLI runs the version of this command that an app depends on, so users never call it directly.
|
Command nimbus-native is the Nimbus Native toolchain behind `nimbus native`: the nimbus CLI runs the version of this command that an app depends on, so users never call it directly. |
|
dev
|
|
|
client
Package client is the Go side of a dev shell: built into the app on the device instead of the app's own Go code, it forwards bridge traffic to the relay in `nimbus native dev`, where the app runs on the laptop.
|
Package client is the Go side of a dev shell: built into the app on the device instead of the app's own Go code, it forwards bridge traffic to the relay in `nimbus native dev`, where the app runs on the laptop. |
|
frame
Package frame is the dev-mode wire between the device proxy, the relay in `nimbus native dev` and the app process on the laptop: typed, length-prefixed frames over TCP.
|
Package frame is the dev-mode wire between the device proxy, the relay in `nimbus native dev` and the app process on the laptop: typed, length-prefixed frames over TCP. |
|
examples
|
|
|
baseline
command
baseline is the gallery's order list built with plain Android views and no Go UI, to tell emulator limits apart from renderer costs.
|
baseline is the gallery's order list built with plain Android views and no Go UI, to tell emulator limits apart from renderer costs. |
|
gallery
command
gallery shows the Phase 0d engine: components, state, every primitive, and a 1,000-row list, all rendered as native views.
|
gallery shows the Phase 0d engine: components, state, every primitive, and a 1,000-row list, all rendered as native views. |
|
guide
Package guide holds the complete example on each plugin's guide page, compiled here so that they can't go stale.
|
Package guide holds the complete example on each plugin's guide page, compiled here so that they can't go stale. |
|
guide/components
Package components holds the complete example on each component's guide page, compiled here so that they can't go stale.
|
Package components holds the complete example on each component's guide page, compiled here so that they can't go stale. |
|
hello
command
hello is the bridge and wire check app.
|
hello is the bridge and wire check app. |
|
hello/proto
Package proto is the hello app's wire schema: every message between its Go code and its iOS / Android hosts.
|
Package proto is the hello app's wire schema: every message between its Go code and its iOS / Android hosts. |
|
showcase
command
showcase is every component on a screen of its own, the source of the guide's pictures: the app of a small cafe.
|
showcase is every component on a screen of its own, the source of the guide's pictures: the app of a small cafe. |
|
Package layout is Nimbus Native's flexbox engine, in pure Go so the same layout runs on iOS, Android and (later) the web.
|
Package layout is Nimbus Native's flexbox engine, in pure Go so the same layout runs on iOS, Android and (later) the web. |
|
Package plugin calls native code: a method of a plugin registered in the iOS or Android host, written in Swift or Kotlin.
|
Package plugin calls native code: a method of a plugin registered in the iOS or Android host, written in Swift or Kotlin. |
|
plugins
|
|
|
appinfo
Package appinfo describes the running app and device, and where the app may keep files.
|
Package appinfo describes the running app and device, and where the app may keep files. |
|
applemaps
Package applemaps shows Apple Maps inside your screen, on iOS.
|
Package applemaps shows Apple Maps inside your screen, on iOS. |
|
appreview
Package appreview asks for a rating with the system's own prompt.
|
Package appreview asks for a rating with the system's own prompt. |
|
appstate
Package appstate says when the app goes to the background or comes back: to pause something, or refresh what's on screen.
|
Package appstate says when the app goes to the background or comes back: to pause something, or refresh what's on screen. |
|
audio
Package audio is the phone's microphone and speaker: one spoken turn at a time, for talking to an assistant.
|
Package audio is the phone's microphone and speaker: one spoken turn at a time, for talking to an assistant. |
|
audioplayer
Package audioplayer plays audio from a URL or from bytes, with pause, seek, volume, speed and looping.
|
Package audioplayer plays audio from a URL or from bytes, with pause, seek, volume, speed and looping. |
|
audiorecorder
Package audiorecorder records from the microphone to an AAC file, for a voice memo, say.
|
Package audiorecorder records from the microphone to an AAC file, for a voice memo, say. |
|
backgroundlocation
Package backgroundlocation keeps following the phone after the person leaves your app: a delivery, a run, a trip.
|
Package backgroundlocation keeps following the phone after the person leaves your app: a delivery, a run, a trip. |
|
backgroundtasks
Package backgroundtasks runs Go now and then, with the app closed.
|
Package backgroundtasks runs Go now and then, with the app closed. |
|
badge
Package badge sets the number on the app's icon.
|
Package badge sets the number on the app's icon. |
|
barcode
Package barcode scans QR codes and barcodes with the camera, on a screen of its own.
|
Package barcode scans QR codes and barcodes with the camera, on a screen of its own. |
|
barometer
Package barometer reads the air pressure, and how far the phone has climbed.
|
Package barometer reads the air pressure, and how far the phone has climbed. |
|
biometrics
Package biometrics confirms it's really them, with Face ID, Touch ID or a fingerprint.
|
Package biometrics confirms it's really them, with Face ID, Touch ID or a fingerprint. |
|
bluetooth
Package bluetooth talks to Bluetooth LE devices: scales, printers, beacons and the like.
|
Package bluetooth talks to Bluetooth LE devices: scales, printers, beacons and the like. |
|
brightness
Package brightness reads and sets how bright the screen is: up for a boarding pass or a QR code, down for reading in bed.
|
Package brightness reads and sets how bright the screen is: up for a boarding pass or a QR code, down for reading in bed. |
|
browser
Package browser opens a web page inside the app, with the system browser's cookies and sign-ins, and a button back.
|
Package browser opens a web page inside the app, with the system browser's cookies and sign-ins, and a button back. |
|
calendar
Package calendar adds an event with the system's own screen, so people see it and choose the calendar before it's saved.
|
Package calendar adds an event with the system's own screen, so people see it and choose the calendar before it's saved. |
|
calendarevents
Package calendarevents reads and writes the phone's calendars directly.
|
Package calendarevents reads and writes the phone's calendars directly. |
|
camera
Package camera takes a photo, or picks one from the library, using the system's own screens.
|
Package camera takes a photo, or picks one from the library, using the system's own screens. |
|
cameraview
Package cameraview puts a live camera inside your screen, with your own buttons over it.
|
Package cameraview puts a live camera inside your screen, with your own buttons over it. |
|
cellular
Package cellular describes the phone's mobile network.
|
Package cellular describes the phone's mobile network. |
|
clipboard
Package clipboard copies and pastes text.
|
Package clipboard copies and pastes text. |
|
contacts
Package contacts reads and changes the phone's contacts.
|
Package contacts reads and changes the phone's contacts. |
|
device
Package device describes the phone the app is running on.
|
Package device describes the phone the app is running on. |
|
dialog
Package dialog shows the platform's own dialogs: alerts, confirmations, action sheets, short toasts, and date and time pickers.
|
Package dialog shows the platform's own dialogs: alerts, confirmations, action sheets, short toasts, and date and time pickers. |
|
filepicker
Package filepicker lets someone choose a file with the system's picker.
|
Package filepicker lets someone choose a file with the system's picker. |
|
filesystem
Package filesystem keeps files for the app.
|
Package filesystem keeps files for the app. |
|
geofencing
Package geofencing notices when the phone enters or leaves a place, even while the app is in the background.
|
Package geofencing notices when the phone enters or leaves a place, even while the app is in the background. |
|
geolocation
Package geolocation says where the phone is.
|
Package geolocation says where the phone is. |
|
googlemaps
Package googlemaps shows Google Maps inside your screen.
|
Package googlemaps shows Google Maps inside your screen. |
|
haptics
Package haptics plays the phone's taps and buzzes: the system's own feedback (Impact, Notify, Selection) and patterns of your own (Play) — Core Haptics on iOS, the vibrator's effects on Android.
|
Package haptics plays the phone's taps and buzzes: the system's own feedback (Impact, Notify, Selection) and patterns of your own (Play) — Core Haptics on iOS, the vibrator's effects on Android. |
|
hinge
Package hinge tells a screen about a foldable phone's fold: where it runs, and whether the phone is half open, like a laptop or a tent, so a layout can keep things off the crease.
|
Package hinge tells a screen about a foldable phone's fold: where it runs, and whether the phone is half open, like a laptop or a tent, so a layout can keep things off the crease. |
|
imagemanipulator
Package imagemanipulator resizes, crops, rotates and flips pictures, and encodes them again.
|
Package imagemanipulator resizes, crops, rotates and flips pictures, and encodes them again. |
|
intentlauncher
Package intentlauncher starts other screens on Android: its settings pages, and other apps' activities.
|
Package intentlauncher starts other screens on Android: its settings pages, and other apps' activities. |
|
keepawake
Package keepawake keeps the screen on, for a till, a recipe or a map.
|
Package keepawake keeps the screen on, for a till, a recipe or a map. |
|
keyboard
Package keyboard puts the on-screen keyboard away.
|
Package keyboard puts the on-screen keyboard away. |
|
lightsensor
Package lightsensor reads how bright it is around the phone.
|
Package lightsensor reads how bright it is around the phone. |
|
linking
Package linking opens URLs in other apps: https in the browser, tel:, mailto:, maps and app links in their apps.
|
Package linking opens URLs in other apps: https in the browser, tel:, mailto:, maps and app links in their apps. |
|
livephoto
Package livephoto picks Live Photos and plays them inside your screen, on iOS.
|
Package livephoto picks Live Photos and plays them inside your screen, on iOS. |
|
localization
Package localization says how the person likes things shown: their languages, region, currency, and date and number formats.
|
Package localization says how the person likes things shown: their languages, region, currency, and date and number formats. |
|
localnotifications
Package localnotifications shows reminders the app schedules on the phone itself, with no server.
|
Package localnotifications shows reminders the app schedules on the phone itself, with no server. |
|
magnetometer
Package magnetometer reads the magnetic field around the phone: for a metal detector, say, or a compass of your own.
|
Package magnetometer reads the magnetic field around the phone: for a metal detector, say, or a compass of your own. |
|
mailcomposer
Package mailcomposer opens the system's screen for writing an email, filled in, for them to check and send.
|
Package mailcomposer opens the system's screen for writing an email, filled in, for them to check and send. |
|
medialibrary
Package medialibrary saves to and reads from the phone's photos.
|
Package medialibrary saves to and reads from the phone's photos. |
|
meshgradient
Package meshgradient fills a view with a mesh gradient: a grid of points, each with a color, blended smoothly between them.
|
Package meshgradient fills a view with a mesh gradient: a grid of points, each with a color, blended smoothly between them. |
|
motion
Package motion reads the accelerometer and gyroscope.
|
Package motion reads the accelerometer and gyroscope. |
|
navigationbar
Package navigationbar sets the look of the bar at the bottom of an Android phone, or hides it.
|
Package navigationbar sets the look of the bar at the bottom of an Android phone, or hides it. |
|
network
Package network says whether the phone is online, and how.
|
Package network says whether the phone is online, and how. |
|
nfc
Package nfc reads NFC tags.
|
Package nfc reads NFC tags. |
|
oauth
Package oauth signs them in with any OAuth 2 provider: GitHub, Microsoft, Slack, your own.
|
Package oauth signs them in with any OAuth 2 provider: GitHub, Microsoft, Slack, your own. |
|
orientation
Package orientation locks the screen to portrait or landscape.
|
Package orientation locks the screen to portrait or landscape. |
|
pedometer
Package pedometer counts steps.
|
Package pedometer counts steps. |
|
printing
Package printing prints HTML or a PDF with the system's print dialog.
|
Package printing prints HTML or a PDF with the system's print dialog. |
|
purchases
Package purchases sells products and subscriptions through the App Store and Google Play.
|
Package purchases sells products and subscriptions through the App Store and Google Play. |
|
push
Package push receives notifications from your server: APNs on iOS, and Firebase Cloud Messaging on Android.
|
Package push receives notifications from your server: APNs on iOS, and Firebase Cloud Messaging on Android. |
|
receiveshare
Package receiveshare puts your app in the share sheet, so people can send it text, links, pictures and files from other apps.
|
Package receiveshare puts your app in the share sheet, so people can send it text, links, pictures and files from other apps. |
|
scene
Package scene shows 3D inside your screen.
|
Package scene shows 3D inside your screen. |
|
screencapture
Package screencapture keeps a screen out of screenshots and recordings: for a card number, say, or a one-time code.
|
Package screencapture keeps a screen out of screenshots and recordings: for a card number, say, or a one-time code. |
|
screenreader
Package screenreader works with VoiceOver and TalkBack: whether one is on, and saying something that changed on its own.
|
Package screenreader works with VoiceOver and TalkBack: whether one is on, and saying something that changed on its own. |
|
securestore
Package securestore keeps small secrets, such as auth tokens, in the platform's secure storage: the Keychain on iOS, an Android Keystore key on Android.
|
Package securestore keeps small secrets, such as auth tokens, in the platform's secure storage: the Keychain on iOS, an Android Keystore key on Android. |
|
share
Package share opens the system's share sheet.
|
Package share opens the system's share sheet. |
|
signin
Package signin signs them in with Apple or Google, using the phone's own sheet.
|
Package signin signs them in with Apple or Google, using the phone's own sheet. |
|
sms
Package sms opens the system's screen for writing a text message, filled in, for them to check and send.
|
Package sms opens the system's screen for writing a text message, filled in, for them to check and send. |
|
speech
Package speech reads text aloud with the phone's own voices.
|
Package speech reads text aloud with the phone's own voices. |
|
speechrecognition
Package speechrecognition turns speech into text, with the phone's own recognizer.
|
Package speechrecognition turns speech into text, with the phone's own recognizer. |
|
splashscreen
Package splashscreen keeps the launch screen's color up until your first screen has what it needs, so the app doesn't flash empty.
|
Package splashscreen keeps the launch screen's color up until your first screen has what it needs, so the app doesn't flash empty. |
|
splitview
Package splitview shows a list beside what's open from it when there's room, as on a tablet, and one at a time on a phone: picking from the list pushes the detail onto the screen's Stack.
|
Package splitview shows a list beside what's open from it when there's room, as on a tablet, and one at a time on a phone: picking from the list pushes the detail onto the screen's Stack. |
|
sqlite
Package sqlite is a SQLite database on the phone, through Go's own database/sql.
|
Package sqlite is a SQLite database on the phone, through Go's own database/sql. |
|
statusbar
Package statusbar sets the look of the status bar, the strip with the clock.
|
Package statusbar sets the look of the status bar, the strip with the clock. |
|
storage
Package storage is a small key-value store for app data that should survive restarts: settings, drafts, the last-seen screen.
|
Package storage is a small key-value store for app data that should survive restarts: settings, drafts, the last-seen screen. |
|
symbols
Package symbols draws the platforms' own icon sets: SF Symbols on iOS, and Google's Material Symbols on Android.
|
Package symbols draws the platforms' own icon sets: SF Symbols on iOS, and Google's Material Symbols on Android. |
|
trackingconsent
Package trackingconsent asks before the app tracks them across other apps and websites, as the App Store requires.
|
Package trackingconsent asks before the app tracks them across other apps and websites, as the App Store requires. |
|
video
Package video plays video inside your screen, from a URL, with the system's own player.
|
Package video plays video inside your screen, from a URL, with the system's own player. |
|
webview
Package webview embeds a web page in your screen.
|
Package webview embeds a web page in your screen. |
|
Package router maps URL paths to screens.
|
Package router maps URL paths to screens. |
|
Package toolchain builds Nimbus Native apps for iOS and Android.
|
Package toolchain builds Nimbus Native apps for iOS and Android. |
|
tools
|
|
|
docref
command
Command docref writes the API reference of the guide's plugin pages from the plugins themselves: their Go source and plugin.json.
|
Command docref writes the API reference of the guide's plugin pages from the plugins themselves: their Go source and plugin.json. |
|
Package ui is Nimbus Native's component layer: apps describe their screens as Go components, and the runtime keeps real native views (UIKit, Android Views) in step with them.
|
Package ui is Nimbus Native's component layer: apps describe their screens as Go components, and the runtime keeps real native views (UIKit, Android Views) in step with them. |
|
render
Package render is the wire protocol between the ui runtime (Go) and a host's native renderer.
|
Package render is the wire protocol between the ui runtime (Go) and a host's native renderer. |
|
Package web serves a Nimbus Native app's pages to browsers: the same components the phone apps run, rendered on the server.
|
Package web serves a Nimbus Native app's pages to browsers: the same components the phone apps run, rendered on the server. |
|
Package wire is the runtime for the Nimbus Native wire format: the binary encoding every message between Go and a host uses.
|
Package wire is the runtime for the Nimbus Native wire format: the binary encoding every message between Go and a host uses. |
|
gen
Package gen turns a wire schema into code: Go (methods on the schema's own types), Swift (NimbusNativeKit hosts) and Kotlin (Android hosts).
|
Package gen turns a wire schema into code: Go (methods on the schema's own types), Swift (NimbusNativeKit hosts) and Kotlin (Android hosts). |
|
internal/kitchen
Package kitchen is a wire schema that uses every feature the generators support.
|
Package kitchen is a wire schema that uses every feature the generators support. |
|
schema
Package schema reads a wire schema: a Go package of plain types marked with //wire: directives.
|
Package schema reads a wire schema: a Go package of plain types marked with //wire: directives. |
Click to show internal directories.
Click to hide internal directories.