Mono 2.0 릴리즈 노트

Mono 2.0은 오픈 소스 기반의 이식성 높은 닷넷 프레임워크 구현으로, Unix, Windows, Mac OS 등의 운영 체제를 지원합니다.

발표일: 2008년 10월 6일

Microsoft 호환 API

  • 데이터베이스 액세스를 위한 ADO.NET 2.0 API
  • 웹 기반 응용프로그램 개발을 위한 ASP.NET 2.0 API
  • 데스크톱 응용프로그램 개발을 위한 Windows Forms 2.0 API
  • XML 문서 활용 및 제어를 위한 System.XML 2.0 API
  • 언어 연동 질의 (LINQ) 구현을 위한 System.Core API
  • XLINQ 구현을 위한 System.Xml.Linq API
  • 이식성 높은 그래픽 렌더링을 제공하는 System.Drawing 2.0 API

Mono API

  • Gtk# 2.12: Gtk+ 2.12와 GNOME 라이브러리에 대응되며, Linux, Windows, Mac OS X를 위한 데스크톱 응용프로그램 개발을 지원합니다.
  • Mono.Cecil: ECMA CLI 규격에 맞는 바이너리 파일을 생성하기 위한 라이브러리
  • Mono.Cairo: 2D 그래픽 렌더링을 위한 Cairo 그래픽 라이브러리 (이미지, GUI, 포스트스크립트, PDF 등의 생성을 지원합니다.)
  • Mono의 SQLite 지원: SQLite 기반 데이터베이스를 생성하거나 활용할 수 있습니다.
  • Mono.Posix: Linux와 Unix에 한정되는 기능을 관리되는 응용프로그램상에서 활용할 수 있게 하며, 저수준/고수준 API를 모두 제공합니다.

Mono에 번들링된 Thirdparty API

  • PostgreSQL, DB2, Oracle, Sybase, Microsoft SQL Server, SQLite, Firebird를 지원합니다.
  • C5 제네릭스 라이브러리: 제네릭 기반 컬렉션 클래스 라이브러리인 C5 라이브러리를 번들링하였습니다.

컴파일러

  • LINQ의 모든 사양을 지원하는 C# 3.0 컴파일러가 제공됩니다.
  • Visual Basic 8.0 컴파일러가 제공됩니다.
  • IL 어셈블러, 디스어셈블러와 개발에 필요한 모든 도구가 제공됩니다.

도구

  • 디버거: 관리 코드 환경에서 사용 가능한 첫 공식 디버거가 제공됩니다.
  • Gendarme: 닷넷 기반 응용프로그램과 라이브러리의 문제점을 진단합니다. 컴파일러가 진단하지 못하는 문제들을 추가 점검할 수 있도록 고안되었습니다.
  • Mono Linker: Mono 런타임 전체를 배포하지 않고 필요한 어셈블리군만을 통합하여 배포 런타임의 크기를 줄일 수 있도록 도와줍니다.
  • 이 외에도 Mono Tuner, Mono 문서화 도구가 제공됩니다.

라이선스

Mono는 오픈 소스 프로젝트로서, 클래스 라이브러리와 C# 컴파일러는 MIT X11 라이선스, 런타임은 GNU LGPL, SDK 도구들은 GNU GPL과 MIT X11 라이선스로 나뉘어서 제공됩니다.
Mono을 정적으로 링크하는 경우 (예를 들어 Apple iPhone이나 Nintendo Wii 또는 다른 모든 형태의 사유형 운영 체제들을 위하여) 라이선스를 별도로 문의할 수 있습니다.

주요 포커스

  • Windows Forms: ToolStrip과 MenuStrip이 완전히 구현되었습니다. 기존 Windows Forms 1.0의 메뉴 및 도구 모음 컨트롤도 유효합니다.
  • Windows Forms: VirtualMode 등 몇 가지 고급 기능이 누락되기는 하였지만, 이전보다 더 낳은 DataGridView 컨트롤이 제공됩니다.
  • Windows Forms: Mozilla Gecko 렌더링 엔진을 기준으로 WebBrowser 컨트롤이 구현되어있습니다.
  • Windows Forms: TableLayoutPanel, FlowLayoutPanel, SplitContainer와 같은 특수 컨테이너 컨트롤이 구현되었습니다.
  • Windows Forms: XIM을 통한 다국어 입력이 지원됩니다.
  • News: Paint.NET 3.0의 포팅 작업이 일정 수준 이상 진행되었습니다.
  • Component: 성능 카운터 구현이 제공됩니다.
  • ASP.NET: Virtual Path Provider 기능이 제공되며, Browser 정보 파일을 사용할 수 있습니다.
  • Visual C++: Microsoft Visual C++ 7.0 컴파일러 이후부터 제공되는 혼합 모드 어셈블리를 Windows용 모노에서 실행할 수 있습니다.
  • BCL: 64비트 인덱스를 사용하는 대규모 배열을 지원합니다. (--enable-big-arrays 옵션이 필요합니다.)
  • DTrace 지원: Mac OS X와 Solaris에서 Mono를 사용할 경우 DTrace 추적을 지원합니다. (--enable-dtrace 옵션이 필요합니다.)

