Norsk

Utforsk Marko, et deklarativt UI-rammeverk for høyytelses-nettapplikasjoner, med fokus på strømmende server-side rendering og fordeler for et globalt publikum.

Marko: Deklarativt UI med strømmende server-side rendering

I dagens raske digitale landskap er nettsidens ytelse avgjørende. En treg eller lite responsiv nettside kan føre til frustrerte brukere, høyere fluktfrekvens og til syvende og sist, tapt omsetning. Marko, et deklarativt UI-rammeverk, tar tak i disse problemene ved å tilby en unik tilnærming til å bygge høyytelses-nettapplikasjoner. Denne artikkelen vil dykke ned i kjernefunksjonene til Marko, spesielt dens kapabiliteter for strømmende server-side rendering (SSR), og forklare hvorfor det er et overbevisende valg for utviklere som bygger nettsider og nettapplikasjoner for et globalt publikum.

Hva er Marko?

Marko er et åpen kildekode UI-rammeverk laget av eBay og vedlikeholdes nå av Marko-teamet. Det skiller seg fra andre rammeverk gjennom sitt fokus på ytelse, enkelhet og skalerbarhet. I motsetning til noen rammeverk som prioriterer klient-side rendering, legger Marko vekt på server-side rendering, spesielt strømmende SSR. Dette betyr at serveren forhåndsrenderer HTML-koden for applikasjonen din og sender den til nettleseren i biter (strømmer) etter hvert som den blir tilgjengelig, noe som fører til en raskere First Contentful Paint (FCP) og forbedret brukeropplevelse.

Nøkkelfunksjoner og fordeler med Marko

Et dypdykk i strømmende server-side rendering

La oss utforske fordelene med strømmende SSR mer detaljert:

Forbedret First Contentful Paint (FCP)

FCP er en nøkkelmetrikk for å måle nettsiders ytelse. Den representerer tiden det tar før det første innholdet (tekst, bilde, etc.) vises på skjermen. Strømmende SSR reduserer FCP betydelig fordi nettleseren begynner å motta og rendere HTML mye tidligere enn med klient-side rendering. I stedet for å vente på at hele JavaScript-pakken skal lastes ned og kjøres, kan nettleseren umiddelbart begynne å vise det første innholdet på siden. Tenk deg en e-handelsnettside som viser produktlister. Med strømmende SSR ser brukeren produktbilder og beskrivelser nesten umiddelbart, selv før de interaktive elementene er fullt lastet. Dette skaper en mye mer engasjerende og responsiv brukeropplevelse.

Bedre brukeropplevelse

En raskere FCP oversettes til en bedre brukeropplevelse. Brukere er mindre tilbøyelige til å forlate en nettside hvis de ser innhold raskt. Strømmende SSR gir en mer flytende og responsiv opplevelse, spesielt på tregere nettverk eller enheter. Dette er spesielt viktig for mobilbrukere i utviklingsland der internettforbindelsen kan være upålitelig. For eksempel kan en nyhetsnettside som bruker strømmende SSR levere siste nytt-overskrifter og sammendrag umiddelbart, selv til brukere med begrenset båndbredde.

SEO-fordeler

Søkemotorroboter er avhengige av HTML-innhold for å forstå strukturen og innholdet på en nettside. Server-side rendering gir lett tilgjengelig HTML, noe som gjør det enklere for søkemotorer å gjennomsøke og indeksere siden din. Dette forbedrer rangeringen din i søkemotorer og øker organisk trafikk. Selv om Google har blitt bedre til å rendere JavaScript, gir SSR fortsatt en betydelig fordel, spesielt for nettsider med komplekse JavaScript-tunge applikasjoner. Et reisebyrås nettside som bruker SSR, vil få sine destinasjonssider korrekt indeksert, noe som sikrer at de vises i relevante søkeresultater.

Forbedret tilgjengelighet

SSR bidrar til bedre tilgjengelighet ved å levere HTML-innhold som enkelt kan tolkes av skjermlesere og andre hjelpeteknologier. Dette sikrer at nettsiden din er brukbar for personer med nedsatt funksjonsevne. Ved å rendere det opprinnelige innholdet på serveren, gir du et solid grunnlag for tilgjengelighet, selv før JavaScript er fullt lastet. For eksempel vil en offentlig nettside som bruker SSR sikre at alle borgere, uavhengig av deres evner, kan få tilgang til viktig informasjon.

Marko vs. andre rammeverk

Hvordan måler Marko seg mot andre populære UI-rammeverk som React, Vue og Angular?

Marko vs. React

React er et mye brukt bibliotek for å bygge brukergrensesnitt. Selv om React kan brukes med server-side rendering (ved hjelp av Next.js eller lignende rammeverk), baserer det seg vanligvis på klient-side rendering som standard. Markos strømmende SSR gir en ytelsesfordel over Reacts tradisjonelle SSR-tilnærming. Reacts økosystem er enormt og tilbyr mange biblioteker og verktøy, men dette kan også føre til kompleksitet. Marko fokuserer på enkelhet og ytelse, og tilbyr en mer strømlinjeformet utviklingsopplevelse. Tenk på en kompleks dashbord-applikasjon. Mens React tilbyr en komponentbasert tilnærming, kan Markos strømmende SSR gi en ytelsesboost for den første sideinnlastingen, spesielt ved visning av store datasett.

