Co byś polecił dla rozwoju OS X aplikacji graficznej, takiej jak możliwa w WPF?Bogate frameworki GUI OS X?
Moje specyficzne tło jest w Smalltalk & Java, ale obecnie pracuję głównie w DHTML/.NET (ASP.NET/C#).
Co byś polecił dla rozwoju OS X aplikacji graficznej, takiej jak możliwa w WPF?Bogate frameworki GUI OS X?
Moje specyficzne tło jest w Smalltalk & Java, ale obecnie pracuję głównie w DHTML/.NET (ASP.NET/C#).
Kakao. Uważany przez wielu za najlepsze ramy aplikacji w historii. Językiem jest Objective-C, język podobny do SmallTalk, który zainspirował twórców Javy.
Naprawdę, nie ma rozsądnej alternatywy dla Cocoa dla rozwoju OS X, chyba że masz konkretne potrzeby, takie jak chęć bycia wieloplatformowym.
Nie jestem pewien, co to jest WPF, ale większość rozwoju platformy OSX odbywa się w Objective-C z kakao. Możesz użyć przestarzałych API Carbon w innych językach, takich jak Java, ale nowe aplikacje dla OSX naprawdę powinny być rozwijane w Objective-C. Możesz zacząć od Apple's guide z XCode jako IDE.
Kakao jest podstawową strukturą do wykorzystania w systemie Mac OS X. To, co używa Apple, jest tym, czego używa większość nowych projektów, i to tam właśnie dodawane są nowe funkcje.
Jeśli pochodzisz z WPF, myślę, że możesz znaleźć kilka z pojęć znanych z Cocoa. (Pomimo faktu, że Cocoa jest tylko trochę starsze.) Jest zbudowany całkowicie wokół MVC, istnieją powiadomienia o zmianach właściwości i powiązania, jest wsparcie dla animacji, istnieje struktura zarządzania trwałością i obiekt-wykres, i tak dalej.
(Również może chcesz dodać "Mac" z tagów.)
Oprócz konstruktora Interface, który jest dołączony jako część narzędzi Xcode, można również użyć QT, GTK +, AWT & Swing (dla twojego tła Java), Tk, Squeak (dla twojego tła Smalltalk), Shoes (bardzo fajny mały zestaw narzędzi GUI Ruby), FXRuby (więcej Ruby), wxWidgets, XULRunner i innych Jestem pewien, że zapomniałem. Jednak w przypadku najbardziej natywnych aplikacji najlepszym rozwiązaniem jest Interface Builder.
Z twoim tłem Java, nie zostań sidetracked przez teraz przestarzały most Cocoa-Java. Na początku historii OS X, Apple dostarczyło (pracowicie utrzymywany ręcznie) interfejs Java dla bibliotek Cocoa. Ze względu na różnice semantyczne między Javą i Objective-C, wiele z najpotężniejszych funkcji Cocoa, w tym tworzenie powiązań Key-Value (na których budowane jest wiele innych funkcji) jest bardzo trudne, co prowadzi do rozbieżności w zakresie Objetive-C i Java oraz ewentualne zaniechanie mostu. Cały rozwój kakao najlepiej wykonywać przy użyciu Objective-C lub jednego z wielu (automatycznie generowanych) mostów do dynamicznych języków, takich jak Python lub Ruby.
Z twoim tłem w smalltalk, oczekiwałbym, że mógłbyś wziąć Cel-C w dzień albo dwa.
Mówiąc inaczej niż poprzednie plakaty: jeśli nie projektujesz swojego interfejsu w InterfaceBuilder i nie manipulujesz nim za pomocą Objective-C, to otrzymasz aplikację, która nie wygląda, nie działa, nie działa, lub pracować tak, jak powinna wyglądać aplikacja na komputerze Macintosh, i będzie wyglądać jak brzydki kciuk dla użytkowników. Będzie to nieprzyjemne doświadczenie dla użytkownika w porównaniu z innymi aplikacjami i prawdopodobnie będą one wymagały innej aplikacji z tego powodu.
Zestawy narzędzi, takie jak QT, są dopuszczalne, jeśli twoja aplikacja używa już QT i chcesz ją szybko przenieść, ale jeśli piszesz nową aplikację (lub oddzielny GUI), napisz ją w Cocoa używając ObjC lub ObjC++.
Możesz rzucić okiem na PyObjc, który jest pomostem między językiem programowania Python i Objective-C, w tym powiązaniami dla komponentów Mac OS X, w tym Cocoa.
Na tle Smalltalk polecam proste kakao i Objective-C. Jednakże, jeśli jesteś skłonny do dynamicznego języka, RubyCocoa pozwoli ci użyć Ruby, która moim zdaniem będzie łatwiejsza do pobrania niż Python.