'Software Development/Mono'에 해당되는 글 15건

  1. 2010/10/13 Mono 2.8 출시
  2. 2009/12/16 Mono 2.6 출시! (2)
  3. 2009/08/04 C#, .NET으로 Apple iPhone 프로그램 만들기 (2)
  4. 2009/07/01 Mono Tools for Visual Studio 소개 (2)
  5. 2009/04/01 Mono 2.4 / MonoDevelop 2.0 런칭
  6. 2009/03/03 Moonlight 1.0이 공개되었습니다.!
  7. 2009/01/16 Mono 2.2 출시
  8. 2008/11/03 Mono 2.0 릴리즈 노트 (4)
  9. 2008/08/08 Mono 2.0 Preview 1
  10. 2008/08/05 MonoDevelop 2.0 Alpha 1 공개

Mono Framework는 계속 진화합니다. 이번에 나온 Mono Framework 2.8은 Mono 2.6 버전보다 더 성숙하고 완성된 프레임워크로서의 모습을 보여주고 있으며, 그 어느 때 보다도 많은 변경 사항이 반영되었습니다. Mono 2.6 버전에서 대기한 시간이 많았기 때문에 2.8에서는 Breaking Change가 많습니다. (Release Note: http://www.mono-project.com/Release_Notes_Mono_2.8)

Mono Framework 2.8은 OpenSUSE, SLES/SLED, RHEL/CentOS, Windows, Mac OS X에서 설치 가능한 형태의 패키지를 다운로드받을 수 있고, 평가를 위하여 OpenSUSE가 설치된 Windows Virtual PC 패키지 - 또는 - VMware 가상 PC 패키지를 다운로드받거나, Live CD를 다운로드받아 가상 PC나 실물 매체에 기록하여 OS를 변경하는 일 없이 간편하게 기능 테스트를 할 수 있습니다. 다운로드는 http://www.go-mono.com/mono-downloads/download.html 에서 가능합니다.

주요 변경 사항

.NET Framework 4.0 프로필을 기준으로 함: .NET Framework 4.0을 기본 프로필로 채택하고 있으므로 손쉽게 .NET Framework 4.0 기반의 응용프로그램을 멀티 플랫폼 환경으로 마이그레이션할 수 있습니다. 이에 따라, C# 4.0과 ASP.NET 4.0에 대한 지원도 추가되었습니다.

.NET Framework 1.1 프로필에 대한 지원을 제거함: .NET Framework 1.1에 대한 지원을 제거하였습니다. 앞으로는 .NET Framework 2.0 런타임을 사용하도록 Configuration File을 아래와 같이 업데이트하고, 변경된 부분에 대한 업데이트를 새롭게 수행해야 합니다.

<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
  </startup>
</configuration>

새로운 Garbage Collector 제공: Simple Generational Garbage Collector (이하 SGen-GC)는 Mono 프로젝트의 역사에 있어서 가장 중요한 역할을 수행해왔던 Boehm-GC에 대한 대안으로 개발된 것으로, Boehm-GC가 지원하지 않는 패턴의 가비지 컬렉션을 제공하기 위한 목적으로 개발되었으며, SGen-GC가 완성되기 전까지 Boehm-GC가 당분간 계속 사용될 것입니다.

Dynamic Language Runtime 번들링: Microsoft의 Open Source Project로 시작하여 .NET Framework 4.0의 기본 기능으로 채택된 DLR이 기본으로 번들링되어 프로그래밍 언어 수준에서의 DLR이 허용되고 후평가 기반 스크립트 언어 (IronPython 등)의 성능이 개선됩니다.

Managed Extension Framework 번들링: Microsoft의 Open Source Project로 시작하여 .NET Framework 4.0의 기본 기능으로 채택된 MEF 역시 기본 번들링됩니다.

ASP.NET MVC2 번들링: ASP.NET MVC2에 대한 지원이 기본 번들링됩니다.

OData client framework (System.Data.Services.Client) 번들링: OData 프로토콜을 분석할 수 있는 클라이언트측 프레임워크 역시 기본으로 번들링됩니다.

GLIB에 대한 종속성을 완전히 제거하고, 자체 GLIB 내장: 앞으로는 Mono Framework를 이기종 하드웨어로 포팅하는 절차가 더 단순해 질 것으로 보입니다. GLIB의 기능을 사용하기 위하여 핵심적인 구성 요소만을 발췌하여 자체 GLIB 구현을 사용하도록 업데이트되었습니다.

기타 변경 사항은 다음과 같습니다.
* ThreadPool 내 예외 처리에 대한 동작 변경
* 다양한 방면에서의 성능 대폭 향상
* mono-llvm을 통한 LLVM 기반 실행 지원
* Windows Communication Foundation Routing 지원
* OpenBSD 지원 추가

새롭게 추가된 API 및 개발 도구
* Thread Parallel Library, Parallel LINQ 지원
* System.XAML - XAML Framework 지원
* BigInteger 클래스
* MemoryMap 관련 클래스
* License Manager 지원 (LC 도구 지원)
* System.IO.Packaging 지원
* .NET Framework 4.0의 CodeContracts 기술 지원
* MSBUILD에 대응되는 XBUILD 지원

개선된 사항
* 난독 처리된 어셈블리에 대한 지원 개선
* 프로세스 간 핸들 공유를 사용하지 않도록 변경 (MONO_ENABLE_SHM 환경 변수로 활성화 가능)
* x86 환경에서 Ahead of Time 컴파일 완벽 지원
* 어셈블리 바인딩 지원

제거된 API
* ByteFX.Data
* Mono.Data
* Microsoft.JScript
* Microsoft.Vsa
* FirebirdSql.Data.Firebird
* Mono.Data.TdsClient
* Mono.Data.SybaseClient
Mono.Data.SqliteClient

제거된 도구
* mjs
* prj2make
* cilc

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

크리에이티브 커먼즈 라이선스
Creative Commons License

'Software Development > Mono' 카테고리의 다른 글

Mono 2.8 출시  (0) 2010/10/13
Mono 2.6 출시!  (2) 2009/12/16
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
Posted by Windows Azure MVP 남정현 (rkttu.com)

Mono 2.6이 어제 (12월 15일) 긴 여정을 마치고 첫 릴리즈를 출시하였습니다. .NET Framework 4.0에 대한 지원은 Mono 2.8에서 완전해질 것으로 예상되며, LINQ to SQL, AOT 기능 강화 등은 주목할 만한 점입니다.

 

주요 사항 요약

  • 실버라이트 2.0에 대응되는 WCF 클라이언트와 서버 기술이 추가되었습니다.
  • 서버 및 고속 연산을 위한 LLVM 기술이 추가되었습니다.
  • Mono.Tasklets API가 추가되었습니다.
  • 유닉스 및 맥 OS X에서 MonoDevelop와 연결되는 디버거가 새로 작성되었습니다.
  • MonoDevelop 2.2와 함께 출시됩니다.
  • System.IO.Packaging API가 추가되었습니다.
  • C# Shell이 자동 완성 기능을 지원합니다.
  • xbuild의 기능이 완성되어감에 따라 대다수의 msbuild 프로젝트를 지원합니다.
  • 실버라이트 기반 응용프로그램과 호환되는 CoreCLR 보안 모델이 지원됩니다.

 

Mono 2.4에서 변경된 사항들

 

LINQ to SQL 제공

Firebird, Ingres, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite와 호환되는 LINQ to SQL Provider가 제공됩니다. 그러나, 아직까지 계속 개발 단계에 있으므로 정식 릴리즈 이전까지는 지속적으로 업데이트가 발생할 수 있습니다.

 

펼쳐두기..

 

소프트 디버거

새로운 디버거 엔진으로 업그레이드 되었습니다. 자세한 내용은 http://www.mono-project.com/Mono:Runtime:Documentation:SoftDebugger 에 게시된 내용을 참조하여 주십시오.

 

C# 4.0 및 .NET Framework 4.0 API 프리뷰

Mono를 처음 구성할 때 빌드 스크립트에 --with-profile4=yes 스위치를 지정하여 4.0 버전의 API를 시험해볼 수 있습니다. 더불어서, ParallelFx를 Mono 2.6에서 사용하기 위해서는 이 옵션이 필요합니다.

 

System.IO.Packaging API 추가

Olive 프로젝트의 일부로 배포되던 WindowsBase 어셈블리가 정식 배포판 내에 속하게 되었습니다. ZIP 형식의 아카이브 파일을 다루는 경우가 증가함에 따라 결정된 사항들입니다.

 

Windows Forms

176개의 버그가 수정되었으며 다음은 주요 변경 사항들입니다.

  • DataGridView: 성능, 안정성, 기능성에 있어서 많은 개선이 있었습니다.
  • PropertyGrid: MDI 창에서의 불안정성 문제가 해결되었습니다.
  • MaskedTextBox: 마스크 처리가 개선되었습니다.
  • 리눅스 클립보드: 특별 데이터 형식 및 IDataObject 인터페이스에 대한 지원이 추가되었습니다.
  • 기타 수정 사항: DataGrid, TabControl, TextBox, RichTextBox, WebBrowser, TreeView, ListView 등이 수정되었습니다.

 

C# 언어

csharp 명령을 통하여 C# Shell 실행 시 자동 완성 기능이 제공됩니다. C# 4.0을 사용하도록 구성되었을 경우 dmcs 명령을 사용하여 C# 4.0 컴파일러를 사용할 수 있습니다. 명명된 매개 변수 및 옵션 매개 변수 사양은 완전히 구현된 상태입니다.

 

XBuild

ASP.NET 프로젝트, pkg-config 파일 분석 지원 및 msbuild 기반의 스크립트와 호환될 수 있도록 개선되었습니다.

 

더 자세한 내용은 http://www.mono-project.com/Release_Notes_Mono_2.6 에서 살펴보실 수 있습니다. 가상 PC (Virtual PC, VMware) 버전, 리눅스 패키지, 윈도 패키지 등은 http://www.go-mono.com/mono-downloads/download.html에서 다운로드하실 수 있습니다.

크리에이티브 커먼즈 라이선스
Creative Commons License

'Software Development > Mono' 카테고리의 다른 글

Mono 2.8 출시  (0) 2010/10/13
Mono 2.6 출시!  (2) 2009/12/16
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
Posted by Windows Azure MVP 남정현 (rkttu.com)

요즈음 Mono 기반 프로젝트들이 눈부신 발전을 거듭하고 있습니다. 그리고 이제 그 결과물로 최근 전세계적으로 많은 인기를 끌고 있는 Apple iPhone에도 Mono와 .NET 기술을 사용할 수 있게 되었습니다. :-)

