Labs · produk utuh
Web dan aplikasi dari satu inti. Satu bangunan, satu standar.
Situs yang dibaca klien Anda dan aplikasi yang dibawa orang-orang Anda bukanlah dua proyek — keduanya adalah dua wajah dari satu sistem. Kami membangunnya di atas satu inti yang terukur, sehingga keduanya tidak pernah menyimpang, dan satu tangan bertanggung jawab atas keseluruhannya.
Situs dan aplikasi membaca kebenaran yang sama. Ubah sekali, dan keduanya bergerak bersama.
Empat angka dari platform yang dibangun sebagai satu kesatuan.
Empat bagian yang sama yang membuat semua ini nyata. Bacalah berurutan: kebenarannya, dua wajah
yang mematuhinya, dan gerbang yang tidak membiarkan keduanya dirilis dalam keadaan lambat.
Kode tetap dalam bahasa Inggris — bahasa universal dunia rekayasa.
// MatchTop · the core — one definition both surfaces obey. // Written once. The portal and the field app read the same truth — they cannot drift. type Case = { id: Uuid, status: "open" | "review" | "closed", locale: Locale, // one language list, honoured by both surfaces updated: Instant, // stamped at the edge — one clock for web and app } service Portal { get case(id) -> Case list cases(for: Holder) -> Case[] }
<!-- the web surface · server-rendered at the edge, zero JS to read a case --> <article class="case" lang="{{ case.locale }}"> <h1>{{ t("case.title", case.id) }}</h1> <p class="status status--{{ case.status }}">{{ t("status." + case.status) }}</p> <time datetime="{{ case.updated }}">{{ t.date(case.updated) }}</time> </article> // same Case. same locale list. no bundle to boot before the page can be read.
// the app surface · the same contract, compiled. A wrong field will not build. #[derive(Deserialize)] struct Case { id: Uuid, status: Status, // an enum, not a loose string — the compiler holds the line locale: Locale, updated: Instant, } impl Case { /// Works offline: the last truth we fetched is still the same shape. fn is_open(&self) -> bool { matches!(self.status, Status::Open | Status::Review) } }
"""MatchTop · the gate — one standard over both surfaces. Standard library only. It runs in your pipeline, and it can say no to either face.""" import sys BUDGET = {"first_paint_ms": 100, "js_kb": 0, "a11y": "AA"} # promised, so measured def gate(surface: str, got: dict) -> None: fails = [k for k, limit in BUDGET.items() if _worse(got[k], limit)] # every promise is a test if fails: print(f"HELD · {surface} · " + ", ".join(fails)) sys.exit(1) # neither the site nor the app ships below the line print(f"GREEN · {surface} · measured, and worthy of your name on it")
Mengapa satu rumah untuk keseluruhannya mengalahkan dua vendor yang dijahit pada sambungan.
Ini bukan potongan harga karena membeli dua hal sekaligus. Ini adalah bentuk yang berbeda: satu sistem dengan dua wajah, bukan dua sistem yang disatukan dengan lakban. Penyedia yang menjual situsnya dan menyubkontrakkan aplikasinya tidak mungkin menyerahkan satu inti kepada Anda — mereka tidak memilikinya. Itulah bagian yang tidak dapat dikalahkan dengan penawaran harga.
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.
Produk utuh, dalam dua baris. Kami sendiri yang membacanya dan kami sendiri yang menjawab — tidak ada antrean di belakang jendela ini.
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.
·