Mint 🌿 programmeringssprĂ„ket for Ă„ skrive enkeltsideapplikasjoner (SPA)

Innledning

Hei! I dag vil jeg fortelle deg historien Om Mint lang, veldig ung (men interessant) programmeringssprÄk fokusert pÄ Ä bygge SPA (enkelt side applikasjoner). Den har alle verktÞyene du trenger for Ä skrive feilfrie, lett lesbare og vedlikeholdbare applikasjoner pÄ rekordtid.

Imponert? Jeg ogsĂ„! La oss hĂ„ndtere dette sammen… 😉

📝 Innhold

  • Hva er Mint lang egentlig?
    • Hvorfor Ikke JavaScript?
    • Hvorfor Ikke Elm?
  • Hvorfor Mynte?
  • MyntverktĂžy & Ăžkosystem
    • Redigeringsutvidelser
    • CLI
    • Desentralisert pakkehĂ„ndtering
    • Ruting
    • CSS Styling
  • Endelig resultat

Mint lang logo

Hva Er Mint lang egentlig?

FĂžrst Av Alt, Mint skrevet PĂ„ Krystall:

et generelt, objektorientert programmeringssprÄk med syntaks inspirert Av SprÄket Ruby Det er et kompilert sprÄk med statisk typekontroll, men det er generelt unÞdvendig Ä angi variabeltyper eller metodeargumenter.

– Wiki

FĂžlg deretter Offisiell Mint guide:

Mint Er et sprÄk spesielt opprettet for Ä skrive enkeltsideapplikasjoner. Det er en kompilator og et rammeverk kombinert for Ä gi god utvikler erfaring samtidig som Ä skrive trygt, lesbar og vedlikeholdsbar kode.

ja, det er sant! Ser pÄ denne koden (beklager koden utheving):

// src/App.mintcomponent Counter { state counter : Number = 0 fun increment : Promise(Never, Void) { next { counter = counter + 1 } } fun decrement : Promise(Never, Void) { next { counter = counter - 1 } } fun render : Html { <div> <button onClick={decrement}> "Decrement" </button> <span> <{ Number.toString(counter) }> </span> <button onClick={increment}> "Increment" </button> </div> }}
GĂ„ inn i fullskjermmodus Avslutt fullskjermmodus

SvÊrt lik et strengt typifisert sprÄk, men med inkludert JSX-stil, ikke sant?

Det ble fÞdt ut av frustrasjonen Til JavaScript language and ecosystem (NPM) og Elm-sprÄket, og det er ikke sÄ Äpen utviklingspraksis.

OK! 👌 La oss bestemme med en gang: hvorfor Ikke JavaScript og hva som er galt Med Elm.

Hvorfor Ikke JavaScript?

JavaScript Er ikke et sterkt skrevet sprÄk som gjÞr Det vanskelig Ä skrive feilfri kode og fÞrer til ikke sÄ stor utvikleropplevelse.

det har heller Ikke verktĂžyene for Ă„ lage webapplikasjoner ut av boksen, du trenger rammer og kompilatorer og bygge verktĂžy som Ăžker kompleksiteten.

Hvorfor Ikke Elm?

Elm har stor utvikleropplevelse, Men Det er et rent funksjonelt sprÄk som fÞrer til noe standardkode og gjÞr det vanskeligere Ä lÊre.

det er heller Ikke mulig Ä bidra eller pÄvirke sprÄket pÄ noen meningsfull mÄte.

Hvorfor Mint lang? đŸ€”

Mint har som mÄl Ä kombinere utvikleropplevelsen Av Elm og Uttrykksevnen Til React for Ä skape det perfekte sprÄket for Ä bygge enkeltsideapplikasjoner.

Etter ett Ă„rs utvikling Har Mint fĂžlgende funksjoner:

  1. et godt typesystem
  2. Fine feilmeldinger
  3. Formatter
  4. Komponenter for komposisjon
  5. Lagrer for datalagring
  6. Innebygd styling
  7. Innebygd ruting
  8. Flott JavaScript interoperabilitet
  9. uforanderlige datastrukturer

Mint tools Ăžkosystem

Mint tools & Ăžkosystem

jeg ville ikke snakke om dette programmeringssprĂ„ket hvis det ikke hadde et Ăžkosystem for Ă„ starte og utvikle. SĂ„! 😎

redigeringsutvidelser

  • VS — Kode — legger til syntaksutheving og autofullfĂžr stĂžtte
  • Emacs-legger til syntaksutheving og automatisk formatering ved hjelp av mint — format
  • IntelliJ IDEA — legger til syntaksutheving
  • Atom — legger til syntaksutheving
  • Vim-veldig minimal (men fungerende) syntaks/ftdetect combo

cli

installere mint cli via kommando:

# For macOS:$ brew tap homebrew-community/alpha$ brew install mint-lang# For Linux:$ wget --no-verbose -O mint https://mint-lang.s3-eu-west-1.amazonaws.com/mint-latest-linux$ chmod +x ./mint$ sudo mv ./mint /usr/local/bin/mint
GĂ„ inn i fullskjermmodus Avslutt fullskjermmodus

og nÄ, se alle kommandoer av call Mint med --help flagg:

$ mint --helpMint - Help━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Usage: mint MintFlags: --env, -e (default: "") # Loads the given .env file --help # Displays help for the current command.Subcommands: build # Builds the project for production docs # Starts the documentation server format # Formats source files init # Initializes a new project install # Installs dependencies loc # Counts Lines of Code start # Starts the development server test # Runs the tests version # Shows version━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GĂ„ inn i fullskjermmodus Avslutt fullskjermmodus

Desentralisert pakkehÄndtering

denne siden inneholder pakkene du kan bruke i prosjektene dine:

  • https://www.mint-lang.com/packages

Ruting

Ruter for et program er definert pĂ„ Ăžverste nivĂ„ med routes – blokken. Husk fĂžlgende ting:

  • Ruter matches i den rekkefĂžlgen de er definert fra topp til bunn
  • Ruter kan bare ha en ruter blokk per program
  • Ruter brukes til Ă„ angi tilstanden, for ikke Ă„ gjengi ting

Eksempelkode:

routes { / { Application.setPage("index") } /users/:id (id: Number) { sequence { Application.setPage("show") Application.loadUser(id) } } /blog { Application.setPage("blog") } /blog/:slug (slug: String) { sequence { Application.setPage("post") Application.loadPost(slug) } }}
GĂ„ inn i fullskjermmodus Avslutt fullskjermmodus

CSS Styling

i Mint-komponenter kan stiler defineres med en identifikator, og deretter brukes PÅ HTML ved hjelp av identifikatoren som EN CSS-klasse.

en stil kan inneholde en rekke CSS definisjoner, sub regler, media spĂžrringer, if og case setninger.

Eksempelkode:

component Main { style button { background: red; color: white; border: 0; } fun render : Html { <button::button> "Click ME!" </button> }}
GĂ„ inn i fullskjermmodus Avslutt fullskjermmodus

Endelig resultat

etter mint build har du Produksjonsklar Preact SPA. Det er det! 🎉

bilde av

Ben Kolde https://unsplash.com/photos/H29h6a8j8QM
Myntforfattere https://www.mint-lang.com
Anthony Fomin https://unsplash.com/photos/Hr6dzqNLzhw

P. s.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.

More: