Monday, May 12, 2014

Designing With Code: Why This Blog does not use XCode

Tremendous progress is being made in communicating XCode objects into Cappuccino compatible objects, but there is still a huge gap between the available XCode objects and the correlated Cappuccino objects generated by XCapp.  By understanding how to take full control of your application from the code-base, you will be better able to handle gaps between your concept and the XCapp interface-builder capabilities.

I first faced this deficiency when I attempted to create an application that used a multi-line text box.  In HTML and javascript, it would be as simple as defining a <textarea> tag and communicating the value of this block with javascript functions.  However, within the framework of Cappuccino, we no longer work with HTML or "low-level" javascript.  XCapp is not able to create a Cappuccino text area, because at this time, no such item exists as part of the core Cappuccino control objects.

By corresponding with the mailing list, I was quickly informed that I could use an object defined by another programmer, available publicly, but without knowing how to jump between what was designed in XCode and what I would have to design by hand, that information was not practical.

This is why I recommend that all Cappuccino beginning developers learn first to layout their applications using code-only.  If you can create your application from the ground up using code, then XCode, becomes a tool, which makes your work faster, and when you find obstacles like the one that I found, it will not halt your design process.

For this reason, we will focus primarily on manual layouts in this blog.

Post Note:

For those who are interested, that Text Editor, which is, in my opinion, very well constructed can be found at the following location: Cappuccino Text Editor implemented with Google's Closure Editor.

1 comment:

  1. Well now we have a working CPTextView that is almost feature complete, at least for the usual textview functions. This was one of the key features for the upcoming 1.0 version of Cappuccino.

    ReplyDelete