Vra

Wat sou jy aanbeveel vir OS X ontwikkeling van 'n grafiese program soos dié moontlik in WPF?

My spesifieke agtergrond is in Smalltalk & Java, maar ek tans werk meestal in DHTML / NET (ASP.NET/C #).

Was dit nuttig?

Oplossing

Cocoa. Deur baie beskou as die beste aansoek raamwerk ooit wees. Die taal is Objective-C, Smalltalk-agtige taal wat die skeppers van Java geïnspireer.

Regtig, daar is geen redelike alternatief vir Cacao vir OS X ontwikkeling, tensy jy 'n spesifieke behoeftes soos wil kruis-platform te wees.

Ander wenke

Behalwe Interface Bouwer wat ingesluit is as deel van die Xcode gereedskap, kan jy ook QT, GTK +, AWT & SWING (vir jou Java agtergrond), Tk, Squeak gebruik (vir jou Smalltalk agtergrond), Shoes (baie cool min Ruby GUI Toolkit), FXRuby (meer Ruby), wxWidgets, XULRunner, en ander Ek is seker ek het vergeet. Vir die meeste inheemse-agtige programme egter Interface Bouwer is jou beste bet.

Cocoa is die primêre raamwerk te gebruik op 'n Mac OS X. Dit is wat Apple gebruik, dit is wat die meeste nuwe ontwikkeling gebruik, en dit is waar die nuwe funksies hoofsaaklik bygevoeg.

As jy vandaan kom WPF, ek dink jy kan 'n hele paar van die konsepte te vind in Cocoa bekend. (Ten spyte van die feit dat Cacao is net 'n bietjie ouer.) Dit is gebou heeltemal rondom MVC, is daar eiendom-verandering kennisgewings en bindings, daar is animasie ondersteuning, is daar 'n volharding en objek-grafiek bestuursraamwerk, en so aan.

(Ook, wil jy dalk om "Mac" toe te voeg tot die etikette.)

Met jou Java agtergrond, moenie die sylyn deur die nou afgekeur Cacao-Java brug. Vroeg in OS X geskiedenis, Apple het 'n (moeisaam met die hand in stand gehou) Java-koppelvlak vir die Cocoa biblioteke. As gevolg van die semantiese verskille tussen Java en Objective-C, baie van die mees kragtige kenmerke van kakao, insluitend Sleutel-waarde bindend (waarop baie ander funksies gebou) is baie moeilik, wat lei tot afwyking van Objetive-C en Java vermoëns en die uiteindelike afkeuring van die brug. Alle Cacao ontwikkeling is die beste gedoen met Objective-C of een van die vele (outomaties gegenereer) brûe te dinamiese tale soos Python of Ruby.

Met jou agtergrond in Smalltalk, sou ek verwag dat jy kan optel Objective-C in 'n dag of twee.

Ek is nie seker wat WPF is, maar die meeste ontwikkeling vir die OSX platform gedoen in Objective-C met kakao. Jy kan die afgekeur Carbon APIs gebruik met ander tale soos Java, maar nuwe aansoeke vir OSX regtig moet ontwikkel in Objective-C. Jy kan begin met gids Apple se met Xcode as jou IDE.

Om dit 'n ander manier gestel as die vorige plakkate: as jy nie jou koppelvlak in InterfaceBuilder is ontwerp en manipuleer dit met Objective-C, dan kan jy gaan om te eindig met 'n program wat nie lyk, voel, op te tree, of werk die manier waarop 'n Macintosh aansoek moet, en dit sal steek soos 'n seer duim aan gebruikers. Dit sal 'n onaangename ervaring vir die gebruiker in vergelyking met ander programme wees, en hulle sal waarskynlik wil 'n ander aansoek as gevolg van dit.

hulpmiddels soos QT is aanvaarbaar indien u aansoek reeds gebruik QT en jy wil port dit vinnig, maar as jy 'n nuwe aansoek (of 'n aparte GUI) wil skryf skryf dit dan in Cocoa behulp ObjC of ObjC ++.

Jy kan 'n blik op te hê PyObjc wat 'n brug tussen die Python-programmeertaal en Objective-C, insluitend bindings vir Mac OS X komponente, insluitende kakao.

Met 'n Smalltalk agtergrond, wil ek reguit Cacao en Objective-C beveel. As jy egter leun is die rigting van 'n dinamiese taal, sal RubyCocoa laat Ruby gebruik wat ek dink jy "sal makliker vind om af te haal as Python.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top