Domain nomini string() ga o‘zgartirish: oddiy qo‘llanma
MX Script: Bitta faylda butun veb-ilovani qurish ramkasi
JavaScript dunyosida katta muammo bor. Texnik emas, balki falsafiy.
Har yangi loyiha boshlaganda framework tanlamaysiz. Routing, middleware, biznes-logika joylashuvi haqida falsafani tanlaysiz. Controllerlar, service qatlamlari, dependency injection – kod yozishdan oldin o'nlab qaror qabul qilasiz.
MX Script esa shunday deydi: "Nega shunday qilamiz?"
Oddiy va sodda tamoyil
MX Scriptning mohiyati – sodda. Hammasi HTTP handler. Butun ilova serve {} blokida. Alohida route fayllari yo'q. Controller klasslari yo'q. Middleware stacklari yo'q. Faqat funksiyalar.
serve {
get "/" {
html h1("Salom MX!")
}
}
Shunchaki. mx serve ishga tushiring, localhost:3333 ga kiring – ishlaydi. Web-ilovalar sodda bo'lgan davrlarni eslagan dasturchilar uchun bu yangi nafas.
Lekin quvvatdan voz kechmaysiz.
Bitta faylda full-stack
Bu yerda "hammasi tayyor" tamoyili ishlaydi. app.mx faylida:
- TypeScriptga o'xshash type inference (kompilyatsiya yo'q)
- Ichki SQLite ORM (alohida DB qatlami kerak emas)
- Autentifikatsiya (JWT, OAuth, email – tayyor)
- Fayl saqlash va to'lovlar
- Cron joblar – vaqtli vazifalar
- Streaming – real-time ma'lumotlar
- To'liq JavaScript kutubxonalari bilan moslik
Maqola platformasini tasavvur qiling:
serve {
get "/" {
html ArticleList(articles: db.articles())
}
get "/:slug" {
html Article(article: db.articles().find(slug))
}
post "/articles" {
let article = json<Article>()
db.articles().insert(article)
created article
}
}
Backend yo'q. API qatlami yo'q. Frontend-backend aloqasi yo'q. Hammasi bir joyda – routing, DB, javoblar.
Startapingiz uchun nima beradi
MVP yoki prototip qursangiz, murakkablik dushman. Build-tool sozlash, papka tuzilishi, arxitektura bahslashish – mahsulotingizga vaqt qoldirmaydi.
MX Script bu to'siqlarni olib tashlaydi. O'rganish – katta ekotizim emas, bitta model: funksiya = endpoint.
PHP yoki Python sodda bo'lganlar uchun tanish. JS framework urushlaridan charchaganlar uchun – uyga qaytish.
Type xavfsizligi, yuk yo'q
Eng aqlli qaror – tiplar. TypeScript inference va IDE yordami, lekin kompilyatsiya yo'q:
type User {
id: int
name: string
email: string
}
let user: User = json()
IDE userni biladi. Autocomplete bor. Xatolar runtimegacha chiqmaydi. Kod to'g'ridan-to'g'ri ishlaydi.
Amaliy DB qatlami
SQLite ORM o'ylangan:
db.define("articles", {
slug: string().unique(),
content: string(),
published: boolean()
})
Type-safe, minimal. SQL o'rganish shart emas. Katta skalalanishsiz veb-ilovalar uchun SQLite ideal.
Jamiyat o'smoqda
GitHubda 2.4k star, MIT litsenziya. Stable, Canary, Dev kanallari – barqarorlik yoki yangilik tanlang.
Brauzer playground – o'rnatmasdan sinab ko'ring. Dasturchi tajribasi uchun zo'r.
MX Scriptni qachon ishlating?
Yaxshi:
- Yangi loyiha, tez harakat
- Amaliylik muhim, arxitektura emas
- Kichik jamoa, sodda xohlaydi
- Bitta binary muhim infrada
Yomon:
- Katta distributed tizim (Go, Rust, Java oling)
- SQLite yetmaydigan DB
- Murakkab microservices
Katta rasm
MX Script – framework shishirigiga qarshi. Hammaga Next.js, Redux, npm kerak emas. Google o'lchamiga emas.
90% veb-loyihalar uchun MX Script – to'sqin yaratmaydigan texnologiya.
Murakkablik dunyosida sodda – eng radikal tanlov.
MX Scriptni sinab ko'rmoqchimisiz? play.mxscript.com brauzer playground – o'rnatish shart emas. NameOcean cloud infrasida hosting qilsangiz, Vibe Hosting AI yordami bilan MX Script osongina deploy bo'ladi.