Livrare NodeJs app

Voi cum livrati appurile facute in NodeJs clientilor?

Github sau similare?

Sa ii dai cumva appul:

  • daca ii dai codurile sursa este mai dificil cu uodate si versiuni
  • dockerul are niste avantajr
  • electonJs nu am folosit dar nu pare sa se descurce cum trebuie cu chestii care nu ruleaza in browser
  • pkg/nexe crapa

    La genul asta de livrare ma gandesc…

Depinde cum stabilesti cu clientul, care e scope-ul proiectului… sunt mai multe variabile.
Dacă ați căzut de acord ca vrea doar codul și se ocupa el de deployment, livrezi doar codul.
Dacă vrea o aplicație funcțională, deployed, trebuie sa folosești un cloud provider sau sa configurezi aplicația pe un vps.

Imagine Docker sau Helm chart cu codul transpilat, cod pe gitlab/github.

Conteaza foarte mult versiunea de node pe care rulezi codul, deci recomand sa folosesti exact node-ul pe care ai facut dezvoltarea. Posibil iti trebuie si un reverse proxy pentru TLS/sigurante (circuit breaker)/limitare request-uri precum envoy sau nginx.

Sau te gandesti la ceva de genul PocketBase - Open Source backend in 1 file ? Deno/Bun.js stiu sa compileze in asa fel, dar e distractie sa faci codul sa ruleze cu ele.

Am de facut o aplicatie care se intreapta mai mult pe aplicatie de desktop deoarece nu vreau sa imi bat capul eu cu hostingul.
Am scris-o in pure NodeJs cu oleaca de axios si prisma cu sqlite.
Incerc sa o livrez ca un tot unitar.

  • nu imi place docker pentru ca mi se pare greu de folosit de un end user cu windows si mai mananca si resurse.
  • Am incercat sa fac un exe cu pkg dar a crapat.
    Cu ocazia asta am descoperit esbuild care din tot carnatul de node_modules si codul sursa face un singur fisier. Acest fisier l-am bagat cu pkg si mi-a facut un exe. Fain pana aici dar nu am testat. Prisma are prostul “obicei” de a avea nevoie sa dai prisma generate ca sa iti genereze partea de typescript si alte comenzi pentru a te juca cu migrations (inca sunt la inceput cu prisma). Nu stiu cum sa jonglez cu astea si sa ajunga sa fie un singur executabil daca merge.

electronjs nu te ajuta?

1 Like

De ce iti mai trebuie prisma, node si tot tacamul pentru desktop ?

Ai sqlite/dexie și cu electron poți folosi svelte/solid/react/vue cu acces la aceleasi api-uri ca și cu node.

Electron e destul de mare acum sunt alternative care folosesc browserul local.

Trebuie să te înțelegi de la început cum ii dai aplicația.
Unii oameni nu știu multe și cred că implicit îi instalezi aplicația pe server sau că merge cu copy/paste.

De dat codul e cu totul altă poveste. Poți să îl dai și pe CD.