MonoTouch는 기존의 Mono Framework에서 사용되어왔던 AOT (Ahead of Time) 컴파일 기술을 바탕으로 JIT (Just In Time) 컴파일 기능을 지원하지 않는 iPod과 iPhone 내의 임베디드 운영 체제를 위한 완전한 수준의 Native Application을 작성하는 것을 가능하게 만들었습니다. 정리하면, 기존에 사용되던 X-Code가 아닌 또 다른 유형의 Native Compiler가 추가된것으로 이해할 수 있습니다. 비슷한 기술을 가지고 있는 Unity3D와는 달리 MonoTouch는 Generic을 지원한다고 합니다.

그렇지만 기존의 .NET 기술을 완전히 사용할 수 있는 형태가 아니기 때문에 당연히 제약 사항이 존재하는데, 디버깅, LINQ 기능은 완전하지 않습니다. 향후 로드맵 상에서 버전 2.0에서 개선할 예정이거나 고쳐나갈 예정인 기능들입니다. 그리고 Reflection Emit API, System.Runtime.Remoting API, 동적 Type 생성, 콜백 역참조 (네이티브 코드로 전달된 대리자의 호출이 유효할 수 있게 만드는 동작)와 같이 동적으로 코드를 생성하는 부분들은 제한되거나 지원되지 않습니다. 또한, 현재는 iPhone OS 3.0에서만 테스트된 상태라고 합니다.

