Labs · permukaan aplikasi
Aplikasi yang dibangun sesuai ukuran, dan untuk dimiliki.
Bukan produk yang dibentuk ulang untuk Anda — melainkan yang dibangun untuk lapangan tempat ia dijalankan: pendidikan, industri, atau sektor apa pun yang Anda bawa. Inti Rust yang berjalan tanpa satu batang sinyal pun, native di setiap layar, dan rancangan yang menjaga data Anda tetap milik Anda.
Bukan templat dengan warna Anda. Perangkat lunak yang dibentuk sesuai pekerjaan yang sebenarnya dituju.
Ruang kelas, lini pabrik, kru lapangan — aplikasinya ditulis sesuai bagaimana pekerjaan itu benar-benar berlangsung, bukan untuk sebuah demo. Sektornya yang membentuk aplikasinya, bukan sebaliknya.
Ruang bawah tanah, lokasi terpencil, titik tanpa sinyal — pekerjaannya tidak berhenti. Perangkatnya menyimpan kebenarannya, dan merekonsiliasikannya dengan edge begitu sinyalnya kembali.
Tidak ada akun yang tak bisa Anda tinggalkan, tidak ada data yang disandera. Intinya milik Anda, catatannya milik Anda, dan insinyur yang membangunnya adalah orang yang menjawab.
Empat angka dari aplikasi yang dibangun untuk bertahan.
Keahlian membangun aplikasi yang serius terletak pada inti yang dijaga kompiler, yang terus bekerja
tanpa sinyal, dan yang berjalan di setiap lapangan dari satu sumber kebenaran.
Kode tetap dalam bahasa Inggris — bahasa universal dunia rekayasa.
// the core of the app · typed, so a wrong state cannot be reached #[derive(Clone, Deserialize)] struct Job { id: Uuid, site: SiteId, state: State, // Scheduled → OnSite → Done — nothing else is legal readings: Vec<Reading>, synced: bool, // the device knows what the edge has not yet seen } impl Job { /// A job closes only once every required reading is in. fn can_close(&self) -> bool { matches!(self.state, State::OnSite) && self.readings.iter().all(Reading::valid) } }
// works at zero bars · the floor does not wait for a signal fn record(&mut self, r: Reading) { self.readings.push(r.clone()); self.queue.push(Op::Add(r)); // kept on the device, durable self.synced = false; } /// When the signal returns, the device reconciles — in order, idempotent. async fn reconcile(&mut self, edge: &Edge) -> Result<()> { for op in self.queue.drain(..) { edge.apply(op).await?; // the edge is the record; the device, the witness } self.synced = true; Ok(()) }
# one core, every floor it must run on [targets] ios = "aarch64-apple-ios" # a thin Swift shell over the Rust core android = "aarch64-linux-android" # a thin Kotlin shell over the same core desktop = "x86_64 · aarch64" # Windows · macOS · Linux # the logic is written once, in Rust. only the shell changes per floor. # Swift and Kotlin carry the screen; Rust carries the truth.
Mengapa aplikasi yang dibangun untuk lapangan Anda mengalahkan produk yang dibentuk ulang agar pas.
Produk yang dibentuk ulang tidak mungkin dibuat untuk lapangan Anda — ia dibuat sebelum lapangan Anda dikenali. Aplikasi yang hanya hidup daring tidak mungkin diandalkan di tempat sinyalnya mati — penantian sudah tertanam di dalamnya. Itulah sebabnya kami menulis satu inti Rust, menjaganya dengan kompiler, dan menandatanganinya sendiri — dan sebabnya kami menawarkan harga atas apa yang kami ukur, bukan harga rak.
Sebelum satu baris pun ditulis, inilah cara pekerjaan Anda kami jaga. Bagian ini tidak dapat dinegosiasikan.
NDA di sini berlaku sebagai standar, bukan layanan tambahan. Apa yang Anda sampaikan dibaca oleh satu insinyur dan tidak oleh siapa pun yang lain — tidak ada yang dijual, dibagikan, atau diteruskan.
Kredensial dan catatan tetap berada di rumah Anda, dengan hak akses seminimal mungkin. Kami tidak menyimpan salinan yang tidak kami perlukan, dan tidak ada yang keluar dari jangkauan Anda tanpa izin Anda.
Apa yang berjalan di rumah Anda dapat Anda baca dan audit — tidak ada kotak hitam yang harus Anda percayai tanpa melihatnya. Ruang mesin tetap milik kami; apa yang Anda jalankan adalah milik Anda.
Dua baris — lapangan tempat ia dijalankan, dan pekerjaan yang harus ia pikul. Kami sendiri yang membacanya dan kami sendiri yang menjawab.
Pesan Anda sudah tampil di sebuah layar di Zürich — bukan dalam antrean, bukan dalam tiket. Insinyur yang akan membangunnya sendirilah yang membacanya, dan ia sendiri yang membalas.
·