Home SOFTWAREPomoć i savetiArhitektura modernih web aplikacija – Deo 10: Arhitektura budućnosti: WebAssembly, AI-driven apps, PWA i trendovi 2025–2030

Arhitektura modernih web aplikacija – Deo 10: Arhitektura budućnosti: WebAssembly, AI-driven apps, PWA i trendovi 2025–2030

od itn
WebAssembly

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
Primer: WASM modul u React-u (Rust → WebAssembly)

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),
    }
}
Cargo.toml
[lib]
crate-type = ["cdylib"]

[dependencies]
wasm-bindgen = "0.2"
Kompajliranje
wasm-pack build --target web
App.tsx (React)
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)
Primer: AI preporuke na Edge-u (Cloudflare Workers + KV)
// 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+
Pobednik 2025: Hibridni pristup
Homepage → SSG
Blog → ISR (revalidate: 60)
Dashboard → SSR
API → Serverless/Edge
5. Ključni trendovi 2025–2030
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
6. Primer: Kompletna buduća aplikacija

Kompletna buduća aplikacijaZaključ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

  1. Napravi PWA sa:
    • WASM modulom (npr. slika obrada)
    • AI preporukama na Edge-u
    • Passkeys autentifikacijom
  2. Deploy-uj na Vercel + Cloudflare
  3. 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!

Banner

Banner

Možda će vam se svideti i