- introdução đ Hoje, vou contar-lhe a histĂłria sobre Mint lang, linguagem de programação muito jovem (mas interessante) focada na construção de SPA (aplicaçÔes de pĂĄgina Ășnica). Ele tem todas as ferramentas que vocĂȘ precisa para escrever aplicativos livres de erros, facilmente legĂveis e de manutenção em tempo recorde. Impressionado? Eu tambĂ©m! Vamos lidar com isto juntos… Ăndice o que Ă©, na verdade, um lang Mint?Por que nĂŁo JavaScript?Porque nĂŁo o Elm?
- o Que Ă© de Menta lang, na verdade?
- Mint ferramentas & ecossistema
- Editor de extensÔes
- CLI
- Descentralizado de gestĂŁo de pacotes
- Encaminhamento
- de Estilo CSS
- resultado Final
- Foto
- P. S.
introdução đ Hoje, vou contar-lhe a histĂłria sobre Mint lang, linguagem de programação muito jovem (mas interessante) focada na construção de SPA (aplicaçÔes de pĂĄgina Ășnica). Ele tem todas as ferramentas que vocĂȘ precisa para escrever aplicativos livres de erros, facilmente legĂveis e de manutenção em tempo recorde. Impressionado? Eu tambĂ©m! Vamos lidar com isto juntos… Ăndice
- o que Ă©, na verdade, um lang Mint?Por que nĂŁo JavaScript?Porque nĂŁo o Elm?
- Editor de extensÔes
- CLI
- Descentralizado de gestĂŁo de pacotes
- Roteamento
- Estilo CSS
o Que Ă© de Menta lang, na verdade?
em primeiro lugar, menta escrita em cristal:
a general-purpose, object-oriented programming language with syntax inspired by the language Ruby it is a compiled language with static type-checking, but specifying the types of variables or method arguments is generally unneeed.Segue o Guia Oficial da Casa da moeda.:
Mint Ă© uma linguagem criada especificamente para escrever aplicaçÔes de uma Ășnica pĂĄgina. Ă um compilador e um framework combinado para fornecer grande experiĂȘncia de desenvolvedor, permitindo escrever cĂłdigo seguro, legĂvel e sustentĂĄvel.Sim, Ă© verdade! Procura por este cĂłdigo (desculpe o realce de cĂłdigo):
// 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> }}
entrar no modo de ecrĂŁ completo sair do modo de ecrĂŁ completomuito semelhante a uma linguagem estritamente tipificada, mas com incluĂdo JSX-style, certo?
nasceu da frustração da linguagem JavaScript e do ecossistema (MPN) e da linguagem Elm e nĂŁo Ă© tĂŁo aberto prĂĄticas de desenvolvimento.OK! đ Vamos decidir imediatamente: Por que nĂŁo JavaScript e o que hĂĄ de errado com Elm.Por que nĂŁo JavaScript?
JavaScript nĂŁo Ă© uma linguagem fortemente tipada, o que torna difĂcil escrever cĂłdigo livre de erros e leva a nĂŁo ser tĂŁo grande experiĂȘncia de desenvolvimento.
tambĂ©m, ele nĂŁo tem as ferramentas para criar aplicaçÔes web a partir da caixa, vocĂȘ precisa de frameworks e Compiladores e construir ferramentas que aumentam a complexidade.Porque nĂŁo o Elm?
Elm tem grande experiĂȘncia de desenvolvimento, mas sendo uma linguagem puramente funcional leva a algum cĂłdigo boilerplate e torna mais difĂcil de aprender. AlĂ©m disso, nĂŁo Ă© possĂvel contribuir ou influenciar a linguagem de forma significativa.PorquĂȘ Mint lang? đ€
Mint tem como objetivo combinar a experiĂȘncia do desenvolvedor da Elm e a expressividade da Reat para criar a linguagem perfeita para a construção de aplicaçÔes de uma Ășnica pĂĄgina.ApĂłs um ano de desenvolvimento, a Casa Da Moeda apresenta as seguintes caracterĂsticas ::
- Um bom sistema de tipo
- Bom mensagens de erro
- Formatador
- Componentes para composição
- Lojas para armazenamento de dados
- ConstruĂdo em estilo
- roteamento interna
- Grande JavaScript interoperabilidade
- ImutĂĄvel estruturas de dados
Mint ferramentas & ecossistema
eu nĂŁo iria falar sobre esta linguagem de programação, se ele nĂŁo tem um ecossistema para o inĂcio e o desenvolvimento. EntĂŁo! đ
Editor de extensÔes
- VS CĂłdigo â adiciona destaque de sintaxe, e o preenchimento automĂĄtico de suporte
- Emacs â adiciona destaque de sintaxe e auto-formatação usando o mint formato
- IntelliJ IDEA â adiciona destaque de sintaxe
- Ătomo â adiciona destaque de sintaxe
- Vim â mĂnimo (mas sim trabalho) sintaxe/ftdetect combinação
CLI
Instalar o Mint CLI através de 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
Introduza o modo de tela cheia Sair do modo de tela cheiaE agora, ver todos os comandos de chamada de HortelĂŁ com
--help
bandeira:$ 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ââââââââââââââââââââââââââââââââââââââââââ
Introduza o modo de tela cheia Sair do modo de tela cheiaDescentralizado de gestĂŁo de pacotes
Esta pĂĄgina contĂ©m os pacotes que vocĂȘ pode usar em seus projetos:
- https://www.mint-lang.com/packages
Encaminhamento
Rotas de uma aplicação sĂŁo definidos no nĂvel superior, com a
routes
bloquear. Tenha em mente as seguintes coisas:
- Rotas sĂŁo combinados na ordem em que eles sĂŁo definidos de cima para baixo
- Rotas só pode ter um de rotas de bloco por aplicação
- Rotas sĂŁo utilizados para definir o estado, nĂŁo tornar as coisas
Exemplo de cĂłdigo:
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) } }}
Introduza o modo de tela cheia Sair do modo de tela cheiade Estilo CSS
No Mint componentes, os estilos podem ser definidas com um identificador e, em seguida, aplicado para HTML usando o identificador como uma classe CSS.
a style can contain any number of CSS definitions, sub rules, media queries,
if
andcase
statements.Exemplo de cĂłdigo:
component Main { style button { background: red; color: white; border: 0; } fun render : Html { <button::button> "Click ME!" </button> }}
Introduza o modo de tela cheia Sair do modo de tela cheiaresultado Final
Depois
mint build
, vocĂȘ tem pronto para produção Preact SPA. Ă isso! đFoto
Ben Kolde https://unsplash.com/photos/H29h6a8j8QM
Mint autores https://www.mint-lang.com
Anthony Fomin https://unsplash.com/photos/Hr6dzqNLzhwP. S.