Preparing Cappuccino in 30 minutes

1,758
-1

Published on

Published in: Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,758
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Preparing Cappuccino in 30 minutes

  1. 1. Preparing Cappuccino in 30 minutes <ul><li>Lukáš Hurych </li></ul>
  2. 2. Objective-J Cappuccino Cappuccino
  3. 3. Objective-J and Cappuccino <ul><li>Web applications </li></ul><ul><li>Not for websites </li></ul><ul><li>Similar to Objective-C (differences => JS) </li></ul><ul><li>It’s just JavaScript with OO addition </li></ul><ul><li>To make better programming language from JavaScript, add what’s missing (robust apps) </li></ul><ul><ul><li>Classes (inheritance), file import </li></ul></ul>
  4. 4. Objective-J and Cappuccino <ul><li>Developed with Cappuccino framework </li></ul><ul><ul><li>Objective-C + Cocoa; Objective-J + Cappuccino </li></ul></ul><ul><li>No need to compile (but you can) </li></ul><ul><li>No need any plug-ins </li></ul><ul><ul><li>Flash, Silverlight </li></ul></ul><ul><ul><li>Native javascript (not halting system) </li></ul></ul>
  5. 5. Objective-J and Cappuccino <ul><li>Develop desktop-like applications on web </li></ul><ul><li>Basic UI - part of Cappuccino (eg. extJS) </li></ul>
  6. 7. Objective-J and Cappuccino <ul><li>All application logic on Objective-J (JavaScript) side </li></ul><ul><li>Back-end - send/accept data (JSON) </li></ul>
  7. 8. What you can do? <ul><li>http://gomockingbird.com/ </li></ul><ul><li>http://280slides.com/ </li></ul><ul><li>http://githubissues.heroku.com/ </li></ul>
  8. 9. Code
  9. 10. Classes @import “CPObject.j” //basic class @implementation Person : CPObject { CPString name; } //methods @end
  10. 11. Methods - (void)setName:(CPString)aName { name = aName; } - (CPString)name { return name; }
  11. 12. Methods - (void)setJobTitle:(CPString)aJobTitle company:(CPString)aCompany { //body of method } - (void)setJobTitle:(CPString)aJobTitle company:(CPString)aCompany { //body of method } [person setJobtitle :”developer” company :”abdoc”];
  12. 13. Methods var person = [[Person alloc] init]; //chain [myPerson setName:”Lukáš”]; moveToBeginningOfSentenceAndModifySelection: //chatty cocoa
  13. 14. Methods + (id)personWithName:(CPString)aName { return [[self alloc] initWithName:aName]; }
  14. 15. Development Environment
  15. 16. How to get started quickly with Cappuccino? <ul><li>Starter kit </li></ul><ul><li>http://cappuccino.org/download/ </li></ul>
  16. 17. Which platform? <ul><li>Ideal development on Mac OS X or Linux </li></ul><ul><li>Cygwin on Windows </li></ul>
  17. 18. Preparing environment <ul><li>git clone git://github.com/280north/cappuccino </li></ul><ul><li>gem install jake </li></ul><ul><li>./bootstrap.sh </li></ul><ul><li>jake install </li></ul><ul><li>export CAPP_BUILD=/Users/profile/cappuccino/build </li></ul><ul><li>try: capp gen Test </li></ul>
  18. 19. Preparing environment <ul><li>capp tool </li></ul><ul><ul><li>new project </li></ul></ul><ul><li>nib2cib </li></ul><ul><ul><li>Interface Builder </li></ul></ul>
  19. 20. How to efficiently start with Cappuccino <ul><li>Learn, learn, learn is not the right way, ok? </li></ul><ul><li>Do something! </li></ul><ul><li>Play, play, play! </li></ul><ul><li>http://cappuccino.org / </li></ul><ul><li>http://wiki.github.com/280north/cappuccino/ </li></ul><ul><li>http://cappuccinocasts.com/ </li></ul>
  20. 21. How to efficiently start with Cappuccino <ul><li>Official documentation is not so good.. </li></ul><ul><ul><li>http://cappuccino.org/learn/documentation/ </li></ul></ul><ul><li>App for mac - CappKiDo </li></ul>
  21. 22. How to efficiently start with Cappuccino <ul><li>http://www.nice-panorama.com/Programmation/cappuccino/ </li></ul><ul><ul><li>http://prejit.cz/6e </li></ul></ul><ul><li>http://www.springenwerk.com/2009/09/real-life-cappuccino-tutorial-part-1.html </li></ul><ul><ul><li>http://prejit.cz/6f </li></ul></ul>
  22. 23. What to avoid? <ul><li>Reading a lot of theory </li></ul><ul><li>Do something, really! </li></ul><ul><li>Most common mistakes </li></ul><ul><li>http://stackoverflow.com / </li></ul>
  23. 24. Live coding
  24. 25. Live coding <ul><li>What about simple todolist? </li></ul>
  25. 26. Any questions? <ul><li>Don’t hesitate to ask! </li></ul>
  26. 27. Lukáš Hurych <ul><li>web/mac developer </li></ul><ul><li>@LukasHurych </li></ul><ul><li>http://abdoc.net </li></ul><ul><li>[email_address] </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×