Thursday, May 13th, 2010
The 280 North crew just released NativeHost, an open source component that takes your Cappuccino applications and makes them desktop apps, without you having to write a line of code:
Again, we feel that the ultimate distribution platform is the web, and that the desktop is almost a transitional necessity today. So with that in mind, we certainly didn’t want to create a tool that required adding a bunch of new API that won’t work online. However, we also wanted an experience that truly felt good on the desktop. NativeHost is able to accomplish this because it is so tightly integrated with Cappuccino. It provides a seamless experience to both the application developer and end user. The goal is to have any existing Cappuccino app just work on the desktop without requiring any new code.
This is manifested in an increasing number of integration points:
- The Cappuccino “main menu” automatically populates the native Mac OS X menu bar. On other platforms it will do what is expected by users on that platform. For example, in a Windows version of NativeHost the menu would be attached the top of individual windows.
- Cappuccino windows (CPWindow) automatically become “native” windows. In the browser Cappuccino windows are typically drawn inside the main browser window. In native host they become real operating system level windows that can be minimized, etc.
- Secure access to the native file system without new API: use existing methods like XMLHttpRequest.
- Cappuccino’s document architecture is integrated with the operating system.
Operating system open/save panels are used.
- Just like any native application your application can register itself to open specific file types. When the operating system requests that your application open a document that information is passed on to Cappuccino for your application to handle.
You can read more about the why and the how on their blog post. Desktop is one thing, but this makes you think about the next post from them that says that your app works in mobile worlds (very different constraints and all…. but still).
All good technology has a showcase, and this doesn’t fail. GitHub Issues is a new NativeHost app that shows you how a great app can live online and on the desktop. It is open sourced, and you get buzzword goodness in node, heroku, mustache, and more.
Posted by Dion Almaer at 4:47 pm