Monthly Archive for September, 2008

Liste over Cocoa udvikler ressourcer

En af de ting der gik tabt da vi flyttede fra vores gamle site, var listen over Cocoa udvikler ressourcer, der var nu ikke tale om en specielt lang liste, så vi kan lige så godt starte forfra.

Til formålet har jeg derfor oprettet en ressource side, den findes her.

Så hvis du kender et rigtig godt link som du vil dele med os andre, så skriv en kommentar.

Liste over brugere på Copenhagen Cocoa

På den seneste NSCoder Night kom der et ønske til Copenhagen Cocoa sitet frem.

Er det muligt at vise en liste over sitets registrerede brugere?

Denne funktion har jeg nu implementeret, og den findes under Medlemmer fanen. Her vises en liste over alle registrerede brugere med deres billede, og et link til brugerens webside.

Nu tænker i måske hvor vi får det billede fra, når der ikke er en mulighed for at uploade sit billede på Copenhagen Cocoa?

Gravatar Logo Billedet får vi gennem Gravatar servicen fra gravatar.com, så snart du har registreret din e-mail adresse hos Gravatar, så kommer dit profilbillede, også kaldet en Gravatar (Globally Recognised Avatar), automagisk på siden.

Rent teknisk endte jeg i øvrigt med at implementere funktionaliteten selv, det krævede bare en enkelt WordPress template med et par linjers PHP kode.

Jeg er interesseret i at høre jeres kommentarer, og evt. andre ønsker til sitet, så smid en kommentar.

NSCoder Night holder en lille pause

Vi holder en pause med NSCoder Nights her op til DevCamp, vi vil starte igen efter det store arrangement, jeg håber at se rigtig mange af jer til iPhoneDevCamp.

Reminder: Husk NSCoder Night på Onsdag

Husk at kigge forbi onsdag til NSCoder Night, jeg mangler stadig nogen der har lyst til at vise noget frem, så smid en kommentar hvis du har et eller andet du vil fortælle om. Der kommer nok også til at blive snakket om vores kommende DevCamp, håber vi ses!

kl 19:00

ZYB Esromgade 15-1 Nørrbro

iPhoneDevCamp Copenhagen er åben for DINE ideer

iPhoneDevCamp Copenhagen LogoSom de fleste nok er klar over, så er der iPhoneDevCamp Copenhagen den 3-4 Oktober 2008 på DTU, hvad de fleste måske ikke er klar over, er at man kan indsende forslag til applikationer der skal udvikles i forbindelse med eventet.

Det eneste man skal gøre er at registrere på iPhoneDevCamp Copenhagen Wikien, og redigere Idea siden.

Jo mere detaljeret du kan være med krav til applikationen jo bedre, og husk at skrive dit navn hvis du kommer med et forslag.

Det kan jo være at du ser din App i AppStore før du tror, og den slags giver meget mere street-cred, end at male grafitti på S-Toge, nu til dags! Så kom igang, operators are waiting!

Få din kodes syntaks fremhævet på CopenhagenCocoa

Jeg har, som et forsøg, lagt Syntax Highlighter Plus plug-in på.

Der er tale om en ret god plug-in, baseret på Google Syntax Highlighter der giver syntaks fremhævning.

Jeg ved ikke helt hvordan den har det med Objective-C, jeg bilder den ind at det er C++ kode, og jeg ved heller ikke hvordan det renderer på en iPhone.

Den blok man vil have fremhævet skal startes med (sourcecode language=”cpp”) og afsluttes med (/sourcecode) - bemærk: parenteserne skal erstattes med kantede parenteser

Hvad siger i til det, kan det bruges eller er det stemt hjem?

HelloWorld.h


#import <Foundation/Foundation.h>

@interface HelloWorld : NSObject {
// no instance variables
}

// methods
- (void)sayHello;

@end

En god men samtidlig lidt trist nyhed.

Vi har kontaktet Apple omkring vores DevCamp, og det viser sig at de også selv har stablet et arrangement på benene den 13. oktober.

