>  기사  >  웹 프론트엔드  >  JavaScript를 재생하는 잘 알려지지 않은 방법

JavaScript를 재생하는 잘 알려지지 않은 방법

黄舟
黄舟원래의
2017-02-21 11:23:481222검색



Stack OverFlow의 공동 창립자인 Jeff Atwood는 유명한 "Atwood의 법칙"을 제안한 적이 있습니다.

Any JavaScript로 작성할 수 있는 애플리케이션은 결국 JavaScript로 작성될 것입니다.

JavaScript로 구현할 수 있는 모든 애플리케이션은 결국 JavaScript로 구현될 것입니다.

현재 JavaScript가 가장 인기 있는 프로그래밍 언어 중 하나가 되었다는 것은 의심할 여지가 없습니다. 엔지니어들은 분명히 당신을 걱정할 것입니다. 최근 hackereart는 2016년 주류 프로그래밍 언어의 사용을 설명하는 블로그 게시물을 게시했습니다. JavaScript를 재생하는 잘 알려지지 않은 방법JavaScript를 재생하는 잘 알려지지 않은 방법JavaScript를 재생하는 잘 알려지지 않은 방법JavaScript를 재생하는 잘 알려지지 않은 방법

따라서 올해 가장 인기 있는 언어는 Yes가 될 것이라고 예측합니다. :

  • JavaScript

  • Java

  • Python

  • PHP

  • Matlab

  • Arduino

  • Swift

JavaScript는 인기 있는 프로그래밍 언어로서 다양한 분야로 그 영역을 확장하고 다양한 새로운 플레이 방식으로 변모했습니다. 다음 콘텐츠에서는 다른 사람들에게는 거의 알려지지 않은 JavaScript에 대해 살펴보겠습니다. . 친숙한 게임플레이:

Espruino

Espruino는 최소 리소스 오버헤드가 128KB 플래시 및 8KB RAM인 마이크로컨트롤러(MCU)용으로 특별히 설계된 JavaScript 인터프리터이며 MPL- 2.0 프로토콜.

저자 Gordon Williams는 단순히 모든 분야에 능통하며 최근 Espruino를 지원하는 하드웨어 Puck.js를 설계했습니다.

이 거인의 어깨에 제가 직접 개발한 하드웨어와 호환되도록 일부 수정했습니다. 관심 있는 친구들은 이를 복제하여 플레이할 수 있습니다.

Star

$ git clone http://www.php.cn/
$ cd Espruino

# 将 YS-Beacon 连接至 PC
$ YS_BEACON=1 RELEASE=1 make flash

# 终端跳出一大堆字符,板子上的蓝色灯闪烁,最后一切轻松搞定~
...
[====================] 100%
DEBUG:root:reset stop on Reset  
INFO:root:Programmed 446464 bytes (109 pages) at 14.56 kB/s  
DEBUG:root:uninit board <pyOCD.board.mbed_board.MbedBoard object at 0x1025e8a90>  
DEBUG:root:closing interface

Espruino에는 코드 편집, 프로그램 다운로드, 심지어 그래픽 프로그래밍에도 사용할 수 있는 지원 개발 도구 Espruino Web IDE도 있습니다. 다음은 단순히 LED 점멸을 구현한 코드인데, 익숙한 느낌이 드시나요?

var on = false;  
setInterval(function() {  
  on = !on;
  LED1.write(on);
}, 500);

JavaScript를 재생하는 잘 알려지지 않은 방법

흥미로운 점은 Espruino 하드웨어가 자바스크립트 인터프리터를 실행해서 업로드한다는 점입니다. JavaScript 코드는 RAM에만 저장되며 전원이 꺼지면 사라집니다. 이는 브라우저의 접근 방식과 정확히 동일하며 이는 동적 구문 분석 특성도 반영합니다.

JerryScript

Espruino가 약간 장난감 같다면 JerryScript는 좀 더 제품 지향적이라고 해야 할까요. JerryScript의 리소스 오버헤드는 높지 않고 RAM은 64KB 미만일 수 있으며, ROM은 200KB 미만일 수 있습니다.

JerryScript의 경우 IoT.js와 Samsung은 분리될 수 없습니다. 이들의 "삼각 관계"는 다음과 같습니다.

IoT.js는 JavaScript로 작성된 사물 인터넷 애플리케이션 플랫폼입니다. JerryScript는 임베디드 장치에 적합한 작은 JavaScript 엔진이며 Samsung은 IoT.js 및 JerryScript를 오픈 소스로 제공합니다.

