React kutubxonasi: Haqiqiy foydalanuvchilar va tanqidchilar
React JavaScript kutubxonasi haqidagi umumiy fikrlar, uning afzalliklari, kamchiliklari va dasturchilar orasida qanchalik mashhurligini tahlil qilamiz.

Perry — bu yangi avlod dasturlash vositasi bo‘lib, TypeScript kodini to‘g‘ridan‑to‘g‘ri native (asosiy) ilovalarga kompilyatsiya qiladi. SWC parseri va LLVM kod generatori yordamida yaratilgan bu platforma, macOS, iOS, iPadOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly hamda veb‑brauzerda ishlashga mo‘ljallangan. Natijada, runtime (Node.js, V8 yoki Electron) talab qilmaydigan, 2‑5 MB o‘lchamdagi mustaqil binarlarga ega bo‘lasiz.
fs, path, crypto, os, Buffer, child_process kabi Node.js APIlari native darajada amalga oshirilgan.Perry 25+ native UI komponentini qo‘llab‑quvvatlaydi: tugmalar, matn maydonlari, jadval, canvas, QR‑kod, xavfsiz kirish maydonlari va boshqalar. Har bir komponent mos platformaning o‘z widgetiga (macOS – AppKit, Linux – GTK4, Windows – Win32, iOS/tvOS/watchOS – UIKit/SwiftUI, Android – JNI) tarjima qilinadi.
// hello.tsconst greeting = "Hello, World!";console.log(greeting); // Compiles to ~2MB native executable// No runtime needed!
$ perry compile main.ts
Compiling main.ts...
✓ Compiled executable: main (2.3 MB)
$ ./main
Hello, World!
Yuqoridagi misolda main.ts fayli bir necha soniya ichida main nomli bajariladigan faylga aylanadi. Bu fayl har qanday Linux, macOS yoki Windows tizimida alohida o‘rnatilmasdan ishlaydi.
Perry real operatsion tizim iplarini qo‘llab‑quvvatlaydi: parallelMap, parallelFilter, spawn funksiyalari yordamida paralel hisoblashlarni bajarish mumkin. Shuningdek, compile‑time i18n xususiyati bilan 30+ til uchun matnlar avtomatik tarzda chiqariladi, tarjimalar binarga qattiq kodlangan bo‘lib, runtime izlash vaqtini deyarli yo‘q qiladi.
| O‘lcham | Perry | Node.js | Bun |
|---|---|---|---|
| Binary size | 2‑5 MB | ~80 MB | ~90 MB |
| Startup time | ~1 ms | ~30 ms | ~10 ms |
| Runtime dependencies | Yo‘q | Node.js | Bun |
| Memory overhead | Minimal | V8 + GC | JSC + GC |
Natijada, Perry yuqori samaradorlik, kichik hajm va tez ishga tushish vaqtini ta'minlaydi, bu ayniqsa mobil va IoT qurilmalarida muhim.
# Homebrew orqali o‘rnatish (macOS)
$ brew tap PerryTS/perry
$ brew install perry
# Windows yoki Linux uchun prebuilt binary yuklab olish
# https://github.com/perryts/perry/releases
O‘rnatilgandan so‘ng, perry compile myapp.ts buyrug‘i bilan ilovani yaratish mumkin. V8 runtime kerak bo‘lsa, --enable-js-runtime flagini qo‘shing.
Perry jamoasi hozirda WebAssembly va browser‑native rejimlarini yanada takomillashtirish, hamda yangi UI widgetlarini qo‘shish ustida ishlamoqda. Open‑source loyihalar uchun bepul, korporativ jamoalar uchun esa pullik reja mavjud.
Umuman olganda, Perry TypeScript dasturchilariga bir kod bazasidan bir necha platformada native ilovalar yaratish imkonini beradi, bu esa ishlab chiqish vaqtini qisqartiradi, xarajatlarni kamaytiradi va foydalanuvchi tajribasini yaxshilaydi.