100 giorni, 87 strumenti, zero server

Ho trascorso 100 giorni a costruire ToolKnit. È una suite di 87 strumenti basati sul browser.

La maggior parte dei siti di strumenti funziona così:

  • Carichi un file.
  • Un server lo elabora.
  • Scarichi il risultato.

Ciò significa che i tuoi PDF e le tue foto sensibili rimangono sul server di qualcun altro. Volevo un approccio diverso. Ogni strumento in ToolKnit viene eseguito interamente nel tuo browser. Nessun file lascia il tuo dispositivo.

Ecco cosa ho imparato costruendo un progetto senza backend.

Lo Stack

  • HTML e Tailwind CSS.
  • Vanilla JavaScript.
  • Solo PHP per statistiche semplici.
  • Zero framework. Niente React. Niente Vue.

Perché HTML statico?

  1. La SEO è migliore. Google indicizza istantaneamente le pagine statiche. Non ci sono ritardi di idratazione.
  2. La velocità è maggiore. Gli utenti ottengono gli strumenti immediatamente. Non devono aspettare il caricamento di pesanti bundle JavaScript.
  3. I costi sono bassi. Non utilizzo quasi nessuna potenza del server.

Le sfide Costruire 87 pagine senza componenti è difficile. Se cambio un link nel footer, devo modificare 87 file. Ho dovuto scrivere degli script Python per gestire la cosa.

Ho imparato i limiti del browser:

  • La compressione PDF è difficile. Richiede una manipolazione complessa degli stream per evitare la corruzione dei file.
  • La sintesi audio è profonda. Creare un suono di pianoforte realistico richiede molteplici oscillatori e armoniche personalizzate.
  • Il video è pesante. L'uso di ffmpeg.wasm funziona, ma il download di 32 MB è un onere per le connessioni lente.

La mia lezione più importante Elimina le funzionalità che funzionano solo quasi.

Ho costruito uno strumento per le Live Photos di iPhone. Presentava tre difetti principali:

  • Il calcolo matematico per gli angoli arrotondati era errato nell'API Canvas.
  • La transcodifica video richiedeva troppo tempo.
  • App come WeChat rimuovevano i dati di cui avevo bisogno.

Uno strumento funzionale al 90% mina la fiducia. Se non è eccellente, non pubblicarlo.

Qual è il prossimo passo? Ora sto sviluppando un'app desktop usando Tauri e Rust. Seguirà la stessa regola: tutta l'elaborazione rimane locale.

Riepilogo della costruzione di 100 giorni: • 87 strumenti rilasciati. • 3 strumenti eliminati. • 0 dipendenze da framework. • Oltre 3.000 utilizzi totali.

Stai costruendo strumenti client-side? Raccontami della tua architettura nei commenti.

Fonte: https://dev.to/dngzihng114379/100-days-87-tools-zero-servers-what-i-learned-building-a-fully-client-side-utility-suite-1bh0