전체 내부 구조는 다음과 같습니다. JavaScript를 재생하는 잘 알려지지 않은 방법

다음의 작은 코드 조각은 JerryScript의 기본 작업 흐름을 보여줍니다. 엔진 초기화 → JavaScript 코드 구문 분석 → 코드 실행 → 실행 종료 및 메모리를 해제합니다.

{
  jerry_init(JERRY_FLAG_ENABLE_LOG);

  char script[] = "print (&#39;Hello, World!&#39;);";
  jerry_parse(script, strlen(script));

  jerry_run();

  jerry_cleanup();
}

JerryScript의 소스 코드를 살펴보면 이미 일부 RTOS(예: Zephyr, mbed OS 등)에서 실행될 수 있다는 것을 알았습니다. 지난해 심천에서 열린 mbed Connect Asia 2016 컨퍼런스에서 Jan Jongboom은 JerryScript를 mbed OS 5에 도입했다고 말하며 몇 가지 간단한 예제를 소개했습니다. JavaScript를 재생하는 잘 알려지지 않은 방법

이제 mbed OS 5가 지원되므로 개발하는 하드웨어를 쉽게 지원할 수 있습니다. README를 참고하세요. 구현하는 것은 어렵지 않습니다.

$ git clone http://www.php.cn/

$ cd mbed-js-example

# 国内的朋友可以使用淘宝镜像安装依赖:cnpm install
$ npm install 

# 此处 gulp 用于获取 JerryScript 源码
$ gulp

# 获取 mbed os 最新源码
$ cd ./build/jerryscript/targets/mbedos5/mbed-os
$ git checkout master
$ git pull

# 从我的仓库拉回相关目标硬件配置文件
$ git remote set-url origin http://www.php.cn/
$ git pull

# 指定目标板子,自动编译
$ gulp --target=YS_BEACON

JavaScript로 작성된 애플리케이션의 소스 코드를 살펴보겠습니다. 낯설고 동시에 친숙하게 느껴지는지:

// blink_leds.js
var led = DigitalOut(LED1);

var blink = function() {  
    led.write(led.read() ? 0 : 1);
    print("blink! LED is now " + led.read());
};

module.exports = blink;

// main.js
var blink = require(&#39;./blink_leds&#39;);

setInterval(function() {  
    blink();
}, 1000);

컴파일된 mbedos5.hex 파일을 타겟에 다운로드합니다. 보드 타고 살펴보세요 원하는 결과인가요 : JavaScript를 재생하는 잘 알려지지 않은 방법

Blockly

프로그래밍 언어나 명령줄 창의 깜박이는 커서가 두려운 분이라면 Blockly 재미있고 흥미로운 도구가 될 수 있습니다. JavaScript를 재생하는 잘 알려지지 않은 방법Blockly는 Google에서 개발하고 오픈 소스로 제공하는 JavaScript 라이브러리로 그래픽 프로그래밍을 구현하는 데 사용됩니다. 변수, 표현식, 루프 등을 나타내는 일부 그래픽 블록을 드래그하고 결합하면 프로그래밍이 완료됩니다. 아주 쉽죠?

실제로 Blockly는 시각적 편집과 코드 생성이라는 한 가지 작업만 수행합니다. Blockly는 코드 이면의 동작에 신경 쓰지 않으므로 개발자에게 상상의 여지가 많습니다. 예를 들어 Ozobot은 지능형 로봇 장난감을 개발하여 플레이어가 Blockly를 사용하여 로봇의 동작을 프로그래밍할 수 있습니다.

You 브라우저가 비디오 태그를 지원하지 않습니다.

재밌지 않나요? 로봇이 없는게 아쉽네요. 그러나 Espruino를 사용하여 먼저 Blockly의 게임플레이를 경험한 다음 단계별로 나만의 로봇을 구축할 수 있습니다(예, 앞서 언급한 Espruino는 Blockly를 지원합니다). JavaScript를 재생하는 잘 알려지지 않은 방법

계속

아직 충분히 즐기지 못하셨나요? 아직 더 흥미로운 것들을 탐구 중입니다. 관심이 있는 친구들은 관심을 갖고 시작하면 공유하겠습니다.

위 내용은 잘 알려지지 않은 자바스크립트 게임플레이 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.