여러가지 제약 사항들이 있지만, 향후 로드맵에서는 상당히 희망찬 포부를 제시하고 있는데, 실버라이트 컨텐츠를 수용할 수 있도록 2.0 릴리즈 때에는 많은 부분이 개선/보수가 이뤄질듯 합니다.

현재는 클로즈 베타의 형태로 운영되고 있으며, 올해 가을에 1.0 버전이 런칭된다고 합니다. 관심있으신 분들은 지금 클로즈 베타를 신청하실 수 있으며, 개발 도구는 MonoDevelop 2.0 MonoTouch Edition 기반입니다.

홈페이지: http://www.mono-project.com/MonoTouch
클로즈 베타 신청: http://spreadsheets.google.com/viewform?hl=en&formkey=dHRXeFI5b1NjUWdRRkpiSmxkanh6T1E6MA..

 

크리에이티브 커먼즈 라이선스
Creative Commons License

'Software Development > Mono' 카테고리의 다른 글

Mono 2.8 출시  (0) 2010/10/13
Mono 2.6 출시!  (2) 2009/12/16
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
Posted by Windows Azure MVP 남정현 (rkttu.com)

Port your .NET applications to Mono and Linux without leaving Visual Studio!

Mono 2.4가 발표된 이후로 지속적으로 Mono 프로젝트는 발전에 발전을 거듭하고 있습니다. 최근 흥미로운 툴킷 하나가 새로 등장하였는데 바로 Mono Tools for Visual Studio가 그 주인공입니다. 이전에는 Embacadero Delphi Prism을 통하여 Delphi Prism IDE 레벨에서 Mono와의 동시 Build를 제공한 것이 최선이었습니다만 이제 공식적으로 기본 IDE 위에서 사용할 수 있는 공식적인 Tool이 등장하게 되었습니다.