Mono 프로젝트 홈페이지: http://www.mono-project.com/
Mono 2.0 다운로드 페이지: http://www.go-mono.com/mono-downloads/download.html

출처: http://www.mono-project.com/Release_Notes_Mono_2.0

Creative Commons License
Creative Commons License
남정현 이 작성.

당신의 의견을 작성해 주세요.

  1. Comment RSS : http://rkttu.com/rkttublog/rss/comment/258
  2. 김시억 2008/10/21 01:40  편집/삭제  댓글 작성  댓글 주소

    웹브라우져컨트롤에 로딩된 html페이지 자바스크립트실행관련

    <select id="editorSelect" name="editorSelect" onchange="tool_EditorChange(this.value, true);">
    <option value="H" >에디터</option>
    <option value="S">HTML</option>
    <option value="T" >텍스트</option>
    </select>

    이렇게 되어 있는데요..HTML 이거를 선택되게 해야하는데요.....

    WebBrowser1.Document.GetElementById("editorSelect").SetAttribute("value", "S");
    Object[] args4 = new Object[1];
    args4[0] = "this.value";
    WebBrowser1.Document.InvokeScript("tool_EditorChange", args4);


    이렇게 해도 셀렉트박스가 변경이 되지를 않네요 ㅠ.ㅠ.
    조언을 다시한번더 부탁드립니다

    • OpenID Logo남정현 2008/10/29 00:53  편집/삭제  댓글 주소

      답이 조금 늦었네요. tool_EditorChange 메서드가 혹시 C#에서 작성한 메서드라면, 그리고 이벤트 메서드로 private 접근 제한자가 걸려있으면 ScriptingObject로 설정했어도 이벤트가 걸리지 않습니다.

      제 생각에는, DocumentCompleted 이벤트를 통하여 해당 SELECT 요소를 찾아서 onchange 이벤트를 C# 코드에서 걸어주는것이 좋지 않나 생각이 듭니다.

  3. OpenID LogoMr. 김 2008/11/19 13:59  편집/삭제  댓글 작성  댓글 주소

    VB.NET 의 mono 컴파일러는 없는걸로 기억하고있는데. Mono 2.0에서 지원하기 시작했군요...
    그런데 c#컴파일러는 C# 3.0 버전이고 VB.NET은 8.0이네요 지금 나와있는게 9.0일텐데.. 나중에 한번 해보고 싶긴한데.. 윈도판에는 모노 컴파일러가 없는거 같네요. 그냥 인터프리터만 들어있고..(XSP(ASP.NET)를 VB.NET 코드로 짜도 에러 안날려나.. (1.0에서는 에러났음))

    그리고 모노덕에 C#, VB.NET(이건 좀 불확실)이 멀티 플랫폼이 됬죠..

    • OpenID Logo남정현 2008/11/19 18:17  편집/삭제  댓글 주소

      닷넷은 속도가 좀 느리긴 하지만 CLR, CLI에 대한 대체 구현이 하나 둘씩 자바의 경우처럼 만들어지고 있고 각기 목적이 있습니다. 실버라이트, 닷넷 마이크로 프레임워크 (컴팩트 프레임워크가 아닙니다), GNU .NET 외에도 MS가 내세우는 비 윈도우 기반 OS인 미도리의 전신으로 추정되는 연구형 OS 프로젝트인 싱귤래러티가 채택하는 Bartok 컴파일러 및 관련 런타임 등등 상당히 많은 편입니다. 점점 선택의 폭도 넓어질 것이고 닷넷이 윈도 OS 전용이라는 편견도 더 빠르게 깨어질 것이라고 생각합니다.

      사설이 좀 길었습니다. ^^; VB.NET 컴파일러는 보신대로 8.0 버전에 머물러 있는 상태입니다. (많이 아쉽죠. ㅎㅎ) 약간씩 차이가 있는 것으로 알고 있습니다만 VB.NET 컴파일러가 포함되지 않은 배포판을 받으셨다면 모노 SVN 노드에서 VB.NET 컴파일러를 받아보실 수도 있을 듯 합니다.

      개인적으로는 모노의 모든 기능을 경험하고 이해하는 방법으로 VMware 기반 패키지를 사용하는 것을 권하고 싶습니다. 윈도우를 지우지 않아도 곧바로 원하는 환경으로 전환해서 개발하는 것도 가능하고 상당히 요긴하게 쓰입니다. :-)

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

