Size: 2647
Comment:
|
Size: 4129
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
API [[http://www.cappuccino-project.org/learn/documentation/]] |
|
Line 24: | Line 26: |
* cd ~/gitCappuccino/cappuccino/Tools/Editors/Emacs] | * cd ~/gitCappuccino/cappuccino/Tools/Editors/Emacs |
Line 97: | Line 99: |
== Dictionary from JSON object == {{{#!highlight objectivej - (void)connection:(CPURLConnection) connection didReceiveData:(CPString)data { var dict = [CPDictionary dictionaryWithJSObject: [data objectFromJSON] ]; [textField setStringValue: [dict valueForKey:@"lkeyx"] ]; } - (void)connection:(CPURLConnection)connection didFailWithError:(CPString)error { } }}} == URL request == {{{#!highlight objectivej var url = [CPString stringWithFormat:"/JEE-war/rest/getInfo/%@", [textField stringValue] ] ; var request = [CPURLRequest requestWithURL: url ]; var connection = [CPURLConnection connectionWithRequest:request delegate:self]; //calls didFailWithError and didReceiveData }}} == Mime types Glassfish + JBoss == Adapted from [[https://github.com/cappuccino/cappuccino/wiki/Server-Side-Issues]] You need to have the mime type of file types it doesn’t understand set to something for Cappuccino to work. Specifically, you should set the following mime-type/extension pairs. This can be done in the '''web.xml''': {{{#!highlight xml <mime-mapping> <extension>j</extension> <mime-type>text/javascript</mime-type> </mime-mapping> <mime-mapping> <extension>plist</extension> <mime-type>text/xml</mime-type> </mime-mapping> <mime-mapping> <extension>sj</extension> <mime-type>text/javascript</mime-type> </mime-mapping> }}} |
Cappuccino
Cappuccino is a framework which makes it easy to create advanced web apps.
http://www.cappuccino-project.org/
Objective-J is a powerful object-oriented language which compiles to run in the browser.
API http://www.cappuccino-project.org/learn/documentation/
Get the code
Clone it using git:
- cd ~
- mkdir gitCappuccino
- cd gitCappuccino
- git clone git://github.com/cappuccino/cappuccino.git
- cd ~/gitCappuccino/cappuccino
Vim editor Objective-J plugin
Run the follwoing commands after fetching code from github:
- mkdir -p ~/.vim/plugin
- cd ~/gitCappuccino/cappuccino/Tools/Editors/Vim]
- cp objj.vim ~/.vim/plugin
Emacs editor Objective-J plugin
- mkdir ~/cappuccinoEmacs
- cd ~/gitCappuccino/cappuccino/Tools/Editors/Emacs
- cp *.el ~/cappuccinoEmacs/
- touch ~/.emacs
- nano ~/.emacs
- (add-to-list 'load-path "~/cappuccinoEmacs")
- (require 'objj-mode)
Init String, CPString
Mutable Array
Callbacks
1 @implementation TestObject : CPObject
2 {
3 }
4
5 -(void)helloWorld{
6 CPLogConsole("Called hello world");
7 }
8 //(...)
9 @end
10
11 //--------------------
12 var selectorHelloWorld = @selector(helloWorld) ;
13 var signature = [self methodSignatureForSelector: aSelector];
14 var invocation = [CPInvocation invocationWithMethodSignature:signature];
15 [invocation setSelector: selectorHelloWorld];
16 [invocation invokeWithTarget: self]; //self -> instance of TestObject
17
1 @implementation TestObject : CPObject
2 {
3 }
4
5 -(void)helloWorldMsg:(CPString) message p1:(int)intVal {
6 CPLogConsole( message );
7 CPLogConsole( intVal );
8 }
9 //(...)
10 @end
11
12 //--------------------
13 var selectorHelloWorldMsg = @selector(helloWorldMsg:p1:) ;
14 var sig = [self methodSignatureForSelector: selectorHelloWorldMsg];
15 var invocation = [CPInvocation invocationWithMethodSignature:sig];
16 [invocation setSelector: selectorHelloWorldMsg];
17 [invocation setArgument:@"Message" atIndex:2 ]; //0-> self 1->_cmd
18 [invocation setArgument: 1234 atIndex:3 ]; //0-> self 1->_cmd
19 [invocation invokeWithTarget: self];
Dates
Dictionary from JSON object
1 - (void)connection:(CPURLConnection) connection didReceiveData:(CPString)data
2 {
3 var dict = [CPDictionary dictionaryWithJSObject: [data objectFromJSON] ];
4 [textField setStringValue: [dict valueForKey:@"lkeyx"] ];
5 }
6
7 - (void)connection:(CPURLConnection)connection didFailWithError:(CPString)error
8 {
9 }
URL request
Mime types Glassfish + JBoss
Adapted from https://github.com/cappuccino/cappuccino/wiki/Server-Side-Issues
You need to have the mime type of file types it doesn’t understand set to something for Cappuccino to work. Specifically, you should set the following mime-type/extension pairs. This can be done in the web.xml:
1 <mime-mapping>
2 <extension>j</extension>
3 <mime-type>text/javascript</mime-type>
4 </mime-mapping>
5 <mime-mapping>
6 <extension>plist</extension>
7 <mime-type>text/xml</mime-type>
8 </mime-mapping>
9 <mime-mapping>
10 <extension>sj</extension>
11 <mime-type>text/javascript</mime-type>
12 </mime-mapping>