Hey all,

I have some wonderful news. Over the past several months I've been working on a 
fork of HotCocoa. With the help of other contributors (Watson, Isaac, Jake, 
Bernard, Francesco, Jason, and all the past contributors), it is now time for a 
new release of HotCocoa. The best part is that it will be an official release, 
with rubygems and everything!

You can install it from rubygems right now:

     sudo macgem install hotcocoa

It is recommended that you use MacRuby 0.11, but MacRuby 0.10 should still 
work. 

For those of you who don't know, HotCocoa is a MacRuby library that aims to 
simply the creation and configuration of Cocoa objects when creating Mac apps. 
You can use it inside of an existing MacRuby Xcode project, but HotCocoa 
includes tools to heelp you build applications entirely without Xcode. The 
source is currently hosted on Github at:

        https://github.com/ferrous26/hotcocoa


The source includes the point form list of changes since HotCocoa 0.5, but I've 
included a long form of the changes for interested parties:

* New application builder to work with MacRuby 0.10+

The old application builder had statically set itself to compile 32/64-bit fat 
binaries, and when MacRuby deprecated 32-bit support this begin causing some 
problems. The old application builder has been fixed and refactored, but it has 
also been deprecated in favour of a new application builder that works with 
appspecs.

  * New application templates now use an appspec, similar to a gemspec

  An appspec is much easier to use and much more flexible than the old 
config.yml file. It is a ruby object, just like a gemspec, and can be much more 
dynamic. It also offers quite a few more configuration options than config.yml. 
Appspec is the future, and config.yml is now deprecated. You can learn more 
about appspecs from the documentation: 
http://rdoc.info/github/ferrous26/hotcocoa/master/Application/Specification, or 
from the template file: 
https://github.com/ferrous26/hotcocoa/blob/master/template/__APPLICATION_NAME__.appspec.

We are also looking for feedback regarding the new appspec format, there is 
still a lot of room for growing and maturing and community feedback will help 
guide the process.

  * Lazier loading for mappings (may break custom mappings!)

  HotCocoa used to load the all mappings and simply not evaluate them until the 
requisite framework was loaded; HotCocoa now evaluates the mapping right away 
but does not load the mapping until the requisite framework is loaded. This was 
done to simplify the code base, and it will lower the memory foot print for 
most apps as more mappings are added to HotCocoa. The trade off is that you 
will need to be responsible for loading your custom mappings yourself, which 
you were probably already doing.

* API documention (~67% coverage so far)

API documentation is an ongoing effort, but most of the important pieces have 
helpful comments that should make learning/using HotCocoa easier. You can view 
it online: http://rdoc.info/github/ferrous26/hotcocoa/master/frames

* Regression tests (< 67% coverage so far)

Also an ongoing effort, coverage is not great, but its not bad either. The 
example apps are still tested out between non trivial changes.

* Updating and porting of the tutorial documentation (~40% complete)

Along with the API documentation, you will see that some of the HotCocoa 
documentation from the MacRuby website has been ported and updated. It is 
important to note that you should refer to the updated version of the 
documentation if it is available.

* HotCocoa now works when compiled

You can use the rubygems-compile gem to compile HotCocoa successfully. When 
compiled, HotCocoa will load at least ~2.5 times faster, but as much as ~5 
times faster.

* HotCocoa is now leaner

Various small optimizations and refactorings have gone into HotCocoa 0.6; this 
is also an ongoing effort. Faster boot and run times is a long term goal.

* Various bug fixes

A few bugs were squashed during the refactoring. Not all of which were 
implemented by myself, so HotCocoa should be more stable than ever. :)

* 4 new mappings:
  * bonjour_service => NSNetService
  * bonjour_browser => NSNetServiceBrowser
  * line           => NSBezierPath
  * tracking_area  => NSTrackingArea

* 2 graphics improvements:
    * Image class works with more image types (BMP, JPEG2000)
    * Image class can save images


But there is still a lot more that can be done for the future; HotCocoa is a 
very ambitious project:

  - Cocoa Auto Layout
  - HotCocoa-Graphics update
  - Improvements to the tools, specifically project management, configuration, 
and testing
  - More test coverage for HotCocoa
  - More API documentation
  - Port the remaining documents and tutorials
  - And more!


Cheers,
        Mark

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to