ECMAScript

Development/JavaScript 2012. 1. 23. 21:01

ECMA스크립트(ECMAScript)는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어이다. 이 언어는  상에서 널리 쓰이며, 흔히 자바스크립트 또는 J스크립트로도 생각할 수 있지만 두 용어는 특별한 의미 차이가 있다. ECMA스크립트와 자바스크립트, J스크립트의 관계를 이해하기 위해서는 ECMA스크립트의 역사를 알아야 한다.

이 언어에 대한 소개는 자바스크립트 항목을 참고하라.

목차

  [숨기기

[편집]역사

1996년 3월, 넷스케이프 커뮤니케이션 코퍼레이션에서 넷스케이프 네비게이터 2.0을 출시하면서 자바스크립트를 지원하기 시작했다. 웹 페이지 동작을 향상시키는 언어로서 자바스크립트의 성공은, 마이크로소프트가 이와 "적당히" 호환되는 J스크립트를 개발하는 계기가 되었다. J스크립트는 1996년 8월, 인터넷 익스플로러 3.0에 포함되어 출시되었다.

넷스케이프는 표준화를 위해 자바스크립트 기술 규격을 ECMA 인터네셔널에 제출하였고, 이 규격에 대한 작업은 ECMA-262의 이름으로 1996년 11월부터 시작됐다. ECMA-262의 초판은 ECMA 일반 회의에서 1997년 6월 채택됐다.

ECMA스크립트는 ECMA-262에 의해 표준화된 언어의 이름이다. 자바스크립트와 J스크립트는 모두 ECMA스크립트와의 호환을 목표로 하면서, ECMA 규격에 포함되지 않는 확장 기능을 제공한다.

[편집]종류

ECMA-262는 지금까지 세 개의 판이 출시되었고, 네 번째 판에 대한 작업이 진행 중이다.

출판일이전 판과의 차이점
1 1997년 6월 초판
2 1998년 6월 ISO/IEC 16262 국제 표준과 완전히 동일한 규격을 적용하기 위한 변경.
3 1999년 12월 강력한 정규 표현식, 향상된 문자열 처리, 새로운 제어문 , try/catch 예외 처리, 엄격한 오류 정의, 수치형 출력의 포매팅 등.
4 버려짐 4번째 판은 언어에 얽힌 정치적 차이로 인해 버려졌다. 이 판을 작업 가운데 일부는 5번째 판을 이루는 기본이 되고 다른 일부는 ECMA스크립트의 기본을 이루고 있다.
5 후보 추천 버전 (작업 중) 더 철저한 오류 검사를 제공하고 오류 경향이 있는 구조를 피하는 하부집합인 "strict mode"를 추가한다. 3번째 판의 규격에 있던 수많은 애매한 부분을 명확히 한다. ECMA스크립트 5는 "ECMA스크립트 5판"이라는 이름으로 2009년 말에 출판될 가능성이 있다.[1]
하모니(Harmony) 작업 중 여러 개의 새로운 개념과 언어 기능.

2004년 6월에 ECMA 인터네셔널은 E4X(XML을 위한 ECMA스크립트)로 알려진 ECMA스크립트의 확장을 정의하는 ECMA-357을 출판했다.

[편집]ECMA스크립트, 자바스크립트, J스크립트 버전 간 대응

아래의 표는 [1]과 [2]를 기초로 작성되었다. 같은 행에 있는 경우 거의 유사한 언어로 간주할 수 있다.

자바스크립트J스크립트ECMA스크립트
1.0 (넷스케이프 2.0, 1996년 3월) 1.0 (IE 3.0 - 초기 버전, 1996년 8월)
1.1 (넷스케이프 3.0, 1996년 8월) 2.0 (IE 3.0 - 후기 버전, 1997년 1월)
1.2 (넷스케이프 4.0, 1997년 6월)
1.3 (넷스케이프 4.5, 1998년 10월) 3.0 (IE 4.0, 1997년 10월) 초판 (1997년 6월) / 2판 (1998년 6월)
1.4 (넷스케이프 서버에만 사용됨) 4.0 (비주얼 스튜디오 6, IE에는 사용되지 않음)
5.0 (IE 5.0, 1999년 3월)
5.1 (IE 5.01)
1.5 (넷스케이프 6.0, 2000년 11월;
이후의 넷스케이프와 모질라의 모든 버전에 포함됨)
5.5 (IE 5.5, 2000년 7월) 3판 (1999년 12월)
5.6 (IE 6.0, 2001년 10월)
J스크립트 .NET (ASP.NET; IE에는 포함되지 않음) (J스크립트 .NET은 설계 과정에서 다른 ECMA 회원의 참여가 있었다고 함)
자바스크립트 2.0 (제안) 4판 (진행 중)

[편집]주석

  1.  Press_release_9_April_2009_-_Ecma_International_finalises_major_revision_of_ECMAScript

[편집]바깥 고리



'Development > JavaScript' 카테고리의 다른 글

JSON 예제 2 - String에서 읽기  (0) 2012.04.13
JSON 예제 1  (0) 2012.03.28
JSON 소개  (0) 2012.03.27
window.onload - 페이지완전히 로딩후 처리하기위한 스크립트  (0) 2012.01.25
JavaScript  (0) 2012.01.23
Posted by linuxism
,

ActionScript

Development/Common 2012. 1. 23. 20:56

플래시 내에서 사용되는 스크립팅 언어. 플래시 내의 여러 가지 시각적, 청각적 요소들을 제어하는 명령어를 액션이라 하고, 액션들이 조합하여 만든 코드가 액션스크립트를 구성한다. 애니메이션 제작과 상호 작용이 포함된 멀티미디어 콘텐츠 제작에 사용되며, 플래시 플레이어로 액션스크립트를 해석하여 재생한다. 유럽 컴퓨터 제조업자 협회(ECMA-262)에서 모형을 제작했으며, 플래시 5에 구문, 협정 및 특징이 소개되고, 편집 기능도 있다. 

=================================================================================

액션스크립트(ActionScript)는 ECMA스크립트를 기반으로 하는 스크립팅 언어이며, 주로 어도비 플래시 및 어도비 플래시 플레이어를 사용하는 소프트웨어나 웹사이트를 개발하기 위해 (웹 페이지에 SWF 파일 형식으로) 사용된다. 2000년 7월 액션스크립트 1.0이 플래시 5에서 처음 소개되었다.

액션스크립트 2.0에서는 객체 지향을 문법적으로 점차 지원하기 시작했다. (물론 1.0에서도 prototype을 이용한 프로토타입 체인으로 상속 효과를 낼 수 있었다.) 하지만 protected, internal 같은 접근제어자는 지원되지 않고, 패키지 문법은 따로 없어서 클래스 이름에 전부 쓰고, 사용자 정의 네임스페이스를 만들 수 없으며, 한 클래스가 구현 가능한 인터페이스는 하나 밖에 없다.

2007년 액션스크립트 3.0이 나왔으며ActionScript 3.0, ECMA 스크립트 4판을 기반으로 한다.ECMAScript4

[편집]같이 보기



==================================================================================

ActionScript (액션 스크립트)는 어도비 시스템즈 사의 제품이다 Flash 사용되는 프로그래밍 언어 이다. ECMAScript (ECMA - 262)를 확장하는 그들이다. 이것을 이용하여 동영상이나 오디오 플레이어 만들기 등의 내용 복잡한 처리 및 양방향성을 갖게 한 Flash를 만들 수있다.

목차

  [ 숨기기 ] 

개요 편집 ]

ActionScript가 처음 설치된 것이 2000 년 발매되었다 Flash5에서 후속 버전인 Flash MX 2004 (Flash7)에서 2.0, Flash CS3 (Flash9)는 3.0이 탑재되어있다. Flash4과 이전에도 스크립트 기능이 탑재되어 있었지만, 그것은 ActionScript이라고 부르지 않고, ECMAScript 기반도 없었다.

초대 ActionScript는 단순하고 기억하기 쉬운 스크립트 언어 이며, 프로토 타입 기반 객체 지향 언어 였지만, ActionScript 2.0,3.0는 대규모 개발에 적합한클래스 기반 객체 지향 언어를 탑재하여보다 엄격 해졌다.

ActionScript는 주로 SWF 파일 개발 소프트웨어이다 Adobe Flash 및 Adobe Flex 에서 스크립트로 기술한다.

역사 편집 ]

  • 스크립트 미탑재
    • 1996 년 Flash 1
  • ActionScript 전
    • 1997 년 Flash 2 : 버튼 기능 탑재 함께 "버튼 액션" "프레임 액션"탑재. getURL () 또는 gotoAndPlay () 등이 가능. 프레임 간의 이동이 가능하게된다.
    • 1998 년 Flash 3 : 여러 스크립트 작성이 가능합니다. loadMovie () , fscommand () 등의 구현.
    • 1999 년 Flash 4 : "작업"기능 대폭 고도화. 변수, 사칙 연산, 문자열 처리, 조건 분기 등이 추가되었습니다. 함수 호출에 해당하는 것은 프레임의 이동이다, call () 였다.
  • ActionScript 1 - ActionScript Virtual Machine 1
    • 2000 년 Flash 5 : ECMAScript 기반이 함수를 만들 수있게된다.
    • 2002 년 Flash MX : "이벤트 처리기 메서드"탑재. instanceof 와 === 이 도입되어보다 ECMAScript 호환된다.
  • ActionScript 2
    • 2003 년 Flash MX 2004 : 클래스 기반의 객체 지향이 도입된다. 예외 처리를 추가.
    • 2005 년 Flash 8
  • ActionScript 3 - ActionScript Virtual Machine 2
    • 2006 년 7 월 28 일 Flex 2.0
    • 2007 년 3 월 27 일 Flash CS3
    • 2008 년 2 월 25 일 Flex 3.0
    • 2008 년 2 월 25 일 AIR 1.0
    • 2008 년 12 월 19 일 Flash CS4

특징 편집 ]

이 절은 쓰기의 중간입니다 이 절은 집필 입니다. 가필, 정정 주시 협력자를 찾고 있습니다 .

문법 편집 ]

ActionScript1.0 문법이 JavaScript와 유사하지만, ActionScript2.0에서 클래스 기반 객체 지향 언어가 Java에 닮아있다. ActionScript에서는 모든 데이터를 개체로 간주하고있다. Flash는 프로그래밍 코드를 작성하는 위치가 둘 이상인 타임 라인의 프레임에 쓸 경우와 클래스로 외부 파일에 쓸 경우와 작성 방법이 약간 다르다. 또한 ActionScript2.0 (Flash 8)까지 무비 클립 또는 버튼에 프로그래밍 코드를 작성할 수 있었지만, ActionScript3.0 (Flash CS3)에서 폐지되었다. 여기에서는 ActionScript3.0의 문법을 설명하고 간다.

변수의 선언 편집 ]

변수 선언은 var 변수명 : 변수의 형태와 쓴다.

var num : int ;

함수의 선언 편집 ]

함수 선언은 function 함수명 (인수 1 : 인수 1 형식 인수 2 : 인수 2 형 ,...): 반환 형식 {실행 코드}라고 쓴​​다.

Function sum ( a : Number , b : Number ) : Number 
{ 
        return a + b;
 }

반환값이없는 경우는 반환 형식을 void로한다. (ActionScript2.0에서 Void) void로 선언하면, 반환값은 undefined가된다.

클래스의 선언 편집 ]

