2010-07-26 17 views
33

Jestem przede wszystkim programistą C#, a moim zadaniem było "przeniesienie" funkcji z kilku aplikacji do aplikacji na iPhone'a.Deweloperzy C# do Celu C?

Funkcjonalność jest dość prosta, a język to język, więc pomyślałem: "jasne, czemu nie? To będzie fajne!" ... Dopóki nie spojrzałem na Cel C, który dla mnie jest brzydki, graniczy z nieczytelnym.

Biorąc pod uwagę, że moje tło jest primarly C# i jestem nieco zna C++, gdzie mogę znaleźć dobry przewodnik dostosowane do mojego tle, żeby mnie porusza w Objective C?

+2

W podobnej sytuacji myself - na pewno byłoby dobrze, aby usłyszeć jakieś porady i anegdoty o tym przejściu. –

+0

Podczas zbierania informacji chętnie podzielę się tym, co znajdę w tym wątku. Tam naprawdę musi być gdzieś kamień Rosetta programisty. –

+1

Ostrzegam cię, kiedy przejdziesz do Celu-C, możesz zacząć myśleć o C# jako brzydkim (moja pierwsza reakcja na Cel-C była taka sama jak twoja, ale teraz jest to mój ulubiony język.) – JeremyP

Odpowiedz

7

Jedyna tama, którą polecam do nauki Celu C dla osób przybywających do ObjC z naprawdę wielu środowisk, to Kochan.

2
+0

Najpierw skonsultowałem się najpierw z googami, ale moje umiejętności wyszukiwania nie były potrzebne, ponieważ nic podobnego nie widziałem –

+0

@ help: żadnych problemów, po prostu wyrzuć linki, które uważam za interesujące – Randolpho

4

bym naprawdę zalecamy sprawdzić MonoTouch:

http://monotouch.net/

To pozwala ci rozwijać iPhone'a za pomocą C#. Prawdopodobnie możesz ponownie wykorzystać kilka istniejących kodów i po prostu skoncentrować się na stworzeniu ładnego iPhone'a. Nadal musisz się rozwijać na komputerze Mac, więc będziesz go potrzebować.

EDIT: zaniepokojenie wykorzystaniem MonoTouch która została tutaj podniesiona nie jest już problemem, jak Apple zmieniła swoją politykę

http://www.apple.com/pr/library/2010/09/09statement.html

usunąłem moje ostrzeżenie, że (na lepsze!) MonoTouch może naruszać warunki korzystania z usług Apple. Według mojej wiedzy, żaden deweloper MonoTouch nigdy nie odrzucił swojej aplikacji od Apple, a teraz oficjalnie nie stanowi już problemu.

+0

Dlaczego upadek, Czy mogę uzyskać wyjaśnienie? – Justin

+3

Musisz opracować aplikacje dla iPhone'a w językach C, C++, Objective-C lub Objective-C++ (aplikacje natywne) lub JavaScript (uruchamiane tylko w witrynie WebKit). Jest to wyraźnie określone w sekcji 3.3.1 umowy deweloperskiej. Nie musisz tego lubić, ale tak właśnie jest. Nie są to warunki licencji dla systemu iOS 4.0, zostały wprowadzone przed wydaniem wersji 4.0 i mają zastosowanie do wszystkich produktów przesłanych do sklepu po tym czasie. – jer

+2

+1 - @jer To najwyraźniej nie jest jasne dla zespołu Monotouch - zobacz ich stronę, aby uzyskać więcej informacji. Kilka aplikacji MonoTouch zostało zatwierdzonych od najnowszego wydania, więc nie sądzę, że to przystanek na pokaz. –

1

Jak inni sugerują, MonoTouch może być najlepszym rozwiązaniem dla Ciebie. Sekcja 3.3.1 firmy Apple, mimo że aplikacje MonoTouch nie zostały jeszcze odrzucone z App Store i zawsze możesz dystrybuować aplikacje MonoTouch poprzez dystrybucję Enterprise, jeśli taka jest Twoja sytuacja. Jeśli nie chcesz wyjść ze swojej strefy komfortu, trzymaj się C#/.net. W ten sposób musisz nauczyć się nowej struktury interfejsu użytkownika.

To powiedziawszy, wielu dobrych programistów uważa, że ​​nauka nowego języka jest okazją do poszerzenia swojego myślenia, a nie tylko zabawy. Objective-C ma bardzo interesującą historię i jest (przynajmniej) częścią inspiracji dla wielu "nowoczesnych" języków. Celem podjętym przez Objective-C było ułatwienie integracji komponentów oprogramowania, stąd jego ciekawa mieszanka typowania statycznego i dynamicznego przesyłania komunikatów.Twoje komentarze sugerują, że masz dość surowy pogląd na ten język. Wielu z nas ma taką samą reakcję na każde nowe środowisko, język, itp. Daj mu czas i może się okazać, że szczególne cechy Obiektu C przeważają nad "brzydotą", którą teraz widzisz.

Pod względem uczenia się Celu C, Aaron Hillegass 'book jest prawie biblią. Jest zorientowany na OS X, ale powinieneś być w stanie zabrać z niego odpowiednie bity iOS. Również przewodnik Apple'a Objective-C Programming Language jest bardzo dobry.

+0

Nauczyłem się Celu C z książką Aarona Hillegassa. On też ma książkę na iPhone'a. Jeśli jest tak dobra, jak książka Mac OSX, będzie to dobry punkt wyjścia. – JeremyP

+0

Pomimo powyższej odpowiedzi, naprawdę lubię Objective-C. Mam słabość w sercu na dni NeXTStep i zawsze żałuję, że GNUStep nie zrobił większego plusku. – Justin

0

Kakao i Objective-C: Up and Running

przez Scott Stevenson

http://cocoabook.com/

+0

Muszę kochać O'Rielly książki losowe zdjęcia na okładce, lol. Dzięki, sprawdzę to. –

1

Aby dostać się porusza w Objective C wziąć wprowadzenie Kochan do Objective-C, zapoznać się z podstawowymi pojęciami języka - w szczególności klasy, obiekty i metody - a następnie spróbuj utworzyć zgodne z systemem SnowLeopard narzędzie wiersza poleceń, aby ustawić wartość dźwięku systemu, rozumiejąc projekt Objective-C następującego kodu SoundVolume:

http://www.cocoadev.com/index.pl?SoundVolume (kod przez Ryan)

1

Jako programista C# należy znaleźć Cocoa & Objective-C artykuły Kevin Hoffman dość ciekawe (zwł. na swoim blogu dotnetaddict). Jednym z jego projektów jest (planowana) książka "Cocoa and .NET Programming".

http://kevinhoffman.sys-con.com