사용자 삽입 이미지
 Windows Shell에서 기본으로 제공하는 Band Object를 이용하여 만들 수 있는 일상적인 도구 모음 패널을 개인적으로 애용합니다. 하지만 패널을 사용하기위하여 한참 다른 프로그램을 사용하다가 이 패널을 펼쳐보면 하드 디스크 액세스가 갑자기 심해지면서 속도가 느려지는 것을 볼 수 있습니다. 캐쉬 상에 존재하지 않는 아이콘을 다시 구축하기 위해서 취하는 동작이기는 하지만 상당히 불편합니다. 이런 불편을 최소화할 수 있는 방안을 찾아 레지스트리로 만들어보았습니다.

위의 레지스트리를 다운로드 받아서 시스템 레지스트리에 병합한 후, 제어판 - 폴더 옵션 - 보기를 살펴보면 다음과 같이 새로운 설정 항목이 나타나는 것을 볼 수 있습니다.

사용자 삽입 이미지

레지스트리와 함께 설정되는 기본 값은 2048개이며, 필요한만큼 더 늘려서 선택할 수 있습니다.적정한 수준의 캐쉬 크기를 설정하여 효과를 볼 수 있지만, 너무 많은 캐쉬를 사용할 경우 Windows Shell 프로세스의 크기가 증가할 수 있으므로 사용에 유의하여야 합니다. 이 레지스트리 설정은 Windows XP Professional Service Pack 3 (x86), Windows Vista Business SP1 (x86)에서 테스트해보았습니다.

** 주의: 이 레지스트리를 사용하는 것은 개인의 선택이며 레지스트리 사용 전에는 시스템 상태 백업 등을 수행하실 것을 권장합니다.

Creative Commons License
Creative Commons License
남정현 이 작성.

당신의 의견을 작성해 주세요.

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

원문: http://news.softpedia.com/news/Life-After-Windows-Microsoft-Midori-Operating-System-88910.shtml

* 노트: 번역 내용 중 일부를 편의를 위하여 편집하였습니다. 원문 내용을 확인하실 것을 권합니다.

Windows 7과 Windows 7 서버만이 현재 Microsoft에서 개발되고 있는 운영 체제는 아닙니다. 사실, Microsoft는 Windows 플랫폼을 모바일 폰부터 임베디드 장치에 이르기까지 다양한 분야로 이식하기 위한 작업을 진행 중입니다. 그리고 이와 동시에, 비 Windows 운영 체제 시스템에 대한 작업도 열심히 진행 중입니다. 이제까지, Microsoft는 이미 Singularity의 다운로드 버전을 만들었습니다. 하지만 Microsoft가 목표로 하고 있는 더 새로운 시스템 아키텍처와 운영 체제가 있는듯 합니다. 바로 Midori입니다.

Microsoft는 당연하게도 Midori에 관해서는 극히 비밀리에 논의를 하고 있지만, 공공연하게 Midori의 존재 사실이 확인이 되고 있으며 Singularity와의 관계까지도 이야기가 전해지고 있습니다. 이 시점에 Microsoft 연구소는 CHESS (동시적 프로그램의 체계적인 테스트 방안)에 관한 파워포인트 프레테젠테이션 파일을 출판하였습니다.

현재 CHESS 응용프로그램에서 (CHESS 자체는 진행 중입니다.), Microsoft는 "Dryad, 분산 데이터 흐름 프로그래밍을 위한 Singluarity/Midori 기반 라이브러리 (관리 코드 기반 - MSIL/C#/Sing# (C#의 Singluarity OS용 확장 사양) 기반), 사용자 모드 드라이버, 코스모스 (분산 파일 시스템), SQL 데이터베이스"에 관한 키워드를 나열하고 있습니다. Microsoft 연구소 문서에 따르면 적어도 Midori와 Singularity는 같은 선 상에 놓여있음이 확실하며, 관리 코드 기반의 비 Windows 운영 체제를 기반으로 한다는 것도 확신할 수 있습니다.

"Singularity는 더 강력하고 완곡한 시스템과 응용프로그램 소프트웨어로서 사용될 새로운 운영 체제입니다. Singluarity는 프로그래밍 언어와 도구를 더욱 향상시켜 좀 더 정확하게 프로그램이 제작될 수 있게 하며, 프로그램의 동작을 좀 더 쉽게 분석할 수 있게 하며, 런타임 장애/실패를 최소화할 수 있도록 합니다. Singluarity의 핵심은 소프트웨어 격리 프로세스 (SIP) 모델을 기초로 한 확장 모델에 있으며, 이는 응용프로그램, 시스템을 더욱 견고하게 할 것입니다." 위 내용은 Singularity 프로젝트 백서 (Whitepaper)의 내용 중 일부를 발췌한 것입니다.

지금으로서는 Midori 프로젝트가 언제 완료될 것인지 이야기할 수 없습니다. 하지만 Singluarity에 관해서는 지속적으로 codeplex 호스팅 사이트 (http://www.codeplex.com/singularity)를 통하여 진행 상황을 살펴볼 수 있을 것입니다.

Creative Commons License
Creative Commons License
남정현 이 작성.

당신의 의견을 작성해 주세요.

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다