클래스의 구문은 Java에 닮아있다. 클래스와 생성자는 반드시 public으로해야한다. 생성자는 생략 가능하다. 파일 이름은 클래스 이름 as하며 패키지와 같은 디렉토리에 두어야한다.

package 패키지 이름
 { 
        public  class 클래스 이름
         { 
                / / 생성자 
                public  Function 클래스 이름 ( ) 
                { 
                } 
        } 
}
이 절은 쓰기의 중간입니다 이 절은 집필 입니다. 가필, 정정 주시 협력자를 찾고 있습니다 .

통합 개발 환경 편집 ]

ActionScript는 Adobe에서 제공하는 각종 응용 프로그램에서 편집하는 것이 기본형이다. 그러나 일반적으로 사용되는 통합 개발 환경과 다른 점이 많고, 그들을 경험한 프로그래머는 수치스러운 경향이있다. adobe Flex 빌더는 Eclipse 플러그인 형태로 편집 환경을 제공하고 있으며, 다른 언어의 습득자는 차이에 고민하지 않고 개발을 할 수있다. 또한 Adobe Flex SDK가 Adobe에서 무료로 제공되고있다. 상기 이외의 통합 개발 환경에서 FlashDevelop 등이있다.

어도비 아닌 편집 ]

무료 오픈 소스 물건이나 타사의 Flash 개발 소프트웨어도 발매되고있다. 그들의 소프트웨어에 ActionScript에 대응하고있는 것이있다. 오픈 소스 Motion - Twin ActionScript 2 Compiler 는 어도비보다 빠른 컴파일을 구가하고있다.

또한 오픈 소스 컴파일러를 사용하여 SWF 파일을 ActionScript에서 만들 FAME / FAMES / FLAMES 등으로 불리는 개발 환경 / 개발 기술이 주목 받고있다.

타사 무상 AS 개발 소프트웨어 편집 ]

세 모두 ActionScript에 대응하고있다.

브라우저에서 ActionScript를 입력하고 서버 사이드에서 컴파일을 수행하여 무료로 개발할 수있다.

ActionScript 3/Flash IDE

Adobe AIR 만든 소프트웨어와 Flash 컨텐츠를 만들 수있는 무료 개발 환경

관련 항목 편집 ]


Posted by linuxism
,

JIT 컴파일

Development/Common 2012. 1. 23. 20:52

JIT 컴파일(just-in-time compile) 또는 동적 번역(dynamic translation)은 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법이다. 이 기법은 프로그램의 실행 속도를 빠르게 하기 위해 사용된다.

전통적인 입장에서 컴퓨터 프로그램을 만드는 방법은 두가지가 있는데, 인터프리트 방식과 정적 컴파일 방식으로 나눌 수 있다. 이 중 인터프리트 방식은 실행 중 프로그래밍 언어를 읽어가면서 해당 기능에 대응하는 기계어 코드를 실행하며, 반면 정적 컴파일은 실행하기 전에 프로그램 코드를 기계어로 번역한다.

JIT 컴파일러는 두 가지의 방식을 혼합한 방식으로 생각할 수 있는데, 실행 시점에서 기계어 코드를 생성하면서 그 코드를 캐싱하여, 같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지한다.

최근의 자바 가상 머신에서는 JIT 컴파일을 지원한다. 즉, 자바 컴파일러가 자바 프로그램 코드를 바이트코드로 변환한 다음, 실제 바이트코드를 실행하는 시점에서 가상 머신이 바이트코드를 기계어로 변환한다.





'Development > Common' 카테고리의 다른 글

스크립트 언어(Script Language)  (0) 2012.02.05
ActionScript  (0) 2012.01.23
문자 집합(Character Set) 및 문자 인코딩  (0) 2012.01.19
유니코드(UNICODE) & 엔코딩(Encoding)  (1) 2012.01.19
utf-8 & euc-kr  (0) 2012.01.19
Posted by linuxism
,