บล็อก
ข่าว บทเรียน และการวิเคราะห์เชิงลึกเกี่ยวกับการสร้างแอปเนทีฟด้วย Perry
ปรับแต่งทุกอย่าง: หนึ่งสัปดาห์, 68 รุ่น, และ JSON เร็วขึ้น 547 เท่า
Perry v0.5.13 → v0.5.80 ภายในเจ็ดวัน JSON.parse ปิดช่องว่าง 547 เท่ากับ Node mimalloc มาเป็น allocator หลัก มี inline cache, shape transition, typed Buffer slot, i32-native bitwise ops, scalar replacement และ native event loop ที่ทำให้เซิร์ฟเวอร์ Fastify และ WebSocket ทำงานต่อเนื่อง
จาก Cranelift สู่ LLVM: Perry เร็วขึ้น 24 เท่าได้อย่างไร
การย้าย backend ของ Perry จาก Cranelift ไปยัง LLVM เสร็จสมบูรณ์แล้ว การเปลี่ยนครั้งแรกทำให้เบนช์มาร์กช้าลง 70 เท่า — จากนั้นการปรับแต่ง 6 รายการทำให้ Perry ชนะ Node.js 14/15 รายการ โดยเร็วกว่าสูงสุด 24.6 เท่า
tvOS, คอมไพล์ข้าม iOS จาก Linux และ Perry Login
Perry v0.4.24: tvOS เป็นเป้าหมายการคอมไพล์ลำดับที่ 10, คอมไพล์ข้าม iOS และ macOS จาก Linux ผ่าน ld64.lld, perry login พร้อมการเรียกเก็บเงินตามการใช้งาน, ปรับปรุง UI บน Windows, การรับรอง macOS และ 120 commit ใน 5 วัน
Multi-Threading แท้จริง, i18n ตอนคอมไพล์ และ watchOS
Perry v0.4.0: เธรด OS จริงพร้อมความปลอดภัยตอนคอมไพล์, ระบบ i18n แบบไม่ยุ่งยากสำหรับกว่า 30 ภาษา, watchOS เป็นเป้าหมายการคอมไพล์ลำดับที่ 9, API เสียงและกล้อง และ pipeline คอมไพล์แบบขนาน
คอมไพล์ข้ามแพลตฟอร์มไป Windows, Game Loop บน iOS และความเท่าเทียมของการทดสอบ 100%
103 commit ในหนึ่งสัปดาห์: คอมไพล์ข้ามแพลตฟอร์มไป Windows จาก Linux ผ่าน lld-link, รองรับ game loop บน iOS, การรายงานข้อผิดพลาด, pipeline การ build Hub สองขั้นตอน และคอมไพเลอร์ self-hosting ทำได้ 68/68 ความเท่าเทียมของการทดสอบแบบ deterministic
Pipeline ครบวงจร: เอกสาร, การกระจาย และ WidgetKit
82 commit ในหนึ่งสัปดาห์: เว็บไซต์เอกสาร 49 หน้า, การเผยแพร่อัตโนมัติบน App Store และ Play Store, แพ็กเกจ Homebrew และ APT, ส่วนขยาย WidgetKit เนทีฟจาก TypeScript, วิดเจ็ตใหม่, โมดูล http/https และคอมไพเลอร์ LLVM แบบ self-hosting
จากคอมไพเลอร์สู่ระบบนิเวศ: React, ฐานข้อมูล และ Cloud Build
Perry เติบโตจากคอมไพเลอร์เป็นระบบนิเวศที่สมบูรณ์ perry/ui เป็นแกนหลัก, ORM ที่เข้ากันได้กับ Prisma สำหรับ MySQL/PostgreSQL/SQLite, push notification สากล, build แบบกระจายพร้อมการเผยแพร่บน App Store และเลเยอร์ความเข้ากันได้กับ React — ทั้งหมดในหนึ่งสัปดาห์
ทั้ง 6 แพลตฟอร์ม ฟีเจอร์ครบถ้วนเท่าเทียมกัน
วิดเจ็ต UI เนทีฟกว่า 20 ตัว, วิดเจ็ต Canvas, Table view, การแจ้งเตือนระบบ, การเข้าถึง keychain, รองรับหลายหน้าต่าง และฟีเจอร์ครบถ้วนเท่าเทียมกันบน macOS, iOS, iPadOS, Android, Linux และ Windows — ทั้งหมดจากโค้ดเบส TypeScript เดียว
ระบบปลั๊กอินคือภาษีด้านประสิทธิภาพ
สถาปัตยกรรมปลั๊กอินแลกประสิทธิภาพกับความสามารถในการขยาย แต่ถ้าความสามารถในการขยายเกิดขึ้นตอนคอมไพล์แทนที่จะเป็นตอนรันไทม์ล่ะ? การประกอบตอนคอมไพล์ให้คุณทั้งสองอย่าง — ไม่มี overhead ยืดหยุ่นเต็มที่
คอมไพล์ Hono, tRPC และ Strapi เป็นไบนารีเนทีฟ
ตอนนี้ Perry คอมไพล์เฟรมเวิร์ก TypeScript สำคัญสามตัว — Hono, tRPC และ Strapi — เป็นไฟล์ปฏิบัติการ ARM64 เนทีฟ คอมไพล์ได้ในไม่ถึงวินาที สร้างไบนารีขนาดไม่ถึง 2 MB และทำงานได้โดยไม่มีข้อผิดพลาด
สร้าง Pry: โปรแกรมดู JSON เนทีฟใน TypeScript
คำแนะนำทีละขั้นตอนในการสร้าง Pry — โปรแกรมดู JSON เนทีฟที่คอมไพล์จาก TypeScript เป็นไบนารี ARM64 เนทีฟ ไม่ต้องใช้ runtime ไม่ต้องใช้ web view
UI เนทีฟข้ามแพลตฟอร์มจาก TypeScript
Perry แมปโค้ดเบส TypeScript เดียวไปยัง AppKit, UIKit, Android Views, GTK4 และ Win32 ได้อย่างไร — ส่งมอบ UI เนทีฟอย่างแท้จริงบนทุกแพลตฟอร์ม
แนะนำ Perry
Perry เป็นคอมไพเลอร์ TypeScript เนทีฟที่เขียนด้วย Rust ซึ่งคอมไพล์ TypeScript ของคุณโดยตรงเป็นไฟล์ปฏิบัติการแบบ standalone ไม่ต้องใช้ runtime ไม่ต้องใช้ Electron ไม่มีข้อประนีประนอม