Mint The il linguaggio di programmazione per la scrittura di applicazioni a pagina singola (SPA)

Introduzione

Ciao! 👋 Oggi, vi racconterò la storia di Mint lang, molto giovane (ma interessante) linguaggio di programmazione incentrato sulla costruzione di SPA (applicazioni a pagina singola). Ha tutti gli strumenti necessari per scrivere applicazioni senza errori, facilmente leggibili e manutenibili in tempi record.

Impressionato? Anch’io! Affrontiamola insieme… 😉

Table Sommario

  • Che cosa è Mint lang in realtà?
    • Perché non JavaScript?
    • Perché non Elm?
  • Perché menta?
  • Menta strumenti & ecosistema
    • Editor estensioni
    • CLI
    • Decentralizzato di gestione dei pacchetti
    • Routing
    • lo stile CSS
  • risultato Finale

Menta lang logo

Cosa c’è di Menta lang in realtà?

Prima di tutto, Menta scritta sul cristallo:

un linguaggio di programmazione general-purpose, orientato agli oggetti con sintassi ispirata al linguaggio Ruby si tratta di un linguaggio compilato con il tipo di controllo statico, ma specificando i tipi di variabili o argomenti del metodo è generalmente non necessari.

— Wiki

Quindi, segui la guida ufficiale di Mint:

Mint è un linguaggio creato appositamente per la scrittura di applicazioni a pagina singola. È un compilatore e un framework combinati per fornire una grande esperienza di sviluppo, consentendo di scrivere codice sicuro, leggibile e manutenibile.

Sì, è vero! Guarda a questo codice (mi dispiace per l’evidenziazione del codice):

// 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> }}
Entra in modalità schermo intero Esci dalla modalità schermo intero

Molto simile a un linguaggio strettamente tipizzato, ma con incluso lo stile JSX, giusto?

È nato dalla frustrazione del linguaggio JavaScript e dell’ecosistema (NPM) e del linguaggio Elm e non è così aperto pratiche di sviluppo.

OK! 👌 Decidiamo subito: perché non JavaScript e cosa c’è di sbagliato in Elm.

Perché non JavaScript?

JavaScript non è un linguaggio fortemente tipizzato che rende difficile scrivere codice privo di errori e porta a un’esperienza di sviluppo non così grande.

Inoltre, non ha gli strumenti per creare applicazioni web fuori dalla scatola, sono necessari framework e compilatori e strumenti di creazione che aumentano la complessità.

Perché non Elm?

Elm ha una grande esperienza di sviluppo, ma essendo un linguaggio puramente funzionale porta ad un codice standardizzato e rende più difficile l’apprendimento.

Inoltre, non è possibile contribuire o influenzare la lingua in modo significativo.

Perché Mint lang? 🤔

Mint mira a combinare l’esperienza degli sviluppatori di Elm e l’espressività di React per creare il linguaggio perfetto per la creazione di applicazioni a pagina singola.

Dopo un anno di sviluppo, Mint ha le seguenti caratteristiche:

  1. Un buon sistema di tipo
  2. Bella messaggi di errore
  3. Formatter
  4. Componenti per la composizione
  5. Negozi per l’archiviazione dei dati
  6. Built-in styling
  7. Built-in di routing
  8. Grande JavaScript interoperabilità
  9. Immutabile strutture di dati

Menta strumenti ecosistema

Menta strumenti & ecosistema

non vorrei parlare di questo linguaggio di programmazione, se non si dispone di un ecosistema per l’avvio e lo sviluppo. Quindi! 😎

Editor estensioni

  • VS Codice — aggiunge l’evidenziazione della sintassi e completamento automatico di supporto
  • Emacs — aggiunge l’evidenziazione della sintassi e auto-formattazione usando mint formato
  • IntelliJ IDEA — aggiunge l’evidenziazione della sintassi
  • Atom — aggiunge l’evidenziazione della sintassi
  • Vim — molto minimale (ma funzionante) sintassi/ftdetect combo

CLI

l’Installazione di Mint CLI tramite il comando:

# 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
Inserire schermo intero Esci dalla modalità schermo intero

E ora, vedere tutti i comandi di chiamata con la Menta, --help flag:

$ 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━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Inserire schermo intero Esci dalla modalità schermo intero

Decentralizzato di gestione dei pacchetti

Questa pagina contiene i pacchetti che è possibile utilizzare nei vostri progetti:

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

Routing

Percorsi di un’applicazione sono definiti al livello superiore con il routes blocco. Tieni presente le seguenti cose:

  • Percorsi sono abbinati nell’ordine in cui sono definiti dall’alto verso il basso
  • Percorsi può avere un solo percorsi di blocco per l’applicazione
  • Percorsi sono utilizzati per impostare lo stato, non rendere le cose

codice di Esempio:

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) } }}
Inserire schermo intero Esci dalla modalità schermo intero

lo stile CSS

nuovi componenti, gli stili possono essere definite con un identificatore, poi applicato in HTML utilizzando l’identificatore di una classe CSS.

Uno stile può contenere qualsiasi numero di definizioni CSS, regole secondarie, query multimediali, istruzioni if e case.

Codice di esempio:

component Main { style button { background: red; color: white; border: 0; } fun render : Html { <button::button> "Click ME!" </button> }}
Entra in modalità schermo intero Esci dalla modalità schermo intero

Risultato finale

Dopo mint build, hai pronto per la produzione Preact SPA. Ecco fatto! 🎉

Foto di

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

P.S.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

More: