'Processing'에 해당되는 글 1건

  1. 2008.05.16 Processing.js: JavaScript와 Canvas로 Processing 언어를 구현하다!
사용자 삽입 이미지

John Resig 씨가 7달간 작업해오던 Processing의 포팅을 완료했습니다. Processing은 "전자 예술(electroinc arts)과 시각 디자인 커뮤니티를 위한 프로그래밍 언어와 통합 개발 환경" 이며, 시각적인 요소로 컴퓨터 프로그래밍의 기초를 가르치고 전자 스케치북의 기반을 제공하기 위해 만들어졌습니다. Processing의 확실한 목표중 하나는 시각적 피드백의 즉각적인 만족감을 통해 프로그래밍을 시작하는 비개발자들을 위한 도구로서의 역할입니다."

Processing.js는 그 작업을 브라우저에서 하도록 하려고 Canvas와 분명한 JavaScript를 사용했습니다.

John씨가 이 퍼즐의 두 조각에 대해 말했습니다:

The Processing Language

프로젝트의 첫번째 부분은 Processing 언어로 쓰여진 코드를 JavaScript로 동적 변환하기 위한 파서를 작성하는 것이었습니다. 파서에는 코드를 주물럭거려 브라우저가 이해할 수 있는 형태로 내놓는 상당히 많은 양의 멋진 정규표현식이 포함되어있습니다.

Processing 언어에 흥미로운 면이 매우 많이 있고, 그들 중 많은 부분이 기본 데모에서 다루어졌습니다.

아래가 다루어진 언어 기능의 몇가지 입니다:

  • 타입과 타입 캐스팅 - 타입 정보는 일반적으로 무시되지만, 변수 선언과 캐스팅(자주 다루는)에서는 중요해집니다.
  • 클래스 - 완벽한 클래스 체계가 지원됩니다(인스턴스화 가능, etc. just fine).
  • 메소드 오버로딩과 복수 생성자 - 클래스 내부에서 복수의 메소드(혹은 생성자)를 정의할 수 있습니다 - 인자 길이에 기반해 적합한 메소드를 호출합니다.
  • 상속 - 고전적인 형태의 상속도 지원합니다.

주의: 도저히 지원할 수 없었던 Processing의 기능도 한가지 있습니다: 변수명 오버로딩. Processing에서는 변수와 함수가 같은 이름을 사용할 수 있습니다(예. float size = 0; float size(){}). 이를 지원하려면 심각한 부하가 있을 수 밖에 없고, 그렇게 시작하는 것이 일반적으로 좋은 습관은 아닙니다.

The Processing API

프로젝트의 두번째 부분은 풀 2d 프로세싱 API 였습니다. 여기에는 모든 종류의 메소드들이 포함되었습니다:

  • Shapes drawing
  • Canvas manipulation
  • Pixel utilities
  • Image drawing
  • Math functions
  • Keyboard and mouse access
  • Objects (point, arrays, random number generators)
  • Color manipulation
  • Font selection and text drawing
  • Buffers

from Processing.js: Port of the Processing language to JavaScript and Canvas on Ajaxian
Posted by 행복한고니 트랙백 1 : 댓글 0