[MacRuby-devel] [ANN] HotCocoa gets reheated

Anders Carling anders.carling at d05.se
Fri Oct 14 05:49:57 PDT 2011


Awesome to see progress in the HotCocoa project! Great work!

- Anders

On Oct 14, 2011, at 06:53 , Mark Rada wrote:

> 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 at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20111014/0c411c7d/attachment-0001.html>


More information about the MacRuby-devel mailing list