Web, Arka Uç (Backend), 3D Souls-Like Oyun ve Windows Native (.exe) Geliştirme İçin Birleşik Tekil Ekosistem
LAWİ; yazılım dünyasındaki parçalanmışlığı ortadan kaldırmak amacıyla tasarlanmış modern bir genel amaçlı programlama dilidir.
| Hedef Platform | Klasik Yöntem (Eski) | LAWİ Yaklaşımı (Yeni) |
|---|---|---|
| Reaktif Web Siteleri | HTML + CSS + JS + React + Webpack | web app "Site" { state ... card ... } |
| Backend & Veritabanı | Python/Node.js + SQL + Harici ORM | model User { ... } + server { get ... } |
| 3D Souls-Like Oyun | Unity/Unreal Engine (40GB) + C#/C++ | game "Dark Arena" { scene ... boss ... } |
| Masaüstü & Sistem | C++ / Rust / Electron (Ağır) | lawi build --target native (.exe) |
LAWİ statik tiplidir ancak türleri kendisi otomatik çıkarır (Type Inference):
// Otomatik tip çıkarımı:
isim = "Kadir" // text
yas = 24 // int
hiz = 85.5 // float
canli = true // bool
renk = #5865f2 // hex color
// Açık tip belirtme:
skor: int = 100
ad: text = "Lawi"
Tek satırlık kısa ok fonksiyonları veya çok satırlı blok fonksiyonları:
// Tek satırlık ok fonksiyonu:
fn topla(a, b) => a + b
// Çok satırlı fonksiyon:
fn faktoriyel(n) {
if n <= 1 {
return 1
}
return n * faktoriyel(n - 1)
}
// While döngüsü:
sayac = 1
while sayac <= 5 {
println("Sayı: " + sayac)
sayac += 1
}
// For-in döngüsü:
dizi = ["Elma", "Armut", "Muz"]
for meyve in dizi {
println("Meyve: " + meyve)
}
HTML, CSS ve JavaScript yazmadan tek bir .lawi dosyasında reaktif arayüzler inşa edin:
web app "SayacUygulamasi" {
// Reaktif durum: Değeri değiştiğinde ekrandaki bileşenler anında güncellenir
state sayac = 0
page "/" {
card {
width 380
padding 28
radius 16
background #1a1f2c
color white
header "LAWİ Reaktif Web Sitesi"
text "Mevcut Değer:"
text sayac
button "+ Değeri Artır" {
width 320
radius 10
background #5865f2
click {
sayac += 1
}
}
button "- Değeri Azalt" {
width 320
radius 10
background #4752c4
click {
sayac -= 1
}
}
button "Sıfırla" => sayac = 0
}
}
}
lawi build main.lawi --target web
Çıktı (Build Dizini):
build/index.html: Optimize edilmiş semantik DOM iskeleti.build/app.css: Otomatik CSS3 flexbox ve tasarım stilleri.build/app.js: Proxy tabanlı, Virtual DOM gerektirmeyen ultra hızlı JavaScript reaktif çalışma zamanı.SQLite, PostgreSQL ve MySQL veritabanı tablolarını ve REST API route'larını birkaç satırda tanımlayın:
// Veritabanı Tablosu Modeli:
model Kullanici {
id int auto primary
kullanici_adi text
email text
bakiye float
}
// HTTP & REST API Sunucusu:
server "AnaApi" {
// GET /api/kullanicilar -> Tüm kayıtları JSON döner
get "/api/kullanicilar" {
return Kullanici.all()
}
// POST /api/kullanicilar -> Yeni kullanıcı ekler
post "/api/kullanicilar" {
yeni_kayit = body()
Kullanici.create(yeni_kayit)
return yeni_kayit
}
}
Derleme Komutu:
lawi build server.lawi --target backend
Harici bir oyun motoru (Unity/Unreal) yüklemeden kendi .glb / .gltf 3D modellerinizle tam teşekküllü Souls-Like oyun geliştirin:
game "Dark Arena" {
window 1920 1080
scene Arena {
environment "assets/environments/arena.glb"
player Knight
boss DarkKnight at (40, 0, 40)
}
camera thirdperson {
target player
distance 5
collision true
}
player Knight {
model "assets/models/player.glb"
hp 100
stamina 100
weapon Longsword
flask Estus
dodge
block
parry
}
weapon Longsword {
model "assets/models/longsword.glb"
damage 45
moveset longsword
}
boss DarkKnight {
model "assets/models/boss.glb"
hp 5000
phase 1 {
attack sword_combo
}
phase 2 when hp < 50% {
attack dark_slash
}
}
checkpoint Bonfire {
respawn true
reset_enemies true
}
ui {
health player.hp
stamina player.stamina
flask player.flask
bossbar DarkKnight.hp
}
}
# Anında tarayıcıda 3D çalıştırmak için:
lawi run game.lawi
# WebGL 3D ve Masaüstü Paketi üretmek için:
lawi build game.lawi --target game
| Komut | İşlevi |
|---|---|
lawi new [ad] --template [web|game|backend|desktop] |
Yeni bir LAWİ projesi oluşturur. |
lawi run [dosya.lawi] |
Kaynak kodu anında derler ve çalıştırır. |
lawi build [dosya.lawi] --target web |
Reaktif HTML5+CSS3+JS Web paketi üretir. |
lawi build [dosya.lawi] --target native |
Windows x64 için doğrudan çalışan .exe üretir. |
lawi build [dosya.lawi] --target game |
3D Souls-Like WebGL ve Canvas oyun motoru paketi üretir. |
lawi build [dosya.lawi] --target backend |
REST API sunucusu ve SQL ORM şemaları üretir. |
lawi fmt [dosya.lawi] |
Kodları otomatik düzenler ve girintiler. |
lawi lint [dosya.lawi] |
Statik analiz yaparak olası hataları ve ipuçlarını gösterir. |
lawi docs [dosya.lawi] |
Kaynak koddan otomatik Markdown dokümantasyon üretir. |