현재 Mono Tools for Visual Studio는 Private Preview 형태로 배포되는 것으로 소정의 가입 절차가 필요함을 알아두시면 좋겠습니다.

Mono Tools for Visual Studio의 주요 기능을 살펴보면 다음과 같습니다.

  • 호환성 검사: 이전부터 제공되어오던 MoMA (Mono Migration Assistant)를 활용한 호환성 검사 기능을 제공합니다. 개발 중인 닷넷 응용프로그램을 Mono로 가지고갈 때 발생할 수 있는 문제점들을 보고서의 형태로 알려주는 기능으로 호환성 문제에 대한 충분한 검토를 사전에 해 볼 수 있도록 해줍니다.
  • Windows에서 실행: Mono의 Win32 프레임워크를 이용하여 현재 개발 중인 닷넷 응용프로그램을 직접 실행할 수 있도록 해줍니다.
  • Linux에서 원격 실행: 미리 준비되어있는 Linux Workstation 컴퓨터 위에서 현재 개발 중인 닷넷 응용프로그램을 직접 실행할 수 있도록 해줍니다.
  • Linux에서 원격 디버깅: Mono Tools for Visual Studio의 중요한 기능이라고 할 수 있습니다. Linux에서의 원격 실행을 전제로, 원격 디버거를 통하여 Visual Studio의 Debugging Feature를 그대로 사용하여 문제점을 진단하고 파악할 수 있게 해 주는 기능입니다. 참고로, ASP.NET 디버깅도 지원된다고 합니다.

여기서 주목할 것은 VMware Virtual Appliance의 형태로 무료로 배포되는 가상 PC 패키지에 관한 것으로, 가상 PC 패키지를 이용하거나 Windows 7의 Windows Virtual PC 위에서 오픈수세 리눅스 + 모노를 설치하면 컴퓨터 앞을 떠나지 않고도 동시에 두 개의 운영 체제에서 테스트를 수행할 수 있는 편리성을 보여줍니다.

이 중에서 호환성 검사 기능과 원격 디버깅에 관한 내용은 블로그 강좌 형태로 다루어볼 계획이니 많은 관심 바랍니다. :-)

공식 홈페이지: http://go-mono.com/monovs/

크리에이티브 커먼즈 라이선스
Creative Commons License

'Software Development > Mono' 카테고리의 다른 글

Mono 2.6 출시!  (2) 2009/12/16
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
Posted by Windows Azure MVP 남정현 (rkttu.com)

긴 공백 기간 끝에 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)를 참고하십시오.

크리에이티브 커먼즈 라이선스
Creative Commons License

'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
Posted by Windows Azure MVP 남정현 (rkttu.com)

짧지 않은 시간 동안 Microsoft와 Novell의 Co-Operation을 통하여 진행된 오픈 소스 버전의 Linux 기반 Silverlight Framework인 Moonlight가 드디어 1.0 버전으로 런칭되었습니다. Moonlight 1.0은 현재 Silverlight 1.0 컨텐츠와 대응될 수 있도록 설계되었으며 Windows Media 컨텐츠를 다룰 수 있도록 Microsoft Media Pack을 차용한 것이 특징입니다.

