Egendefinerte kjøremiljøer
Forstå mulighetene for egendefinerte kjøremiljøer eller spesialiserte Deno-utrullinger på edge.
Egendefinerte kjøremiljøer er en gratis leksjon i Edge computing med Cloudflare Workers og Deno på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Edge computing med Cloudflare Workers og Deno, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Edge computing med Cloudflare Workers og Deno inneholder totalt 4 leksjoner.
Introduksjon til egendefinerte kjøremiljøer
Velkommen! I dag skal vi utforske egendefinerte kjøremiljøer og spesialiserte Deno-distribusjoner på edge-nettverket.
Et egendefinert kjøremiljø lar deg tilpasse kjøringsmiljøet for koden din. I stedet for å bruke et standardisert, forhåndskonfigurert serverløst kjøremiljø kan du definere bestemte versjoner, avhengigheter eller til og med helt andre programmeringsspråk.
På edge-nettverket betyr dette større kontroll over hvordan koden kjører nær brukerne, noe som kan gi bedre ytelse og ny funksjonalitet.
Hvorfor tilpasse på edge-nettverket?
Hvorfor kan du trenge et egendefinert kjøremiljø?
- Spesialiserte biblioteker: Bruk innebygde biblioteker eller bestemte versjoner som ikke er tilgjengelige i standardiserte kjøremiljøer.
- Ytelse: Optimaliser for bestemte arbeidsbelastninger, for eksempel tunge beregninger eller databehandling, ved å bruke svært effektive språk eller egendefinerte binærfiler.
- Ressurskontroll: Finjuster minne-, CPU- eller nettverksbruken for svært spesifikke edge-enheter.
- Unike språk: Kjør kode skrevet i andre språk enn JavaScript/TypeScript, ofte kompilert til WebAssembly.
Denos rolle i tilpasning
Denos utforming gjør plattformen spesielt egnet for egendefinerte edge-miljøer:
- Én kjørbar fil: Deno er selv én enkelt, selvstendig kjørbar fil som er enkel å distribuere eller bygge inn.
- Ingen
node_modules: Det URL-baserte modulsystemet unngår kompliserte avhengighetstrær og forenkler egendefinerte bygg. - Eksplisitte tillatelser: Detaljert kontroll over tilgang til filsystem, nettverk og miljø gjør det mulig å opprette sikre og minimale distribusjoner.
- Innebygde verktøy: Verktøy som
deno compile(som vi skal se på) hjelper deg med å opprette selvstendige binærfiler.
Oversikt over WebAssembly (Wasm)
WebAssembly (Wasm) er sentralt for egendefinerte kjøremiljøer. Det er et binært instruksjonsformat på lavt nivå som kjører i moderne nettlesere og i stadig større grad på serverløse plattformer som Cloudflare Workers.
Wasm fungerer som et kompileringsmål for mange språk (Rust, C++, Go, AssemblyScript). Det lar deg skrive kode med høy ytelse og kjøre den sikkert og portabelt på tvers av ulike miljøer, inkludert edge-nettverket.
Deno-lasting av Wasm-moduler
Deno har innebygd støtte for WebAssembly, slik at du kan laste inn og kjøre Wasm-moduler direkte i Deno-applikasjonene dine. Dette utvider Denos funksjonalitet langt utover JavaScript/TypeScript.
Her er et enkelt Deno-skript som laster inn og kjører en liten Wasm-modul som er laget for å legge sammen to tall:
const wasmCode = new Uint8Array([
0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00,
0x01, 0x07, 0x01, 0x60, 0x02, 0x7f, 0x7f, 0x01,
0x7f, 0x03, 0x02, 0x01, 0x00, 0x07, 0x07, 0x01,
0x03, 0x61, 0x64, 0x64, 0x00, 0x00, 0x0a, 0x09,
0x01, 0x07, 0x00, 0x20, 0x00, 0x20, 0x01, 0x6a,
0x0b
]); // This Wasm adds two i32 numbers
async function runWasm() {
const { instance } = await WebAssembly.instantiate(wasmCode);
const addResult = instance.exports.add(5, 7);
console.log(`Wasm add(5, 7) = ${addResult}`);
}
runWasm();Wasm på edge-plattformer
Edge-plattformer som Cloudflare Workers støtter WebAssembly. Du kan kompilere kode skrevet i Rust, C++ eller Go til Wasm og distribuere den som en Worker.
Dette gjør det mulig for utviklere å dra nytte av eksisterende kodebaser, oppnå tilnærmet innebygd ytelse og bruke bestemte språkfunksjoner som kanskje ikke er tilgjengelige eller effektive i JavaScript. Det er en kraftig måte å opprette svært optimaliserte edge-funksjoner på.
Spesialiserte Deno-distribusjoner
Selv om Deno Deploy tilbyr en utmerket administrert tjeneste, finnes det situasjoner som krever spesialiserte Deno-distribusjoner:
- Selvhosting av Deno: Kjør Deno på din egen infrastruktur for å ha full kontroll over miljøet.
- Innebygde systemer: Distribuer Deno på edge-enheter med begrensede ressurser og spesifikke maskinvarekrav.
- Egendefinerte Deno-bygg: Kompiler Deno fra kildekoden med bestemte funksjoner aktivert eller deaktivert for å oppfylle unike behov, for eksempel integrering av egendefinerte innebygde programtillegg eller reduksjon av binærfilens størrelse.
Bygge egendefinerte Deno-kjøremiljøer
For virkelig egendefinerte Deno-miljøer kan du kompilere Deno fra kildekoden. Denne avanserte teknikken lar deg:
- Inkludere bestemte Rust-crates (biblioteker) direkte i Deno-binærfilen.
- Fjerne unødvendige funksjoner for å opprette et mindre og mer målrettet kjøremiljø.
- Tilpasse løsningen til uvanlige arkitekturer eller operativsystemer som ikke offisielt støttes av standardutgaver av Deno.
Denne fremgangsmåten er beregnet på svært spesialiserte bruksområder der full kontroll over kjøremiljøet er avgjørende.
Deno Compile for kjørbare edge-filer
Denos deno compile-kommando lar deg opprette en frittstående kjørbar fil fra Deno-skriptet ditt. Denne kjørbare filen inneholder Deno-kjøremiljøet og applikasjonskoden din, noe som gjør den portabel.
Selv om den ikke er et «kjøremiljø» i seg selv, er en kompilert Deno-applikasjon en svært spesialisert Deno-distribusjon. Den passer perfekt for edge-enheter som trenger selvstendige applikasjoner i én fil, uten en separat Deno-installasjon.
console.log("Hello from a Deno compiled app!");
if (Deno.args.length > 0) {
console.log(`Arguments received: ${Deno.args.join(", ")}`);
}
// To compile this:
// deno compile --allow-read --allow-env my_app.tsOppsummering av fordelene
Egendefinerte kjøremiljøer og spesialiserte Deno-distribusjoner gir betydelige fordeler for avanserte edge-applikasjoner:
- Bedre ytelse: Dra nytte av Wasm eller optimalisert innebygd kode.
- Større fleksibilitet: Bruk et bredere utvalg av språk og biblioteker.
- Effektiv ressursbruk: Tilpass miljøet til bestemte maskinvare- eller minnebegrensninger.
- Sikkerhet: Finjuster tillatelser og isolasjon.
Disse strategiene gir utviklere mulighet til å flytte grensene for hva som er mulig på edge-nettverket.
Test forståelsen din
Hvilke av følgende er viktige grunner til eller muligheter som aktiveres ved bruk av egendefinerte kjøremiljøer eller spesialiserte Deno-distribusjoner på edge-nettverket?
Oppsummering: Egendefinerte edge-kjøremiljøer
I denne leksjonen utforsket vi konseptet egendefinerte kjøremiljøer og spesialiserte Deno-distribusjoner for edge-applikasjoner.
- Vi så hvordan egendefinerte kjøremiljøer gir enestående kontroll og støtte for bestemte biblioteker, ytelsesoptimaliseringer og unike programmeringsspråk.
- Vi lærte om WebAssembly (Wasm) som en viktig teknologi for å kjøre kode med høy ytelse, skrevet i andre språk enn JavaScript, på edge-nettverket, og hvordan Deno kan samhandle med den.
- Til slutt diskuterte vi situasjoner for spesialiserte Deno-distribusjoner, blant annet selvhosting og opprettelse av frittstående kjørbare filer med
deno compile.
Disse avanserte strategiene gir deg mulighet til å bygge svært effektive og fleksible edge-løsninger!
Lær deg Edge computing med Cloudflare Workers og Deno med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 47
Ofte stilte spørsmål
Er leksjonen «Egendefinerte kjøremiljøer» gratis?
Ja – hele teksten i «Egendefinerte kjøremiljøer» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Edge computing med Cloudflare Workers og Deno-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Edge computing med Cloudflare Workers og Deno inneholder totalt 4 leksjoner.
Hva lærer jeg i «Egendefinerte kjøremiljøer»?
Forstå mulighetene for egendefinerte kjøremiljøer eller spesialiserte Deno-utrullinger på edge. Du øver på Edge computing med Cloudflare Workers og Deno med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Edge computing med Cloudflare Workers og Deno?
Ingen tidligere erfaring er nødvendig. Edge computing med Cloudflare Workers og Deno på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Egendefinerte kjøremiljøer»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Edge computing med Cloudflare Workers og Deno-leksjonen?
Ja. Alle Edge computing med Cloudflare Workers og Deno-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Deno Deploy og CLI
- Egendefinerte kjøremiljøer
- Testing og CI/CD for edge
- Blue-green og gradvise utrullinger