string() – co to jest i jak działa w PHP?
MX Script: Framework w jednym pliku, który wywraca budowanie web appki do góry nogami
Ekosystem JavaScript ma spory problem. Nie techniczny, tylko filozoficzny.
Zaczynasz nowy projekt i już musisz wybierać: routing, middleware, gdzie trzymać logikę biznesową. Kontrolery, serwisy, dependency injection. Jeszcze nie napisałeś linijki kodu appki, a już podjąłeś kilkanaście decyzji architektonicznych.
A MX Script pyta: a co, jeśli tego nie robić?
Prostota na maksa
MX Script to czysta prostota. Cała appka to jeden blok serve {}. Bez osobnych plików z trasami. Bez klas kontrolerów. Bez stosów middleware. Tylko funkcje.
serve {
get "/" {
html h1("Witaj w MX!")
}
}
I to wystarczy. Uruchamiasz mx serve, wchodzisz na localhost:3333 i działa. Dla tych, co pamiętają czasy, gdy web appki były proste, to jak powiew świeżego powietrza.
Ale co najlepsze: nie tracisz mocy na rzecz tej prostoty.
Full-stack w jednym pliku
Tu pokazuje się filozofia "wszystko w pakiecie". W tym jednym app.mx masz:
- Inferencję typów jak w TypeScript (bez kompilacji)
- Wbudowany ORM do SQLite (bez zewnętrznych warstw)
- Autentykację (JWT, OAuth, email – gotowe)
- Przechowywanie plików i płatności
- Cron joby do zadań cyklicznych
- Streaming dla danych na żywo
- Pełną kompatybilność z bibliotekami JS
Wyobraź sobie platformę do publikowania artykułów:
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
}
}
Zero osobnego backendu. Zero API. Zero komunikacji front-back. Wszystko w jednym miejscu: routing, baza, odpowiedzi.
Dlaczego to game-changer dla twojego startupu
Budujesz MVP czy prototyp? Złożoność to wróg numer jeden. Godzina na konfigurację builda, foldery i debaty o architekturze to godzina stracona na produkt.
MX Script usuwa te bariery. Krzywa uczenia to nie labirynt frameworków, tylko jeden model: funkcje to endpointy.
Dla fanów PHP czy Pythona – jak u siebie. Dla JS-owców po wojnach frameworków – powrót do korzeni.
Bezpieczeństwo typów bez ceregieli
Genialny ruch w MX Script: typy jak w TypeScript, z podpowiedziami w IDE, ale bez budowania.
type User {
id: int
name: string
email: string
}
let user: User = json()
Edytor wie, co to user. Autouzupełnianie działa. Błędy typów łapiesz przed runtime'em. Kod leci prosto do wykonania.
Praktyczna warstwa bazy danych
Wbudowany ORM do SQLite jest przemyślany:
db.define("articles", {
slug: string().unique(),
content: string(),
published: boolean()
})
Type-safe, minimalny, bez nauki SQL-a. Dla appki webowej czy API, które nie skalują od razu na miliony – SQLite idealnie pasuje.
Społeczność nabiera tempa
2.4k gwiazdek na GitHubie, licencja MIT open-source. Trzy kanały wydań: Stable, Canary, Dev – stabilność lub nowości na zawołanie.
Playground w przeglądarce – testuj bez instalacji. Developer experience na poziomie.
Kiedy warto sięgnąć po MX Script?
Pasuje, gdy:
- Startujesz projekt i chcesz szybko
- Cenisz praktyczność, nie perfekcję architektoniczną
- Drużyna mała, lubi prostotę
- Ważny pojedynczy binarny do deploymentu
Nie dla:
- Ogromnych systemów rozproszonych (tu Go, Rust, Java)
- Baz danych poza zasięgiem SQLite
- Złożonych mikroserwisów
Szerszy obraz
MX Script to bunt przeciw nadmiarowi frameworków. Nie każdy potrzebuje Next.js, Redux i setki paczek npm. Nie każdy projekt musi być gotowy na skalę Google od pierwszego dnia.
Dla 90% webowych projektów, które nie rosną w nieskończoność, MX Script daje rzadkość: pełną technologię, która nie przeszkadza.
W świecie frameworkowej złożoności najradicalniejsza opcja to prostota.
Chcesz przetestować MX Script? Playground w przeglądarce na play.mxscript.com – zero instalacji. A jeśli hostujesz projekty na chmurze NameOcean, MX Script śmiga z naszym Vibe Hosting i funkcjami AI do developmentu.