>  기사  >  웹 프론트엔드  >  자바스크립트와 다트의 차이점

자바스크립트와 다트의 차이점

Guanhui
Guanhui앞으로
2020-06-01 09:11:543671검색

자바스크립트와 다트의 차이점

자바스크립트란 무엇인가요?

JavaScript는 종종 브라우저 스크립팅 언어로 언급되지만 많은 서버 측 및 모바일 애플리케이션 개발 환경으로 확장되었습니다. JS는 거의 20년 동안 존재해 왔으며 실제로 성숙하고 안정적인 프로그래밍 언어라고 해도 과언이 아닙니다. Facebook이 React 및 React Native 프레임워크를 출시한 이후 JS는 점점 더 인기를 얻었습니다.

JavaScript에는 NPM 및 Yarn과 같은 자체 패키지 관리자가 있습니다. 이제 JavaScript가 선호되고 인기가 있음에도 불구하고 프로그래밍 커뮤니티에서는 여전히 엇갈린 평가를 받고 있습니다. 그럼에도 불구하고 JavaScript에는 StackOverFlow에 태그된 거의 200만 개의 질문이 포함되어 있으므로 JavaScript의 인기는 의심할 여지가 없습니다.

다트란 무엇인가요?

Dart는 다양한 플랫폼의 빠른 애플리케이션에 맞게 클라이언트측에 최적화되도록 Google이 특별히 설계한 언어입니다. Google은 원래 웹, 서버 및 모바일 애플리케이션을 구축하기 위한 내부 프로그래밍 언어로 이를 사용했습니다. Dart는 2011년부터 존재했지만 Google이 크로스 플랫폼 모바일 앱 개발을 위해 Flutter를 발표한 이후 인기를 얻었습니다. 유일한 이유는 Flutter가 완전히 Dart를 기반으로 하기 때문입니다. 따라서 모바일 개발자가 Flutter를 사용하려면 Dart를 배워야 합니다.

Dart는 C와 같은 다른 프로그래밍 언어와 유사하게 소스 코드를 컴파일합니다. 하지만 Dart VM이라는 기본 애플리케이션을 실행하기 위한 자체 가상 머신(VM)도 있습니다. Dart에는 Pub이라는 자체 패키지 관리자도 있습니다. dart 및 javaScript

dart.js

void main() {
  print("Hello World");
}

javaScript

console.log("Hello World")

javaScript vs. 다트 비교를 사용한 샘플 응용 프로그램 자바스크립트를 실행하세요. 현재 JavaScript는 웹, 모바일 및 서버 측 코드를 작성하는 데 사용됩니다. JavaScript는 StackOverflow의 거의 200만 개에 달하는 질문에 태그되었습니다.

JS 생태계는 그 인기에 힘입어 거대하고 이제 Cloud Component Center의 등장으로 재사용 가능한 구성 요소 "시장"까지 장악하고 있습니다. 한편 Dart는 점점 대중화되고 있지만 여전히 JavaScript와는 거리가 멀습니다. Google이 Flutter를 발표하기 전에는 Dart를 찾을 수 없었습니다. Dart는 JavaScript를 지원하지 않는 개발자의 관심을 끌고 있습니다. 현재 Dart에는 StackOverFlow에 태그된 질문이 거의 30,000개에 달합니다.

2. 학습 곡선

특히 프로그래밍 개념에 대한 배경 지식이 없는 초보자에게는 JavaScript가 상당히 까다로울 수 있는 것으로 알려져 있습니다. 하지만 자바스크립트는 웹 개발의 핵심 중 하나이기 때문에 대학이나 부트캠프에서 가르치는 주요 언어 중 하나입니다. 실제로 HTML, CSS, JavaScript는 웹 개발의 삼총사라고 불립니다. JavaScript를 배우는 데 도움이 되는 다양한 강좌와 튜토리얼이 온라인에 있습니다.

