긴 공백 기간 끝에 Mono와 MonoDevelop가 새 버전을 발표하였습니다. 날이 갈수록 좋아지고 발전하는 프레임워크와 개발 도구를 바탕으로 닷넷 기술을 좀 더 범용적으로 활용할 수 있게 되지 않을까 기대됩니다.
Mono 2.4에서는 Mono 2.2 이후로 수집된 수많은 버그와 문제점을 교정하는 일을 게을리 하지 않았으며, 좀 더 상용 어플리케이션의 호스팅에 알맞는 환경을 구현하기 위하여 성능을 개선하는데에 초점을 맞추고 있습니다.
Mono 2.4의 주요 변경 사항들은 다음과 같이 요약 가능합니다.
- SIMD (Single Instruction Multiple Data) 기반의 고속 배열 연산을 최적화하고 디자인 가이드 라인을 준수하도록 업데이트하였습니다.
- 다중 스레드 작업 시 Thread.Interrupt() 메서드에 관한 기능이 향상되었습니다.
- 기존 JIT (Just In Time) 엔진에서 선형 IR 기반 JIT 엔진으로 완전히 변경하였습니다.
- 환경 설정 옵션 중 --enable-parallel-mark=yes 항목이 기본으로 포함되어있어 다중 코어 프로세서 시스템에서는 이전보다 더욱 개선된 Garbage Collection 성능을 발휘합니다.
- WaitHandle에서 SignalAndWait 메서드를 지원합니다.
- MarshalByRefObject에서 MemberwiseClone 메서드를 지원합니다.
- COM 상호 운용성에서 IDispatch와 IUnknown에 대한 NULL 처리를 지원합니다.
- System.Diagnostic.Process 클래스의 OutputDataReceived, ErrorDataReceived 이벤트에 관한 동작을 개선하여 제대로 동작하도록 수정하였습니다.
- Mono.Posix의 경우 실시간 신호 (Real Time Signal)를 지원할 수 있게 개선되었습니다.
- 새로 개선된 XPath 구현을 Mono 프로젝트의 자체 테스트 결과로 테스트해본 결과 이전 대비 15% 정도 메모리 사용량이 감소하였습니다.
- DateTime.TryParse 메서드의 오류 처리를 개선하였습니다.
- 위성 어셈블리에서 다국어 리소스를 로드하는 과정에서 내부적으로 예외를 던지는 동작을 하지 않습니다.
- ASP.NET의 출판 기능과 동일한 기능을 하는 명령줄 도구인 aspnet_compiler가 추가되었습니다. GUI에 연결된 형태는 아니나 이를 기초로 Visual Studio의 출판 기능과 동일하게 만들 수 있게 되었습니다.
- xsp나 mod_mono에 단일 어플리케이션만 구동되도록 설정되어있을 경우 이전보다 더 빠르고 효율적으로 동작합니다. 내부적으로 Multiplexor와 Demultiplexor, 리모팅에 관한 호출을 줄이도록 개선되었습니다.
- Windows Forms의 경우 DataGridView의 데이터 바인딩에 관한 수많은 개선이 반영되어있습니다.
MonoDevelop 2.0의 변경 사항은 아래와 같습니다.
- MSBuild의 프로젝트 파일을 잘 지원하도록 만들어졌습니다.
- 프로젝트/솔루션 당 정책 기능이 구현되어있습니다.
- Vala 프로그래밍 언어를 지원합니다.
- 솔루션 탐색기에서 다중 선택이 가능하게 되었습니다.
- 패드/문서 선택 기능이 제공됩니다.
- 문맥어 검색을 지원하는 파일로 이동 기능이 제공됩니다.
- 새로 개선된 어셈블리 브라우저가 제공됩니다.
- 웹 개발 시 코드 자동 완성 기능이 향상되었습니다.
- 태그의 깊이를 나타내는 Path Bar와 문서 아웃라이닝 기능이 추가되었습니다.
- 자동 완성 기능 및 C# 3.0에 관한 코드 에디터 지원이 강화되었습니다.
- 코드 접이, 분할 보기, 컬러 스키마, 증분 검색을 지원하는 새로운 코드 에디터가 도입되었습니다.
- VI 모드가 지원됩니다.
- 문서 아웃라인 패드 기능이 추가되었습니다.
- XML 편집이 좀 더 편리하고 쉬워졌습니다.
- 디버거에서 MDB (Mono 디버거 파일), GDB (네이티브 디버거 파일)을 지원합니다.
- 버전 관리 기능, GTK# 디자이너 등 기존 기능에 대한 개선도 많이 이루어졌습니다.
좀 더 자세한 내용은 Mono 2.4 릴리즈 노트 (http://www.mono-project.com/Release_Notes_Mono_2.4)와 MonoDevelop 2.0 릴리즈 노트 (http://www.monodevelop.com/Download/MonoDevelop_2.0_Released)를 참고하십시오.
'Software Development > Mono' 카테고리의 다른 글
| C#, .NET으로 Apple iPhone 프로그램 만들기 (2) | 2009/08/04 |
|---|---|
| Mono Tools for Visual Studio 소개 (2) | 2009/07/01 |
| Mono 2.4 / MonoDevelop 2.0 런칭 (0) | 2009/04/01 |
| Moonlight 1.0이 공개되었습니다.! (0) | 2009/03/03 |
| Mono 2.2 출시 (0) | 2009/01/16 |
| Mono 2.0 릴리즈 노트 (4) | 2008/11/03 |