위의 스크린 샷은 CNN 웹 사이트에 게시된 오바마 대통령의 취임식 사진 컨텐츠를 서비스하는 Silverlight 기반 컨텐츠를 Moonlight + Firefox에서 재생한 결과입니다. :-)

현재 Linux 배포판들을 대상으로 32비트 버전과 64비트 버전을 모두 지원하고 있으며, 빠른 시일 내에 Unix 배포판들 (특히 BSD 배포판들을 중심으로)에서도 실행이 가능하도록 구현되거나 이식할 것을 염두에 두고 있다고 합니다. 그리고 이제 드디어 아주 큰 고비가 하나 남았는데 바로 Silverlight 2에 대응되는 Moonlight 2를 런칭하는 일입니다.

Moonlight 2가 발표되면 Silverlight 2 기반으로 작성된 컨텐츠를 Linux에서도 재생할 수 있게 될 것입니다.

Moonlight 1에 대한 자세한 내용을 보시려면 아래의 두 Blog Post를 참조하시면 좋겠습니다.

http://weblogs.asp.net/scottgu/archive/2009/02/11/moonlight-1-0-release.aspx
http://tirania.org/blog/archive/2009/Feb-11.html

Moonlight 1을 Linux 시스템에 설치하여 테스트해보시려면 아래 URL을 방문하시면 됩니다.

http://www.go-mono.com/moonlight/

크리에이티브 커먼즈 라이선스
Creative Commons License

'Software Development > Mono' 카테고리의 다른 글

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
Mono 2.0 Preview 1  (0) 2008/08/08
Posted by Windows Azure MVP 남정현 (rkttu.com)

