"Waar begin ik, wanneer ik wil gaan programmeren voor OS X? (En welke tools heb ik dan nodig?)"
Wat wil ik programmeren? Tsja, euhm... echt een duidelijk doel heb ik niet. Ik wil er meer van leren en zal waarschijnlijk willen beginnen met een soort van simpele texteditor die werkt met kleur codes, etc.
Vraag me niet direct de hemd van het lijf... Ik heb programmeer ervaring, maar dat is voornamelijk windows geörienteerd.
Alvast bedankt
Persoonlijk zou ik voor Java kiezen als ik jou was, want dan kan je je kennis en je programma's ook op andere platformen inzetten (afgezien van het feit dat Java een heerlijke programmeertaal is, natuurlijk). Java applicaties zijn qua uiterlijk niet te onderscheiden van reguliere Mac applicaties, vanwege de goede implementatie van Aqua voor Swing (Apple verzorgt zelf de Java versie voor de Mac).
Je *kunt* ook voor Objective-C in combinatie met Cocoa kiezen, maar daar heb ik persoonlijk minder mee. Het is in ieder geval wel (afgezien van Java) de klassieke manier op software voor de Mac te ontwikkelen.
Je kunt ook modern doen en voor Ruby of Python kiezen. Die talen zijn allemaal platformonafhankelijk. Een andere interessante optie is .NET via Mono, wat op dit moment nog een beetje expirimenteel is op de Mac, maar C# is een fantastische taal die het waard is om een beetje te stoeien met jonge software.
Een andere oplossing is C++ in combinatie met de Qt toolkit van Trolltech (bekend van KDE op Linux), waarmee je je software ook op verschillende platformen kunt draaien zonder (grote aanpassingen). Adobe gebruikt Qt onder andere voor Photoshop Elements.
Kies in ieder geval voor een cross-platform programmeertaal. Waarom? Daar ga ik binnenkort op in een artikel dat ik op dit moment nog aan het schrijven ben over het belang van cross-platform ontwikkeling. Als je wat dat betreft op de hoogte wilt blijven kan je het beste http://www.filipdewaard.com in de gaten houden...
veel succes, want het is een lange weg, zeker als je nog nooit geprogrammeerd hebt. want programmeren is 1 ding, maar de structuur van een programma uitdenken is nog veel complexer.
Wat de taal betreft: er is maar 1 taal op Mac OS X, de rest is "bijzaak" of zelfs "oud zeer". Apple geeft heel duidelijk aan dat ze actief verder willen met Objective-C en het bijbehorende Cocoa libraries. Java ondersteuning wordt niet meer verder ontwikkeld na OS X 10.4. Leopard zal dus nog wel java bevatten, maar deze taal zal niet meer worden uitgebreid. Het is (net als Carbon) alleen nog aanwezig om compatibiliteits- en interoperabiliteitsredenen (cross-platform gebruik met Linux, Windows e.d.) aanwezig. Apple meldt dit in de revisie van 12 december 2005 van de Cocoa documentatie. Deze is te vinden in de members-area van http://developer.apple.com
php en perl zijn interpreted talen, wat betekent dat de code wordt verwerkt als die wordt aangeroepen. Dit zorgt ook voor goede protabiliteit tussen verschillende platformen. Overigens is Cocoa ook redelijk cross-platform te noemen sinds gnustep.
Het voorbeeld dat jij noemt is bij uitstek geschikt om in Cocoa te maken. Je zult verbaasd zijn hoe weinig regels code je nodig hebt om het te maken!
Als je bent aangemeld bij Apple vind je daar een schat aan documentatie. Je moet de Engelse taal wel goed beheersen.
Het lijkt me dus wel duidelijk. Ik zal me gaan ingraven in Objective-C en Cocoa. Iemand nog goede boeken en of andere suggesties/sites? Behalve die van Apple natuurlijk.
Thanks
Jouw opmerkingen over Java zijn volgens mij klinklare onzin. Kan je ook bronnen noemen die dit ondersteunen? Verder is het nooit verstandig om te zeggen dat maar één taal geweldig is en de rest bijzaak of oud zeer is (met name als je Objective-C als die ene geweldige taal aanmerkt). Iedere ervaren programmeur weet namelijk dat de meeste talen qua doeltreffendheid ongeveer gelijk zijn en dat het uiteindelijk voor een groot deel aankomt op smaak.
maar "the" way to go voor mac is toch wel objective-c leren.
Important: Features added to Cocoa in Mac OS X versions later than 10.4 will not be added to the Cocoa-Java programming interface. Therefore, you should develop Cocoa applications using Objective-C to take advantage of existing and upcoming Cocoa features.
Wat boeken betreft:Cocoa Programming for Mac OS X van Aaron Hillegass (second edition, ISBN: 0-321-21314-9 is the way to go. Het begint vrij gemakkelijk, gaat redelijk diep in op zaken en stoomt je zo ver klaar dat je daarna met de Apple documentation alles kunt maken wat je maar kunt verzinnen. En dat verzinnen is misschien nog wel het moeilijkste!
Let op dat je Second Edition pakt. Deze is veel moderner, en bespreekt o.a. bindings die is het eerste boek niet voor kwamen. Logisch want die bestonden toen nog niet!
Ik heb daarvoor ook Cocoa for Dummies doorgeworsteld. Leuk boek met leuke voorbeelden, maar na het lezen van het boek heb je nog zoveel vragen dat je alsnog naar een beter boek op zoek zal gaan.De voorbeelden zijn echter weer wel goed bruikbaar in eigen programma's die je daarna wil maken.
(Bewerkt door BraboMac om 8:26, 5-01-2006)
Als ik meer tijd had ging ik kijken naar objective-c met een java achtergrond moet dat niet al te moeilijk zijn zo lijkt mij.
kies inderdaad wat je leuk vindt. ik ben het eens met het cross platform idee, maar sta dan wel achter swt (eclipse)
nog een groot voordeel hiervan is dat het sneller is dan swing, voordat er flames komen. swt maakt net als awt gebruik van native onderdelen, waar bij swing alles geemuleerd is. dat is altijd trager.
plus veel grote bedrijven geven steeds meer ondersteuning aan swt.
Mrmoon om 19:44, 4-01-2006Mijn vraag is kort maar zorgt waarschijnlijk voor een aardige draad..."Waar begin ik, wanneer ik wil gaan programmeren voor OS X? (En welke tools heb ik dan nodig?)"Wat wil ik programmeren? Tsja, euhm... echt een duidelijk doel heb ik niet. Ik wil er meer van leren en zal waarschijnlijk willen beginnen met een soort van simpele texteditor die werkt met kleur codes, etc.Vraag me niet direct de hemd van het lijf... Ik heb programmeer ervaring, maar dat is voornamelijk windows geörienteerd.Alvast bedankt
mooie adviezen allemaal hierboven, maar niemand die vraagt welke taal je al beheerst. Als je VisualBasic hebt geprogrammeert, kan je beter een taal kiezen die daar dichtbij staat (RealBasic bv). Kijk vanuit je eigen kennis, en borduur daar op voort. Daar heb je het snelst resultaat mee.
(Bewerkt door Raf om 9:40, 5-01-2006)
in mijn ogen als je al een goede OO taal beheerst is het overstappen naar een andere OO of procedurele taal niet echt een probleem.
Er zullen altijd verschillen zijn, maar de overstap van geen naar een OO taal of van procedurele taal naar OO is lastiger. Wellicht wil hij totaal iets anders.
Maar toch de vraag dan Welke programmeertaal beheers je?
persoonlijk zou ik niet inzien waarom je voort wil borduren op iets als VB maar dat is geheel mijn mening
oogappel om 0:03, 5-01-2006Cocoa Programming for Mac OS X
Ik verkoop dit boek net in dit topic.
Cocoa icm Interfacebuilder is eenvoudig te leren. (doe wat oefeningen)Als je cross platform wilt, kun je bv alles in code doen (zoals dvd2onex v2 dat doet, 2 libs 1 cocoa en 1 win32 (met dezelfde functies) maar een source voor de uiteindelijke gui).Hiervoor moet je wel wat meer kennis van de libraries hebben maar dat komt vanzelf.
J.