민트 단일 페이지 응용 프로그램을 작성하기위한 프로그래밍 언어(스파)

소개

안녕하세요! 오늘,나는 당신에게 민트 랭,스파(단일 페이지 응용 프로그램)를 구축에 초점을 맞춘 아주 어린(하지만 흥미로운)프로그래밍 언어에 대한 이야기를 말할 것이다. 그것은 당신이 기록 시간에 오류 무료,쉽게 읽을 수 및 유지 보수 응용 프로그램을 작성하는 데 필요한 모든 도구가 있습니다.

감동? 나도! 이 문제를 함께 처리합시다… 308>

목차

  • 민트 랭은 실제로 무엇입니까?
    • 왜 자바 스크립트?
    • 왜 느릅 나무가 아닌가?
  • 왜 민트?
  • 민트도구들&에코시스템
    • 편집기 확장
    • 분산 패키지 관리
    • 라우팅
  • 최종 결과

민트 랭 로고

민트 랭은 실제로 무엇입니까?

우선,크리스탈에 쓴 민트:

범용,언어 루비에서 영감을 구문과 객체 지향 프로그래밍 언어 그것은 정적 유형 검사와 컴파일 된 언어이지만,변수 또는 메소드 인수의 유형을 지정하는 것은 일반적으로 필요하지 않습니다.

—위키

다음,공식 민트 가이드를 따르십시오:

민트는 단일 페이지 응용 프로그램을 작성하기 위해 특별히 만들어진 언어입니다. 그것은 컴파일러와 안전 읽을 수 및 유지 보수 코드를 작성할 수 있도록하면서 훌륭한 개발자 경험을 제공하기 위해 결합 된 프레임 워크입니다.

예,사실입니다! 이 코드를 찾습니다(코드 강조 표시에 대해 죄송합니다):

// 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> }}
전체 화면 모드 입력 전체 화면 모드 종료

엄격하게 대표되는 언어와 매우 유사하지만 포함 된 스타일,맞습니까?

이것은 자바스크립트 언어와 생태계와 느릅나무 언어의 좌절에서 태어났고,그렇게 개방된 개발 관행이 아니다.

좋아! 지금 당장 결정하자:왜 자바 스크립트가 아니며 느릅 나무가 잘못되었는지.

왜 자바 스크립트?

자바스크립트는 강력한 형식의 언어가 아니므로 오류 없는 코드를 작성하기가 어렵고 개발자 경험이 그리 좋지 않습니다.

또한,상자 밖으로 웹 응용 프로그램을 만들 수있는 도구가 없습니다,당신은 프레임 워크와 컴파일러와 복잡성을 증가 도구를 구축해야합니다.

왜 느릅 나무가 아닌가?

느릅 나무는 훌륭한 개발자 경험을 가지고 있지만 순전히 기능적인 언어이기 때문에 일부 상용구 코드로 이어지고 배우기가 더 어려워집니다.

또한 의미있는 방식으로 언어에 기여하거나 영향을 줄 수는 없습니다.

왜 민트 랭? 🤔

민트는 느릅 나무의 개발자 경험과 단일 페이지 응용 프로그램을 구축하기위한 완벽한 언어를 만들 반응의 표현력을 결합하는 것을 목표로하고있다.

개발 1 년 후,민트는 다음과 같은 기능을 가지고 있습니다:

  1. 좋은 형식 시스템
  2. 좋은 오류 메시지
  3. 포맷터
  4. 컴포지션을위한 구성 요소
  5. 데이터 저장을위한 저장
  6. 내장 스타일
  7. 내장 라우팅
  8. 위대한 자바 스크립트 상호 운용성
  9. 불변 데이터 구조

민트 도구 생태계

민트 도구&생태계

이 시작 및 개발을위한 생태계가 없다면 나는이 프로그래밍 언어에 대해 이야기하지 않을 것이다. 그래서! 이맥스—민트 형식을 사용하여 구문 강조 및 자동 서식을 추가

  • 인텔리 아이디어—구문 강조를 추가
  • 아톰-구문 강조를 추가
  • 정력—아주 최소한의(하지만 작동)구문/다음 명령을 통해 민트를로드 할 수 있습니다.:
    # 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
    전체 화면 모드 입력 전체 화면 모드 종료

    그리고 지금,--help플래그와 호출 민트에 의해 모든 명령을 참조하십시오:

    $ 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━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    전체 화면 모드 입력 전체 화면 모드 종료

    분산 패키지 관리

    이 페이지에는 프로젝트에서 사용할 수 있는 패키지가 포함되어 있습니다:

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

    라우팅

    응용 프로그램의 경로는routes블록으로 최상위 수준에서 정의됩니다. 다음 사항에 유의하십시오:

    • 경로는 위에서 아래로 정의 된 순서대로 일치합니다
    • 경로는 응용 프로그램 당 하나의 경로 블록 만 가질 수 있습니다
    • 경로는 상태를 설정하는 데 사용되며

    예제 코드:

    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) } }}
    전체 화면 모드 입력 전체 화면 모드 종료

    스타일 지정

    민트 구성 요소에서 스타일을 식별자로 정의한 다음 식별자를 사용하여 스타일에 적용할 수 있습니다.

    스타일에는 여러 개의 정의,하위 규칙,미디어 쿼리,ifcase문이 포함될 수 있습니다.

    예제 코드:

    component Main { style button { background: red; color: white; border: 0; } fun render : Html { <button::button> "Click ME!" </button> }}
    전체 화면 모드 입력 전체 화면 모드 종료

    최종 결과

    mint build후,당신은 생산 준비 프리 액트 스파가 있습니다. 그게 다야!

    사진

    벤 콜데https://unsplash.com/photos/H29h6a8j8QM
    민트 작가https://www.mint-lang.com
    앤서니 포민https://unsplash.com/photos/Hr6dzqNLzhw

    추신

  • 답글 남기기

    이메일 주소는 공개되지 않습니다.

    More: