Dobrodošli u deseti i završni deo serijala na ITNetwork.rs! Prošli smo put od monolita do serverless-a, od REST-a do gRPC-a, od baza do observability-ja. Danas zavirujemo u budućnost – kako će izgledati web aplikacije za 5–10 godina? Govorićemo o WebAssembly (WASM), AI-u u arhitekturi, Progressive Web Apps, Jamstack vs. tradicionalni stack, i ključnim trendovima: Edge AI, Zero-Trust, Quantum-ready crypto.
1. WebAssembly (WASM) – „Drugi jezik browsera“
Šta je WASM?
Binaran format koji omogućava izvršavanje koda u browseru brzinom blizu native-a.
- Kompajlira se iz Rust, Go, C++, AssemblyScript, .NET
- Radi pored JavaScript-a, ne umesto njega
Gde se koristi?
| Slučaj | Primer |
|---|---|
| Teška obrada | Video editovanje (Figma, Canva) |
| Igraj | Doom 3 u browseru |
| Backend | Cloudflare Workers (Rust) |
| AI modeli | ONNX u browseru |
lib.rs (Rust)
// src/lib.rs
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn fib(n: u32) -> u32 {
match n {
0 => 0,
1 => 1,
_ => fib(n - 1) + fib(n - 2),
}
}
[lib]
crate-type = ["cdylib"]
[dependencies]
wasm-bindgen = "0.2"
wasm-pack build --target web
import { useState } from 'react';
import init, { fib } from './pkg/wasm_fib.js';
export default function WasmDemo() {
const [n, setN] = useState(30);
const [result, setResult] = useState<number | null>(null);
const calculate = async () => {
await init(); // Učitaj WASM
const start = performance.now();
const res = fib(n);
const end = performance.now();
setResult(res);
console.log(`WASM fib(${n}) = ${res} za ${(end - start).toFixed(2)}ms`);
};
return (
<div>
<input type="number" value={n} onChange={e => setN(+e.target.value)} />
<button onClick={calculate}>Izračunaj Fibonacci</button>
{result && <p>Rezultat: {result}</p>}
</div>
);
}
Rezultat: fib(40) u JS = ~2s, u WASM = ~50ms
2. AI-driven aplikacije – pamet u arhitekturi
AI nije samo „chatbot“ – to je decentralizovana inteligencija
| Nivo | Primer |
|---|---|
| Frontend | Personalizovani UI („Pokaži mi samo dashboard“) |
| Edge | A/B testovi, preporuke na ivici |
| Backend | Prediktivno skaliranje, fraud detection |
| Baza | Vektor pretraga (pgvector, Pinecone) |
// worker.ts
interface Env {
RECOMMENDATIONS: KVNamespace;
}
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const url = new URL(request.url);
const userId = url.searchParams.get('user');
// 1. Dohvati iz KV (Edge keš)
let recs = await env.RECOMMENDATIONS.get(`rec:${userId}`);
if (!recs) {
// 2. Ako nema – pozovi AI model (HuggingFace, OpenAI)
const aiRes = await fetch('https://api.openai.com/v1/embeddings', {
method: 'POST',
headers: { Authorization: `Bearer ${OPENAI_KEY}` },
body: JSON.stringify({ input: `User ${userId} likes JS, React` })
});
const embedding = await aiRes.json();
// 3. Sačuvaj u KV (TTL 1h)
recs = JSON.stringify(embedding);
await env.RECOMMENDATIONS.put(`rec:${userId}`, recs, { expirationTtl: 3600 });
}
return new Response(recs, { headers: { 'Content-Type': 'application/json' } });
}
};
Latencija: < 100ms, globalno
3. Progressive Web Apps (PWA) – „aplikacija u browseru“
Zašto PWA?
- Offline rad
- Push notifikacije
- Install na desktop/mobilni
- Nema App Store taksi
Primer: Next.js PWA (Workbox)
// next.config.js
const withPWA = require('next-pwa')({
dest: 'public',
disable: process.env.NODE_ENV === 'development'
});
module.exports = withPWA({
// tvoj config
});
// public/manifest.json
{
"name": "ITNetwork App",
"short_name": "ITN",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#000000",
"icons": [
{
"src": "/icon-192.png",
"sizes": "192x192",
"type": "image/png"
}
]
}
Rezultat: Korisnik vidi „Dodaj na početni ekran“ → aplikacija radi offline
4. Jamstack vs Tradicionalni stack – kraj debate?
| Aspekt | Jamstack | Tradicionalni |
|---|---|---|
| Build vreme | SSG/ISR | SSR po zahtevu |
| Skalabilnost | CDN | Server |
| SEO | ★★★★★ | ★★★★ |
| Dinamika | ISR + Edge | SSR |
| Trošak | $0–$50/mesec | $100–$1000+ |
Homepage → SSG
Blog → ISR (revalidate: 60)
Dashboard → SSR
API → Serverless/Edge
| Trend | Šta znači za tebe |
|---|---|
| Edge AI | Modeli se izvršavaju na CDN-u (Cloudflare AI) |
| Zero-Trust | Niko nije „u mreži“ – sve se proverava |
| Quantum-ready crypto | Post-quantum algoritmi (Kyber, Dilithium) |
| WebTransport | Brže od WebSocket-a, UDP-based |
| WASM GC | Omogućava GC jezike (C#, Java) u browseru |
| AI Code Assistants | GitHub Copilot → ceo tim |
Zaključak: Tvoja arhitektura za 2030.
| Sloj | Tehnologija |
|---|---|
| Frontend | React + WASM + PWA |
| Edge | Cloudflare Workers + AI |
| Backend | Serverless + Event-Driven |
| Baza | Polyglot + Vektor pretraga |
| Bezbednost | Zero-Trust + Passkeys + Post-quantum |
| DevOps | GitOps + AI-assisted deploy |
Zlatno pravilo budućnosti: „Ne gradi za danas. Gradi za svet u kom je AI svuda, a serveri ne postoje.“
Hvala što si bio sa nama!
Ovaj serijal je bio putovanje od monolita do edge-a, od REST-a do WASM-a, od ručnog deploy-a do GitOps-a.
Šta si naučio?
- Kako podeliti sistem na servise
- Kako optimizovati performanse
- Kako zaštititi korisnike
- Kako automatizovati sve
- I kako pripremiti se za budućnost
Tvoj završni izazov
- Napravi PWA sa:
- WASM modulom (npr. slika obrada)
- AI preporukama na Edge-u
- Passkeys autentifikacijom
- Deploy-uj na Vercel + Cloudflare
- Podeli link u komentarima ispod!
Autor: Dušan Antonijević – saradnik ITNetwork.rs
Hvala na čitanju! Podeli tekst sa kolegama.
SERIJAL JE ZAVRŠEN! Ali priča se nastavlja – prati ITNetwork.rs za napredne kurseve, radionice i projekte.
Vidimo se u budućnosti!