Så det blir en rigtig spændnene måned i iPhone verden, og vi skal nok få et fedt DevCamp alligevel.

Vi kunne jo tage nogen stykker herfra og se hvad Apple har fået sammensat.

UPDATE: Apple kommer med mere information senere, så jeg har fjernet så mange detaljer som muligt.

iPhone DevCamp, tilmelding starter nu!

Skynd jer og skriv jer på til iPhoneDevCamp, vi har kun 50 pladser. Tilmelding er startet.

www.iphone.devcamp.dk

(Det var den gode nyhed!)

Lige et par ting…

Jeg kan se at jeg er kommet til at skrive forkerte dato på vores næste NSCoder Night, det er rettet nu! det blir onsdag d. 17 september, altså her på onsdag.

Der skal bruges en der vil lave lidt show-and-tell på onsdag, det skal vare 20-30 min, og handle om noget cocoa relevant, så lig en kommentar hvis du er på, ellers skal i høre på mig igen (det er en trussel!)

Jeg har også fundet ud af at comments ikke kommer på før jeg approover dem, det har jeg slået fra nu, i må undskylde ventetiden.

Så kommer der nok også en god nyhed senere i dag, men i må lige vente lidt.

En halvtynd kop kakao, tak

Jeg vil gerne byde copenhagencocoa velkommen, med et par tanker fra en helt almindelig Objective-C Cocoa programmør.

Hvad vil det egentlig sige at være Macintosh udvikler? Jo, vi er en priviligeret lille frustreret gruppe, som sidder med en niche-viden, hvor det officielle Danmark stadig er en Microsoft kontrolleret organisation. Hvor mange af os har ikke været frustreret over, at de offentlige tjenester sådan delvist virker på mac, eller at man har siddet på dr.dk, hvor man lige skulle se den udsendelse fra i går som man missede, for blot at finde ud af at QuickTime choker i det.

Her sidder vi så med vores niche-viden, som egentlig ikke er det helt store værd. Der er ikke rigtigt nogle seriøse virksomheder i Danmark, der bruger Macintosh som deres primærplatform, og derfor er behovet for Macintosh-orienteret viden heller ikke så stort. Ikke som vis man nu var hardcore COBOL programmør, hvor man kunne sidde og tjene kassen på at vedligeholde de store bankers backbone, som allesammen kører på et eller andet forældet system, og som er alt alt for dyrt at erstatte uden tab.

Men vi er unikke på mange måder. Vi besidder en viden, som ikke alverden gør. Godt nok kommer der flere og flere udviklere til på verdensplan, nu hvor Macintosh platformen begynder at tage fat i markedandelene igen, men alligevel er vi en sjælden race.

Hvad er det så vi får fra Apple, som gør at vi alle sammen er rigtigt glade for at være under deres folder? Apple tilbyder noget så forfærdeligt som Objective-C, som er halvt noget, halvt noget andet. Det er ikke rigtigt C og det er heller ikke rigtigt C++. Det er en mellemting. Syntaksen er helt ude i skoven. Hvor mange gange har man ikke siddet og talt, hvor mange led man skulle ned i en klassestruktur, så der kunne komme det rigtige antal klammer på, for alligevel at sidde i sidste ende af linien og konstatere at man har talt forkert, og må tilbage og fjerne eller tilføje en. Godt nok får man C med i købet, hvilket er et rigtigt stort plus. Langt de fleste styresystemer nu om dage bliver udviklet i C, fordi den er en god balance mellem let syntaks og rigtig god low-level kompabilitet.

Men Objective-C er noget rod. Det er halvt SmallTalk, halvt C. Ikke rigtigt to sprog der er så nemme at kombinere, og det bliver da heller ikke uden nogen form for ofringer, da der bliver tilføjet en (relativ) stor overhead. Apple har da også på sin vis selv erkendt at Objective-C ikke er for sarte sjæle, i og med at WebObjects for længst har smidt understøttelsen af sproget, og kun bruger Java som dens hovedsprog.