Marko vs. Vue

Vue er et annet populært rammeverk kjent for sin brukervennlighet og progressive tilnærming. Vue støtter også server-side rendering (ved hjelp av Nuxt.js). Marko og Vue deler noen likheter når det gjelder enkelhet og komponentbasert arkitektur. Imidlertid tilbyr Markos strømmende SSR en distinkt ytelsesfordel, spesielt for nettsider med høy trafikk eller komplekse brukergrensesnitt. Vue krever ofte mer manuell optimalisering for server-side rendering for å oppnå optimal ytelse. For eksempel kan en sosial medie-nettside dra nytte av Markos strømmende SSR for raskt å vise brukerfeeder og oppdateringer.

Marko vs. Angular

Angular er et fullverdig rammeverk som gir en omfattende løsning for å bygge komplekse nettapplikasjoner. Angular støtter server-side rendering gjennom Angular Universal. Imidlertid kan Angular være mer komplekst å lære og bruke sammenlignet med Marko og Vue. Markos fokus på enkelhet og ytelse gjør det til et overbevisende alternativ for prosjekter der ytelse er en topp prioritet. En stor bedriftsapplikasjon kan velge Angular for sine robuste funksjoner og skalerbarhet, men en mindre oppstartsbedrift kan velge Marko for sin hastighet og enkle utvikling.

Oppsummert: Mens React, Vue og Angular alle støtter server-side rendering, gir Markos innebygde strømmende SSR en betydelig ytelsesfordel. Marko prioriterer ytelse og enkelhet, noe som gjør det til et godt valg for prosjekter der disse faktorene er kritiske.

Kom i gang med Marko

Å komme i gang med Marko er relativt enkelt. Her er en grunnleggende oversikt:

  1. Installer Node.js: Sørg for at du har Node.js installert på systemet ditt.
  2. Installer Marko CLI: Kjør `npm install -g marko-cli` for å installere Markos kommandolinjegrensesnitt globalt.
  3. Opprett et nytt Marko-prosjekt: Bruk kommandoen `marko create mitt-prosjekt` for å opprette et nytt Marko-prosjekt.
  4. Utforsk prosjektstrukturen: Prosjektet vil inneholde filer som `index.marko` (din hovedkomponent), `server.js` (ditt inngangspunkt på serversiden), og `marko.json` (din prosjektkonfigurasjon).
  5. Kjør utviklingsserveren: Bruk kommandoen `npm start` for å starte utviklingsserveren.
  6. Begynn å bygge dine komponenter: Opprett nye `.marko`-filer for komponentene dine og importer dem inn i hovedkomponenten din.

Eksempel på Marko-komponent (index.marko):


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Marko Eksempel</title>
  <!MARKUPROCESSED>
</head>
<body>
  <h1>Hallo, verden!</h1>
  <p>Dette er en enkel Marko-komponent.</p>
</body>
</html>

Eksempel på server-side rendering (server.js):


require('marko/node-require').install();
require('marko/compiler').configure({
  resolveCssUrls: true,
  cache: true
});

const express = require('express');
const marko = require('marko');
const template = marko.load(require.resolve('./index.marko'));

const app = express();

app.get('/', (req, res) => {
  template.render({}, res);
});

app.listen(3000, () => {
  console.log('Server startet på port 3000');
});

Dette er bare grunnleggende eksempler for å komme i gang. Marko tilbyr et vell av funksjoner og alternativer for å bygge komplekse nettapplikasjoner. Se den offisielle Marko-dokumentasjonen for mer detaljert informasjon.

Eksempler på Marko i bruk fra den virkelige verden

Selv om eBay opprinnelig utviklet Marko, brukes det nå av en rekke selskaper i forskjellige bransjer:

Disse eksemplene viser Markos allsidighet og egnethet for et bredt spekter av nettapplikasjoner.

Beste praksis for bruk av Marko

For å få mest mulig ut av Marko, vurder disse beste praksisene:

Konklusjon: Marko – et kraftig valg for moderne webutvikling

Marko er et kraftig og allsidig UI-rammeverk som tilbyr en overbevisende løsning for å bygge høyytelses-nettapplikasjoner. Dets deklarative syntaks, kapabiliteter for strømmende SSR og fokus på enkelhet gjør det til et utmerket valg for utviklere som ønsker å forbedre nettsidens ytelse, forbedre brukeropplevelsen og øke SEO. Ved å ta i bruk Marko kan utviklere skape nettsider og nettapplikasjoner som er raske, responsive og tilgjengelige for brukere over hele verden. Enten du bygger en liten personlig nettside eller en stor bedriftsapplikasjon, er Marko verdt å vurdere som ditt valg av UI-rammeverk. Dets vekt på å levere innhold raskt og effektivt gjør det spesielt relevant i dagens globaliserte og ytelsesdrevne digitale landskap.

Videre ressurser: