Posts Tagged ‘Cappuccino’

Release of version 0.9.10 of Cappucino brought a new full featured TextView component. Since there have been many fixes, and it has been announced as one of the main features of Cappuccino 1.0, that will be released this fall.

This may be time to update Emotuned application / store builder.

Advertisements

Motorola Mobility’s Ninja HTML5 framework, that was unveiled mid-2012, however without new references since many months, was replaced by Google Web Designer, an Adobe Edge/Apple iAd Producer like HTML5 ads builder, then with limited scope (no more a rich internet applications builder). The Montage HTML5 framework (that was the basis for Ninja HTML5) is still available (open source).

We can find more details in this greatly written article, that underlines that there isn’t any HTML5 web applications solution (framework and builder) available (GWT is old, not HTML5 focused and no more driven by Google), only basic tools and low level frameworks (jQuery, angularJS, BackboneJS, Twitter Bootstrap).

We can however still use Cappuccino and Apple’s XCode/Interface Builder to build applications such as emotuned.com or direct2it.co (using Direct2CP’s solution mda approach allowed building these easily even without IB).

In fact all single page/anonymous div based frameworks can easily use HTML5 features when required, by extending existing components. That is adding/generating new doms elements (and/or new css values) to components. Cappuccino still uses CSS3 for Popover and other areas, while Direct2CP components wrap HTML5 audio and video tags (also use CSS3 animations) and new upload features.

Then a whole new HTML5 framework would not provide more (as many features aren’t HTML5 specific), at least a true HTML5 framework would be replacing all anonymous divs by WebGL elements (that is wrapping these in components) for rendering (HTML5 also provides features that aren’t display related, like storage).

Cocoa to Cappuccino tutorial

Posted: October 28, 2012 in IT/Dev
Tags: , ,

At slevenbits blog we can find an article about porting a Cocoa component (here a custom NSBox – with editable title) into a Cappuccino one. As expected, it only consists in replacing NS suffix with CP, pointer * sign, and modifying imports. Also in the example the event management (box title editing) is easier, as Cappuccino benefits from the textField html element provided by the browser (with Cocoa we have to determine the editing area and use a fieldEditor).

Emotuned : article at DZone

Posted: September 3, 2012 in IT/Dev
Tags: , , ,

An bistory of Emotuned application project can be found at DZone. It presents the project idea, the work on required framework (porting CP2JavaWS to php and adding new features), the CSS3 player wrapped to a new Cappuccino component, use of new Cappucino dynamic controls (popovers, animating), a new HTML5 drag and drop upload component (that works with Safari and Firefox), tricks for performance enhancement.

A 1.1 update to Direct2CP is available :

– fixed state problem in EMZenView (was in canplay state when switching song – should be buffering state) that prevented play.

– added deferred mode in DCMasterDetailView (createDeferredForEndpoint) : if true numberOfRows returns 0 immediately( without calling the synch remote method). It is reset to false when calling setCriteria, setSortDescriptorsStr or reset.

Emotuned application (free music platform for composers, see here) now uses press (350 KB for the application .sj) and the new deffered mode for the master detail views (that is only one request is sent initially, for the main store tab – no requests for empty table views from other tabs). Performance is now related to the hosting provider.

Building Cappuccino from source requires both root admin account activation (and .profile creation) and installation of gcc tools (not installed by default by Xcode). Moreover we don’t need installing git or another tool as we can download a generated “zipball” archive of latest main source tree.

The Cappuccino reference page for installation can be found here.

Simply follow these steps :

– activate the root account : http://support.apple.com/kb/HT1528

– launch Xcode, and in Preferences, Downloads, Components, install Command line tools (185 MB)

– download the zipball archive from http://github.com/cappuccino/cappuccino/zipball/master  and unzip it to Users/youruser/cappuccino

– from the cappuccino folder in terminal, type  ./bootstrap.sh

enter yes for all

it creates a narwhal folder in Users/youruser.

– as it says it couldn’t export variables (there isn’t a .profile yet), open terminal, and from your user’s root folder (that is Users/youruser) enter : touch .profile

it creates an hidden .profile file (that can be displayed from terminal using ls -a)

– type pico .profile and add the previous variables (replacing youruser by your user name)  :
export NARWHAL_ENGINE=jsc
export PATH="/Users/youruser/narwhal/bin:$PATH"
export CAPP_BUILD="/Users/youruser/Documents/cappuccino/Build"

save the file (Ctrl-X and y)

Note you could also have created the .profile file before bootstrap.sh command, then the script would have added these export to it automatically.

– logout from terminal and log in (for the new profile variables to be used)

– from the cappuccino folder in terminal, type  jake

Once completed, there is now AppKit, Foundation and Objective-J builds in cappuccino/Build/Release. Just copy  these to your application to replace the older.

To compress an application type  jake deploy from the application folder. A new Build folder is created in the application folder, and then move Browser.environment folder from Build/Release/NewApplication to the root application folder (also add here the generated Info.plist from NewApplication). Previous .j files can now be deleted (except Main.j).

Direct2CP available

Posted: April 20, 2012 in IT/Dev
Tags: , , , , , ,

 

Direct2CP is available.

This new version of CP2JavaWS brings the following features and enhancements :

– Added support for php on the server side (not yet full php objects encoding/decoding, only CPDictionary and CPArray encoding/decoding to anonymous php objects), including digest authentication.
– Added easy forms creation by code, including validation management (local and remote validation methods) with automatic error messages display.
– full support for exceptions and errors.
– support for complex nested master detail views (forms views can be used as detail views, and even composite detail view is allowed, for example a detail view that contains both a form view and another master detail view).
– enhancements and fixes in master view : technical id column can now be hidden, columns labels and sizes can be set, master/detail layout split can be horizontal besides vertical, fixed in transient wrong values when sorting in Firefox (now asynch read), fixed additional triggered selection after master view element selection (now asynch read).
– endpoint’s url can now be relative.
– support mix of java and php endpoints (separate tracking of java sessionid and php sessionid)
– generic dao service for php and connection factory
– fix in decoder for null dictionary or array properties
– fix in request parameters (now urlencoded – required for special chars like + or = used in encrypted values, criterias or text content)
– support aes encryption for form fields
– window controller for password reset
– fixed log errors for xhr’s non allowed (and not useful) request headers (content-length, connection) or unsafe ones (set-cookie)
– added paged grid collection view
– added drop upload controller (compatible with Safari 4, Safari 5.1, Firefox)
– added css3 based Zen html5 audio player (including fixes for Firefox)