IronRuby의 핵심 기능 및 특징
IronRuby의 주된 목표는 .NET과 Ruby 세계를 연결하는 것입니다. 이를 통해 Ruby 코드에서 .NET 객체를 직접 호출하고 활용할 수 있으며, 반대로 C
과 같은 .NET 언어에서 Cucumber, Rails와 같은 Ruby 라이브러리를 사용할 수 있게 됩니다. 이는 개발자에게 상당한 유연성과 잠재력을 제공합니다.
데모를 통한 활용 사례
발표에서는 다양한 데모를 통해 IronRuby의 실질적인 활용 가능성을 보여주었습니다.
-
Windows Forms: IronRuby 콘솔에서
System.Windows.Forms어셈블리를 로드하여 버튼과 메시지 박스를 포함한 간단한 UI 애플리케이션을 Ruby 코드로 즉시 생성하는 과정을 시연했습니다. 이 과정에서 .NET 속성 설정, 이벤트 구독, 메서드 호출 등이 Ruby 관례에 따라 자연스럽게 번역되어 사용되는 점이 강조되었습니다. -
Windows Presentation Foundation (WPF): Windows 전용의 풍부한 UI 프레임워크인 WPF를 IronRuby로 개발하는 사례를 소개했습니다. XAML로 UI를 정의하고 Ruby 코드로 로직을 구현하여 동적인 목록과 이미지 효과를 포함하는 복잡한 Twitter 트렌드 애플리케이션을 단 106줄의 Ruby 코드로 구현하는 데모를 선보였습니다.
-
Silverlight: 웹 기반의 Flash 경쟁 기술인 Silverlight 애플리케이션을 IronRuby만으로 개발할 수 있음을 보여주었습니다. 개발 서버인 Chiron을 통해 실행되는 Silverlight 앱 내부에 IronRuby 콘솔을 내장하여 실시간으로 UI를 조작하거나 Ruby 코드를 실행하는 모습을 시연했습니다.
-
Gestalt 프로젝트: Silverlight를 활용하여 웹 페이지의 JavaScript를 Ruby 코드로 대체하는 Gestalt 프로젝트를 소개했습니다.
DLR.js라이브러리가 숨겨진 Silverlight 객체를 통해 DOM 내의 Ruby 스크립트를 실행함으로써, 개발자가 JavaScript 대신 Ruby로 웹 프런트엔드 로직을 작성할 수 있는 혁신적인 방안을 제시했습니다. -
Windows Phone 7: 곧 출시될 Windows Phone 7용 애플리케이션을 IronRuby로 개발할 수 있음을 언급했습니다. C
프로젝트 래퍼를 통해 Ruby 코드를 실행하는 방식으로, Ruby 개발자가 모바일 앱 시장에 진출할 수 있는 기회를 제공합니다.
Rails 및 클라우드 지원
IronRuby 1.0은 Rails 2.3.5 및 2.3.8을 지원하며, 향후 IronRuby 1.1에서는 Rails 3.x 지원을 목표로 합니다. 특히 IronRuby.Rails(unre)는 ASP.NET 기반의 Rake 구현체로, IIS(Windows Internet Information Services) 환경에서 Rails 애플리케이션을 보다 자연스럽고 효율적으로 실행할 수 있도록 돕습니다. 또한, Microsoft의 클라우드 플랫폼인 Windows Azure에서도 IronRuby를 활용할 수 있음이 소개되었습니다.
오픈 소스 및 호환성
IronRuby는 오픈 소스 프로젝트이며, Mono 플랫폼에서도 실행 가능하여 크로스 플랫폼 호환성을 제공합니다. 현재 Ruby 1.8.6과 호환되며, Ruby 1.9.2 호환성을 위한 개발이 진행 중입니다.