Paul Krill
Editor at Large

Castle built for .Net

news
Nov 21, 20063 mins

Open source project looks to assist developers

Castle, which is an open source project to ease development on Microsoft’s .Net platform, is nearing its general release.

Spawned out of the defunct Apache Avalon object-oriented framework, Castle is built as a set of programming libraries. In addition to .Net, it also will work with Mono, an open source implementation of .Net. 

“Castle’s goals are avoid code repetition, use convention instead of configuration whenever it’s possible, and handle common tasks on the programmer’s behalf,” said project creator Hamilton Verissimo, founder of the Castle Stronghold consultancy in Brazil.

A second release candidate of Castle 1.0 is available as of several weeks ago. A general release is targeted for January. 

Castle can be used for enterprise and Web application development. It features tools including MonoRail, which is a Web framework inspired by Ruby on Rails. MonoRail uses the MVC (Model-View-Controller) pattern for application flow, data, and views. AJAX (Asynchronous JavaScript and XML) is featured as well.

Also in Castle are ActiveRecord, for mapping objects to databases, and Windsor, which is an object lifecycle container for making code more maintainable. 

“[Castle is] a collection of many different tools and features primarily designed for easing development and reducing development time,” said Kevin Williams, who is a developer involved in Castle.

Ease of use and intuitiveness are the primary draws of Castle, Williams said.

“Of all the software that I’ve used over the years in .Net, I’ve never seen anything as easy to use or powerful as the Castle tools,” Williams said.

“It’s very intuitive to use and you have a lot of control over things and it’s very extensible,” Williams said. Users can mold Castle to their environment or use it with the Visual Studio IDE.

“Probably the best thing I can say is that as developers improve their practices and learn about new methodologies and techniques and design patterns and all these things, sometimes it’s difficult to put all these tool together and make it work,” Williams said. “Castle fits all those pieces together for you and gives you a jumpstart in what you want to build.”

Castle began as an attempt to bridge Avalon to .Net. Planning already is under way for version 2.0 of Castle. The MonoRail component in version 2.0 may be enabled to work with many view engines at the same time. A domain language to generate JavaScript also is eyed, as is a better template engine in the vein of Ruby. Performance improvements also are planned for MonoRail.

Initialization and mapping improvements are expected for ActiveRecord in Castle 2.0. The IoC (Inversion of Control) microkernel in Castle may be more configurable as well.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author