Java understøttelsen af Cocoa er på den anden side blevet droppet fra og med Tiger. Det har sine åbenlyse grunde. Java er godt til web-udvikling, fordi det har en fælles brugergrænseflade i form a HTML. Java lider af at være udpræget cross-platform, i den forstand at det ikke rigtigt er godt til nogle platforme overhovedet. Heller ikke Mac OS X. Men da HTML er rimeligt platform uafhængigt, er Java perfekt til det formål.

Hvilke alternativer kunne Apple så komme op med, for at vi udviklere er tilfredse. Det første man kunne se på var nogle flere broer til nogle flere sprog. C++ kunne være en mulighed. Man tør ikke rigtigt tage skridtet fuldt ud, og udelukkende udvikle sine programmer i C, både fordi Apple konstant truer med “move to Cocoa”, hvilket gør at alle udviklere bliver en lille smule Carbon angst.

Det leder mig videre til de frameworks der er i OS X, hvilke er intet mindre end fantastiske. Her kommer glæden tilbage som Macintosh udvikler. En god integreret objekt-orienteret API, som gør det legende nemt at implementere det man ønsker. Cocoa er jo faktisk ikke mindre end rigtigt godt. Og så alligevel…

Det bygger helt sikkert på nogle programmeringsparadigmer, som er omkring 20 år gamle. Mange kigger på Cocoa og tænker det som enormt innovativt, fordi det er en nye måde at tænke programmering på. Faktisk er det ikke helt rigtigt. Sandheden er faktisk at grunden til det ser nyt ud, er fordi det er ældgammelt. Husk arven fra NextSTEP. Hvor meget ligger man ikke og roder med NSArrays og NSDictionaries, udelukkende for konstant at skulle kigge i dokumentationen for hvilke nøgler de indeholder i forhold til det vi leder efter? Det kunne være løst med en mere objekt-orienteret API, hvor man brugte langt flere properties. Et godt eksempel er NSViewAnimation, som bruges til at animere NSViews. Her definerer man hvad der skal flyttes hvorfra og hvortil via NSArryes og NSDictionaries. Det kunne helt sikkert godt have været lavet nemmere.

Steve Jobs konstante råb om “move to Cocoa, move to Cocoa” er ikke helt uden problemer. Faktisk er det kun en håndfuld af Apples teknologier, som rent faktisk er tilgængelige i en object-orienteret facon. Rigtigt mange features i Mac OS X er stadig pr. Leopard kun tilgængelige via Carbon. Og hvordan er det så lige det står til med det der Carbon? Apple bliver ved med at skubbe udviklere til udelukkende at udvikle til Cocoa, men det er ikke uden ofringer. F.eks. er SystemConfiguration frameworket kun tilgængelig i Carbon. Det samme gælder QuickTime, og det er selvom QTKit er på banen, men som kun gør en lille overflade af Carbon udgaven tilgængelig i en object-orienteret forstand. Det giver sig også til udtryk i at software som Microsoft Office og Adobe Photoshop, stadig er implementeret v.h.a. Carbon. Jeg tror deres begrundelse ligger i, at selvom de flyttede til Cocoa, så skulle store dele af deres software alligevel implementeres v.h.a Carbon, og dermed er en portering nærmest nytteløs.

Når Apple refererer til Cocoa, lyder det i mine ører ikke som selve frameworket, men mere i en forstand af “move to Objective-C”.

Jeg skal hermed komme med en opfordring. Hvis Apple seriøst mener at vi alle sammen skal “move to Cocoa”, så er det med at få de sidste frameworks opdateret, så vi kan kan smide vores Carbon kode i skraldespanden. Det skal ikke kun være en overfladisk Objective-C implementering. Vi vil kunne ku’ det hele. Hvis de mener det, skal det også kunne lade sig gøre at implementere det man har lyst til via Objective-C, og ikke alligevel skulle stå en situation hvor man tænker: “Jeg bliver nød til at move to Carbon…”