ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로그래밍 언어 : 집에서 Scala.js를 1.0 버전으로 곧바로
    건강과 과학/과학기술 2019. 12. 3. 11:24

    프로그래밍 언어 : 집에서 Scala.js를 1.0 버전으로 곧바로

    Scala-to-JavaScript 컴파일러는 4 년 동안 실험적인 것으로 간주되지 않았지만 1.0에 이르는 큰 단계는 2020 년까지는 아닙니다.

    Scala.js 개발자는 1.0 버전의 Scala-to-JavaScript 컴파일러의 첫 번째 릴리스 후보를 발표했습니다. 완성 된 버전은 2020 년 1 월 말로 예정되어 있습니다. 1.0 릴리스는 프로덕션 용도의 프로젝트 성숙도를 강조하며 향후 마이너 릴리스의 이전 버전과의 호환성을 보장하도록 설계되었습니다.

    전 세계적으로 행동
    Scala.js 1.0은 버전 0.6.x와 비교했을 때 새로운 기능 대신 단순화에 중점을 두었 기 때문에 큰 변화가 없었습니다. 그러나 중요한 자바 스크립트 전역 참조에 변화가 js.Dynamic.global와 @JSGlobalScope자바 스크립트의 전역, 더 이상 전역 객체에 대한 액세스.

    즉, 정적으로 정의되고 허용 된 JavaScript 식별자가 모두있는 객체에만 액세스 할 수 있습니다. 이는 Scala.js 1.0의 다음 코드 줄이 컴파일 오류를 발생 시킨다는 것을 의미합니다.

    val mathName = "math"
    println (js.Dynamic.global.selectDynamic (mathName))

    println (js.Dynamic.global.`not-a-valid-JS-identifier`)
    마지막 줄의 액세스는 식별자에 무단 이름을 사용하고 두 번째 줄은 Math런타임에 정의됩니다. 같은 이름으로 기본 객체에 액세스

    println(js.Dynamic.global.Math)
    정적으로 정의되었으므로 허용됩니다.

    전역 범위를 참조하는 긍정적 인 부작용은 Scala.js require()가 Node.js 와 같이 기본적으로 특수 변형을 제공하는 전역 변수에 액세스 할 수 있다는 것 입니다.

    더 나은 중첩
    버전 1.0을 사용하면 Scala.js는 기본 내부 클래스의 정의를 단순화합니다. 버전 0.6.x까지는 다소 번거로운 절차가 필요했습니다 . 또한 네이티브가 아닌 중첩 JavaScript 클래스에서도 사용할 수 있습니다 js.constructorOf.

    그중에서도 컴파일러는 기본 ES2015 코드로 생성 한 반면, 이전 모델은 여전히 ​​엄격한 모드에서 더 이상 사용되지 않는 ES 5.1로 컴파일되었다고 언급 할 가치가 있습니다. 그러나 후자는 sbt의 수정 된 설정을 통해 추가로 생성 될 수 있습니다.

    ThisBuild의 scalaJSLinkerConfig ~ =
      {_.withESFeatures (_. withECECScript2015 (false))}
    처분 된 오염 된 사이트
    버전 1.0으로 점프하기 위해 개발자는 몇 가지 오래된 끈을 잘라 냈습니다. 예를 들어, 컴파일러는 Scala 2.10.x 또는 부 버전 2.11.0 ~ 2.11.11을 지원하지 않지만 2.11.12는 2.11.series에서 계속 허용됩니다. Java Development Kit와 관련하여 컴파일러는 버전 6 및 7을 포기합니다. 빌드 도구 sbt를 사용하면 Scala.js에는 버전 1.2.1 이상이 필요하지만 이전 버전은 여전히 ​​sbt 0.13.x를 사용했습니다.

    버전 Scala.js 0.6.x에서 폐기 된 요소는 버전 1.0에서 사라집니다. 따라서 Scala.js 팀은 Scala.js 0.6.31로 기존 프로젝트를 먼저 컴파일하고 더 이상 사용되지 않는 경고를 처리 할 것을 권장합니다.

    집까지 먼 길
    Scala.js는 6 년의 역사를 되돌아 봅니다. 컴파일러는 스칼라 프로그래밍 언어 같았다 로잔 연방 공과 대학교 (EPFL)에서. 버전 0.6 의 출시 초기 에 개발자들은 이미 도구를 더 이상 실험용으로 표시하지 않음으로써 2015 년 전문가 용으로 어느 정도 성숙함을 인증했습니다.

    스칼라의 창시자 인 Martin Odersky는 컴파일러를 프로그래밍 언어의 중요한 기둥으로 본다. 그는 Heise Developer와의 인터뷰에서 Scala.js에 다음과 같이 말했습니다. "이것은 매우 강력한 구현이지만, 현재는 프론트 엔드를 원하는 Scala 개발자들이 주로 사용하고 있지만 Scala.js도 그렇게 생각합니다. 다른 사람들이 JavaScript에서 오는 것을 볼 수 있습니다.

    Scala.js 1.0의 출시 후보에 대한 자세한 내용은 공식 발표 에서 찾을 수 있습니다

Designed by Tistory.