Blog
Berita, tutorial, dan analisis mendalam tentang membangun aplikasi native dengan Perry.
Auto-Update, Inspector Live, dan Compiler yang Memotong Dirinya Sendiri
Perry v0.5.306 → v0.5.359 dalam empat hari — 53 patch release, ~30 issue ditutup, dan tiga hal besar mendarat: perry/updater untuk auto-update desktop, inspector live di localhost:7676, dan refactor compiler yang menyusutkan empat file terbesar sebesar 33–91%.
GC Generasional, Lazy JSON, dan Benchmark yang Tahan Pemeriksaan
Perry v0.5.174 → v0.5.306 dalam tiga hari, plus pekerjaan GC dan JSON yang mendarat bersamanya. GC generasional kini default. Small String Optimization kini default. Pipeline JSON mendapatkan lazy tape yang mendarat di median 75 ms pada validate-and-roundtrip — terbaik di kelompok dynamic typing. Halaman benchmark ditulis ulang dengan median RUNS=11 + p95 + σ, simdjson dan AssemblyScript+json-as ditambahkan sebagai peer, dan setiap kelemahan Perry diungkap secara jujur.
Distribusi npm, perry dev, dan Memenangkan Setiap Benchmark
Perry v0.5.80 → v0.5.174 dalam enam hari. @perryts/perry dirilis di npm untuk ketujuh platform yang didukung. perry dev menambahkan auto-recompile mode watch di atas cache AST in-memory dan cache objek per-modul di-disk. json_roundtrip menutup celah terakhirnya — Perry sekarang memenangkan setiap benchmark melawan Node.js dan Bun.
Mengoptimalkan Semuanya: Satu Minggu, 68 Rilis, dan Percepatan JSON 547x
Perry v0.5.13 → v0.5.80 dalam tujuh hari. JSON.parse menutup jarak 547x dengan Node. mimalloc hadir sebagai allocator global. Inline cache, transisi shape, slot Buffer bertipe, operasi bitwise i32-native, scalar replacement, dan event loop native yang menjaga server Fastify dan WebSocket tetap hidup.
Dari Cranelift ke LLVM: Bagaimana Perry Menjadi 24x Lebih Cepat
Migrasi backend Perry dari Cranelift ke LLVM telah selesai. Peralihan awal membuat benchmark 70x lebih lambat — kemudian enam optimasi terarah membawa Perry meraih 14/15 kemenangan melawan Node.js, dengan percepatan hingga 24,6x.
tvOS, Kompilasi Silang iOS dari Linux, dan Perry Login
Perry v0.4.24: tvOS sebagai target kompilasi ke-10, kompilasi silang iOS dan macOS dari Linux via ld64.lld, perry login dengan penagihan berbasis penggunaan, perombakan UI Windows, notarisasi macOS, dan 120 commit dalam 5 hari.
Multi-Threading Sejati, i18n Waktu Kompilasi, dan watchOS
Perry v0.4.0: thread OS nyata dengan keamanan waktu kompilasi, sistem internasionalisasi tanpa ribet untuk 30+ bahasa, watchOS sebagai target kompilasi ke-9, API audio dan kamera, dan pipeline kompiler paralel.
Kompilasi Silang ke Windows, Game Loop iOS, dan 100% Paritas Pengujian
103 commit dalam satu minggu: kompilasi silang ke Windows dari Linux via lld-link, dukungan game loop iOS, pelaporan crash, pipeline build Hub dua tahap, dan kompiler self-hosting mencapai paritas pengujian deterministik 68/68.
Pipeline Lengkap: Dokumentasi, Distribusi, dan WidgetKit
82 commit dalam satu minggu: situs dokumentasi 49 halaman, publikasi otomatis ke App Store dan Play Store, paket Homebrew dan APT, ekstensi WidgetKit native dari TypeScript, widget baru, modul http/https, dan kompiler LLVM self-hosting.
Dari Kompiler ke Ekosistem: React, Database, dan Cloud Build
Perry berkembang dari kompiler menjadi ekosistem lengkap. perry/ui sebagai inti, ORM kompatibel Prisma untuk MySQL/PostgreSQL/SQLite, push notification universal, build terdistribusi dengan publikasi App Store, dan lapisan kompatibilitas React — semuanya dalam satu minggu.
Enam Platform Sekaligus, Paritas Fitur Penuh
20+ widget UI native, widget Canvas, Table view, notifikasi sistem, akses keychain, dukungan multi-window, dan paritas fitur penuh di macOS, iOS, iPadOS, Android, Linux, dan Windows — semuanya dari satu kode sumber TypeScript.
Sistem Plugin Adalah Pajak Performa
Arsitektur plugin menukar performa demi ekstensibilitas. Tapi bagaimana jika ekstensibilitas terjadi saat kompilasi bukan saat runtime? Komposisi waktu kompilasi memberikan keduanya — nol overhead, fleksibilitas penuh.
Mengompilasi Hono, tRPC, dan Strapi ke Binary Native
Perry kini mengompilasi tiga framework TypeScript utama — Hono, tRPC, dan Strapi — menjadi executable ARM64 native. Dikompilasi dalam waktu kurang dari satu detik, menghasilkan binary di bawah 2 MB, dan berjalan tanpa crash.
Membangun Pry: Penampil JSON Native dalam TypeScript
Panduan langkah demi langkah membangun Pry — penampil JSON native yang dikompilasi dari TypeScript ke binary ARM64 native. Tanpa runtime, tanpa web view.
UI Native Lintas Platform dari TypeScript
Bagaimana Perry memetakan satu kode sumber TypeScript ke AppKit, UIKit, Android Views, GTK4, dan Win32 — menghadirkan UI yang benar-benar native di setiap platform.
Memperkenalkan Perry
Perry adalah kompiler TypeScript native yang ditulis dalam Rust yang mengompilasi TypeScript Anda langsung menjadi executable standalone. Tanpa runtime, tanpa Electron, tanpa kompromi.