그러나 Dart의 경우 상황은 매우 다릅니다. Dart를 배우는 것은 JavaScript만큼 잘 알려져 있지 않고 상대적으로 학습 자료가 적기 때문에 초보자에게는 매우 위협적일 수 있습니다. 하지만 Google은 다른 OOP 언어 개발자가 Dart로 원활하게 전환할 수 있도록 돕기 위해 최선을 다하고 있습니다.

3. 유형 안전성

이는 JavaScript와 Dart의 주요 차이점 중 하나입니다. 해석된 언어로서 JavaScript는 동적 타이핑과 덕 타이핑을 지원합니다. 덕 타이핑(Duck Typing)은 객체 자체의 종류보다는 특정 메소드나 속성의 유무를 기준으로 객체가 특정 목적에 적합한지를 판단하는 타입이다. Javascript를 사용하면 모든 코드를 입력할 수 있으므로 유형이 안전하지 않은 언어가 되어 런타임에만 오류가 발견됩니다.

반대로 Dart는 느슨하고 강력한 프로토타이핑을 지원합니다. 컴파일된 언어인 Dart는 컴파일 중에 대부분의 오류를 포착할 수 있어 JavaScript보다 유형이 더 안전합니다.

4. 기업용

JavaScript는 대규모 프로젝트에서도 웹 및 크로스 플랫폼 애플리케이션 구축을 위해 상업적으로 사용됩니다. Facebook에서 도입한 웹 및 크로스 플랫폼 프레임워크인 React와 React Native는 JavaScript를 사용하며 Facebook 내부에서 사용됩니다. Airbnb, Slack, eBay 등과 같은 다른 회사도 JavaScript를 사용합니다.

Dart의 탄생지는 Google이므로 초기에는 내부적으로 널리 사용되었습니다. 그런 다음 Flutter가 도입된 후 Alibaba와 같은 대기업은 Flutter와 Dart를 채택하여 크로스 플랫폼 애플리케이션을 개발했습니다.

Dart를 JavaScript로 컴파일

자바스크립트와 다트의 차이점Dart에는 두 가지 JS 컴파일러가 있으며 Webdev Tools는 사용 사례에 따라 가장 적합한 컴파일러를 선택합니다. 애플리케이션을 개발할 때 webdev는 편집 결과를 빠르게 확인할 수 있도록 증분 컴파일을 지원하는 dartdevc를 선택합니다. 그러나 배포용 애플리케이션을 구축할 때 webdev는 트리 쉐이킹과 같은 기술을 사용하여 최적화된 코드를 생성하는 dart2js를 선택합니다.

Dart 팀은 dart2js 컴파일 코드가 직접 작성한 JS보다 빠르게 실행되도록 열심히 노력하고 있습니다. 모든 경우에 그런 것은 아니지만 가까운 시일 내에 심각한 경쟁이 벌어질 것으로 예상할 수 있습니다.

장점과 단점

JavaScript

장점:

  • JavaScript는 웹과 모바일 애플리케이션 모두에서 사용할 수 있습니다.

  • 프런트엔드와 백엔드 모두에서 사용할 수 있으므로 모든 기기에서 JavaScript를 실행할 수 있습니다.

  • JavaScript에는 온라인에서 사용할 수 있는 대규모 커뮤니티와 훌륭한 프레임워크가 있습니다.

  • 가벼움과 유연성.

  • 많은 학습자료를 만나보실 수 있습니다.

단점:

  • JS용 라이브러리는 많지만 품질과 유지 관리가 열악한 라이브러리도 많습니다.

  • 오류는 런타임에만 발견됩니다.

Dart

장점:

  • 오픈 소스.

  • 대기업인 Google의 지원을 받습니다.

  • JIT 및 AOT를 사용하여 안전하게 입력하고 컴파일했습니다.

  • Flutter의 중추.

  • 어떤 경우에는 상대적으로 더 빠릅니다.

단점:

  • 프로그래머에게는 비교적 새로운 것입니다.

  • JavaScript에 비해 학습 자료가 방대하지 않습니다.

추천 튜토리얼: "JS Tutorial"

위 내용은 자바스크립트와 다트의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.im에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제