본문 바로가기

Miscellaneous

Runtime에 대한 개인적인 생각...




CLR이란?

CLR을 언급하기에 앞서 잠시 그 배경에 대해서 적어봐야겠다.

초기에 MS도 Java를 사용했었다.

그당시 SUN과 MS는 사이가 좋지 않았다.
그래서 SUN에서 MS보고 Java 쓰고 싶으면 일정 금액을 지불 하라 말했다.

MS에선 싫다고 했고, Java를 사용하지 않겠다 말했다.

하지만 MS내부에선 JavaX라고 Java비슷한 언어를 만들어 사용하고 있었다.

자세한 내막은 모르겠으나...

C언어를 이용하여 객체지향적 언어를 개발하여 C++이 만들어졌으며

이후 C#이 개발 되었다.

초기에는 VB으로 window의 모든 Application들이 개발되었으며 이후
MFC의 탄생으로 MFC로 개발이 되기도 하고 Visual Studio가 개발이 되어온것이다.

이런 모든 환경을 지칭하는 단어가 .net 플랫폼이라 칭하며 .net플랫폼 환경에서 제공하는
중간 단계의 과정을 CLR(Common Language Runtime) 명하고,
CLR이란? 위에서 제시한 언어들이 동작되어지는 Runtime 환경을 지칭하는 용어이다.

반면 JRE는

Java Runtime Environment을 뜻하는데 위에서 설명한 바와 비슷하게

Java환경에서 돌아가는 중간단계의 과정을 JRE라 부른다.
(자바로 실행되는 프로그램을 사용자 컴퓨터에서 실행하기 위한 환경???)


또한 이들로 부터 나온 비슷한 개념의 WRE

Web Runtime Environment....

웹의 비약적인 발전에 따라 브라우저의 역할이 더이상 서버로부터 데이터를 받아
Web Core를 거쳐 보여지게만 하는 시대는 지났다.

예를 들어 크롬브라우저를 말할 수 있겠는데...

Google 웹앱을 브라우저에 Client 레벨에서 설치 한다.
이때 앱이 Install되고 Play 되고 Stop이 되고 Update가 되고 이 모든 과정이
WRE 과정에 해당이 된다 말할 수 있겠다.

물론 다른 개발자분들은 다르게 생각하시겠지만...이것의 생각의 차이라고 본다.

현제 MS의 IE의 경우 WRE을 지원하지 않는다.
(MS에서는 지원할 필요성을 못느끼나보다...)

Crome의 경우 이전에 언급한 Platform의 역사와 WAC에 대한 글와 일맥상통한다 생각한다.

브라우저가 더이상 서버로부터 데이터를 받고, 그데이터를 뿌려주고
여기에서 그치는 시스템이 아닌..!!

Client 레벨에서 독자적으로 실행할 수 있는 환경을 제공해주자!! 라는게 Google의 마인드 같다.

반응형

'Miscellaneous' 카테고리의 다른 글

서버란?  (0) 2012.05.21
CGI.....??? 갑자기 궁금해 져서.....  (0) 2012.03.13
JSON을 이용해 보자!  (0) 2012.01.12
FlatForm 三 國 時 代.....  (0) 2012.01.10
C언어 간단 정리...!!  (0) 2012.01.04