Mono 2.2가 새로 발표되었습니다. 이번 버전에서도 꾸준히 업그레이드되고 나아지는 모습을 보여주고 있습니다. 이번의 릴리즈 노트를 요약한다면 Mono에 대하여 제기되어왔던 성능 문제를 해결하기 위하여 상당히 많은 노력을 기울이고 있는 듯 보입니다.

  • 새로운 중간 언어 처리 엔진인 선형 엔진 (Linear IL)을 도입하였습니다. (http://www.mono-project.com/Linear_IL)
  • 전체 선행 컴파일 (Full AOT) 기능이 구현되었습니다. (http://www.mono-project.com/AOT)
  • 정적 링크 기능이 지원됩니다.
  • 성능 모니터 기능이 구현되었으며, mperfmon이라는 GUI 프로그램으로 시각적으로 내용을 살펴볼 수 있게 되었습니다.
  • SIMD 연산이 구현되었습니다. (http://go-mono.com/docs/monodoc.ashx?tlink=0@N%3aMono.Simd)
  • Mono.CSharp.Evaluator 클래스를 새로 추가하였고 컴파일러의 기능을 응용프로그램의 일부로 가져오기가 더욱 쉬워졌습니다.
  • C# 언어를 이용한 대화형 셸의 콘솔 버전과 GUI 버전이 제공됩니다. (http://www.mono-project.com/CsharpRepl)
  • 컴파일러가 생성하는 빈 문자열에 대한 참조를 모두 System.String.Empty 인스턴스로 통일하여 효율성을 높였습니다.
  • C# 컴파일러의 기본 경고 수준이 최고 수준인 4로 변경되었으며, 이전보다 C# 컴파일러의 오류 감지 및 오류 복구 능력이 향상되었습니다.
  • regex-to-CIL 엔진의 도입으로 정규 표현식 처리 성능이 좋아졌습니다.
  • ASP.NET 3.5 SP1의 MVC를 고려하여 라우팅 핸들러만이 우선 새로 추가되었습니다.
  • 첫 Windows Forms 2.0 버전 이후 보고된 약 200여개 가까운 수의 버그를 수정하였으며, Win32/Win64 환경에서 Application.EnableVisualStyles() 메서드를 이용하여 루나 테마나 에어로 테마를 적용할 수 있게 되었습니다.

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

크리에이티브 커먼즈 라이선스
Creative Commons License

'Software Development > Mono' 카테고리의 다른 글

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
Mono 2.0 Preview 1  (0) 2008/08/08
MonoDevelop 2.0 Alpha 1 공개  (0) 2008/08/05
Posted by Windows Azure MVP 남정현 (rkttu.com)

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

'Software Development > Mono' 카테고리의 다른 글

Moonlight 1.0이 공개되었습니다.!  (0) 2009/03/03
Mono 2.2 출시  (0) 2009/01/16
Mono 2.0 릴리즈 노트  (4) 2008/11/03
Mono 2.0 Preview 1  (0) 2008/08/08
MonoDevelop 2.0 Alpha 1 공개  (0) 2008/08/05
리눅스에서 닷넷하기: MonoDevelop와 지역화 프로그래밍  (0) 2008/08/05
Posted by Windows Azure MVP 남정현 (rkttu.com)

Mono 1.0이 나온지 무려 4년여만에 2.0이 새롭게 모습을 드러내고 있습니다. 정식 버전은 올해 가을에 발표될 예정이며 이제 슬슬 그 윤곽을 드러내고 있습니다.

http://mono.ximian.com/monobuild/preview/archive/2.0/windows-installer/0/mono-2.0-gtksharp-2.10.4-win32-0.exe

Mono 2.0은 Microsoft .NET Framework 2.0과의 호환성을 상당부분 개선하였으며, C# 3.0 스펙과, Visual Basic 컴파일러를 내장하고 있고, IronPython과 Microsoft DLR 환경을 지원하는, 멀티 플랫폼 기반 CLI 프레임워크입니다. Microsoft .NET이 Windows에 최적화된 것이 특징이라면 Mono는 이와는 반대로 다양한 플랫폼에 걸쳐서 다재다능한 역할을 수행해내는 것이 다른 점이며, 최근에는 임베디드 장비로도의 이식이 진행 중입니다.

Major Highlights (주요 변경 사항)

Mono 2.0 is a major milestone in the Mono project, and it supports the following features:
Mono 2.0은 Mono 프로젝트에 있어서 중요한 전환점이며, 다음의 기능들을 지원합니다:

Microsoft Compatible API (Microsoft 호환 API):

  • ADO.NET 2.0 API for accessing databases.
    데이터베이스 접근을 위한 ADO.NET 2.0 API를 지원합니다.
  • ASP.NET 2.0 API for developing Web-based applications.
    웹 기반 응용프로그램 개발을 위한 ASP.NET 2.0 API를 지원합니다.
  • Windows.Forms 2.0 API to create desktop applications.
    데스크톱 응용프로그램 개발을 위한 Windows Forms 2.0 API를 지원합니다.
  • System.XML 2.0: An API to manipulate XML documents.
    XML 문서를 다루기 위한 API인 System.Xml의 2.0 API를 지원합니다.
  • System.Core: Provides support for the Language Integrated Query (LINQ).
    언어 통합 질의문 (LINQ)를 위한 System.Core API를 지원합니다. (닷넷 3.5)
  • System.Xml.Linq: Provides a LINQ provider for XML.
    Linq를 통한 XML 접근을 위한 XLinq를 지원합니다.
  • System.Drawing 2.0 API: A portable graphics rendering API.
    이식 가능한 그래픽 API인 System.Drawing의 2.0 API를 지원합니다.

Mono APIs (Mono 고유의 API, Microsoft .NET에는 없는 사항들입니다):

  • Gtk# 2.12: A binding to the Gtk+ 2.12 and GNOME libraries for creating desktop applications on Linux, Windows and MacOS X.
    Gtk+ 2.12와 GNOME 라이브러리에 바인딩되는 GTK# 2.12를 제공하여 리눅스, 윈도, 맥 OS X를 위한 데스크톱 응용프로그램을 제작할 수 있습니다.
  • Mono.Cecil: A library to manipulate ECMA CLI files (the native format used for executables and libraries).
    ECMA CLI 파일을 낮은 수준에서 재생산할 수 있는 Mono.Cecil 라이브러리를 제공합니다. (System.Reflection.Emit보다 한단계 더 낮은 수준의 기능을 뜻합니다. Mono.Cecil을 이용하면, 프레임워크의 버전이나 환경을 초월하는 특수 어셈블리 생산이 가능합니다.)
  • Mono.Cairo: A binding to the Cairo Graphics library to produce 2D graphics and render them into a variety of forms (images, windows, postscript and PDF).
    Cairo 그래픽 라이브러리에 바인딩되는 Mono.Cairo 라이브러리를 제공하며, 이미지, GUI, 포스트스크립트, PDF 제작을 지원합니다.
  • Mono's SQLite support: a library to create and consume databases created with SQLite.
    SQLite 데이터베이스에 관한 API가 제공됩니다.
  • Mono.Posix: a library to access Linux and Unix specific functionality from your managed application. With both a low-level interface as well as higher level interfaces.
    리눅스와 유닉스 시스템의 낮은 수준 API들과 함께 이를 응용하는 고급 API들을 공개적으로 지원하는 Mono.Posix 라이브러리를 제공합니다. Microsoft .NET의 Microsoft.Win32 네임스페이스의 위치와 유사한 것입니다.

Third Party APIs bundled with Mono (Mono에 번들링된 써드파티 API들, 역시 Microsoft .NET에는 없는 사항들입니다):

  • Extensive support for databases: PostgresSQL, DB2, Oracle, Sybase, SQL server, SQLite and Firebird.
    PGSQL, DB2, Oracle, 사이베이스, SQL 서버, SQLite, 파이어버드 DB와의 연동을 제공합니다.
  • C5 Generics Library: we are bundling the C5 generics collection class library as part of Mono.
    C5 제네릭 라이브러리를 번들링합니다. (제네릭을 이용한 다양한 컨셉 컬렉션을 제공합니다. C++ STL과 비슷한 개념으로 생각하시면 됩니다.)

Compilers (컴파일러):

  • C# 3.0 compiler implementation, with full support for LINQ.
    C# 3.0 컴파일러와 함께 LINQ가 지원됩니다. (C# 1.0과 2.0은 이미 지원되고 있습니다.)
  • Visual Basic 8 compiler.
    Visual Basic 8.0 컴파일러가 지원됩니다.
  • IL assembler and disassembler and the development toolchain required to create libraries and applications.
    IL 어셈블러와 디스어셈블러가 지원됩니다.

좀 더 자세한 정보는 http://www.mono-project.com/ 을 참고하세요. :-)

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

MonoDevelop 2.0 Alpha 1이 새롭게 발표되었습니다. Visual Studio 2005와 점점 가까워지는 모습들을 보여주고 있으니 기대하셔도 좋을듯 합니다. :-)

* Visual Studio 2005 이상부터 사용하는 프로젝트 파일 포맷인 MSBuild 포맷을 기본으로 지원합니다.
* 솔루션 폴더를 사용할 수 있으며 여기에 다른 프로젝트를 정리하여 넣을 수 있습니다.
* Workspace라는 단위를 통하여 서로 관련이 있지만 종속적이지 않은 다수의 솔루션과 또 다른 Workspace를 관리할 수 있습니다.
* 코드 완성 기능을 HTML과 ASP.NET 에디터에서 지원하기 시작합니다.
* 태그 구조를 표시하는 바가 HTML 편집 모드 시 하단에 나타납니다.
* 코드 접기 기능이 지원됩니다.
* 증분 검색 기능이 지원됩니다.
* 컬러 테마/스키마 기능이 지원됩니다.
* 한 파일을 두 개의 창에서 나눠보는 기능이 지원됩니다.
* GTK+ 2.12 버전 이상, Compiz 윈도우 관리자를 사용하고 있을 경우, 코드 완성 팝업을 띄운 상태에서 Ctrl 키를 누르면 투명 모드로 전환됩니다.
* 클립보드 Snippet이 추가됩니다.
* XML, XML 스키마 편집 기능이 지원됩니다.
* 어셈블리 브라우저 및 어셈블리 코드 보기 (디스어셈블링이 아닌 시그니처 나열)가 지원됩니다.
* 코드 메트릭 계산이 지원됩니다.
* Ctrl + Tab키를 누르면 패드/문서 스위칭 도구를 띄울 수 있습니다.
* Vala 프로그래밍 언어를 지원합니다. (C#과 유사하지만 GObject 시스템에 최적화된 것이 특징입니다.)

스크린 샷들을 가져와보았습니다. :-)

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)