Czy dla kogoś, kto ma doświadczenie w .Net i chce tworzyć dla iPhone'a / iPoda / iPada, warto nauczyć się Celu C? Czy MonoTouch jest dobrą alternatywą? Jakie są niektóre kompromisy podczas korzystania z MonoTouch w porównaniu do kodowania w Objective-C?
c#
.net
iphone
objective-c
ysolik
źródło
źródło
Odpowiedzi:
MonoTouch to fantastyczna alternatywa. Używam go od prawie roku i nigdy nie wyobrażam sobie powrotu do celu-c. Najważniejsze cechy: LINQ, LINQ to XML, LINQ, C #, LINQ, Garbage collector, LINQ, MonoTouch.Dialog i wiele innych rzeczy.
Poważnie, chociaż ... obecnie większość aplikacji zawsze pobiera dane z Internetu i trzeba je konwertować na obiekty, przechowywać je na listach, sortować i filtrować oraz przesyłać do baz danych. Te rzeczy są tak proste w C # i LINQ, że nie wyobrażam sobie ludzi, którzy robią to w innych językach.
Koszt 400 USD nie jest niski, ale prawdopodobnie możesz odzyskać te pieniądze w ciągu około miesiąca bez reklam. A zaoszczędzony czas MT z łatwością to zrównoważy. Pamiętaj również, że nie musisz płacić, dopóki aplikacja nie będzie gotowa do testowania na urządzeniu, więc jest bezpłatna do nauki.
Powiedziawszy to, tak, nadal całkowicie warto nauczyć się Celu C. Dzięki temu będziesz lepszym programistą platformy, zrozumiesz, dlaczego niektóre rzeczy są takie, jakie są i tak dalej. Będziesz także mógł czytać przykłady Obj-C w sieci i tłumaczyć je na C #.
Na koniec, oto moja sugestia: jeśli zastanawiasz się nad rozwojem iOS, przejdź do MonoTouch. Spędź kilka tygodni, używając go, a następnie podejmij decyzję o przejściu do Obj-C. Najtrudniejszą częścią przejścia na rozwój iOS nie jest język Obj-C, wszystkie nowe frameworki, których musisz się nauczyć. Możliwość nauczenia się ich w C # to OGROMNA oferta, od samego początku będziesz o wiele bardziej produktywny. Zaraz po tym, jak wiesz, że te rzeczy sprawdzają się w Obj-C: wszystko będzie już znane, więc wszystko będzie łatwe do zrozumienia.
źródło
Jestem doświadczonym programistą C, C ++, Delphi i .NET. Niedawno musiałem zająć się projektowaniem aplikacji na iOS z zapleczem .NET. Początkowo byłem bardzo podekscytowany MonoTouch i wspiąłem się tylko po to, by przekonać się, że krzywa uczenia się nie była tak naprawdę językiem, ale raczej wzorami projektowymi.
Zauważyłem również, że wsparcie społeczności dla MonoTouch było znacznie mniejsze niż dla Xcode i Objective-C.
Moja rada, nie spiesz się i naucz się Celu C. Przeczytaj wskazówki dla programistów Apple i dowiedz się, jak to zrobić poprawnie.
źródło
Jeśli chcesz szybko wyciągnąć coś z drzwi, uważam, że monotouch byłby dobrym rozwiązaniem.
Złe: Pamiętaj, że MonoTouch kosztuje 399 USD za jednego programistę. Oznacza to, że jeśli Twoja aplikacja kosztuje 0,99 USD, to w zasadzie musisz sprzedać ponad 400 aplikacji, aby nawet zarobić pieniądze. To nie bierze pod uwagę, że nie otrzymasz pełnego 0,99 USD za każdy zakup aplikacji. Inną rzeczą do przemyślenia jest to, że jeśli chcesz, aby inni programiści dołączyli do twojego projektu, zdecydowana większość deweloperów iPhone'ów nadal korzysta z Objective-C, więc prawdopodobnie trudniej będzie znaleźć partnerów.
Dobra: czas rozwoju będzie znacznie szybszy. Wczesne wprowadzenie na rynek jest zazwyczaj wielką zaletą.
Neutralny: nadal musisz nauczyć się bibliotek iPhone'a, cyklu życia aplikacji i wszystkich innych drobnych niuansów iPhone'a. Więc nawet jeśli nie musisz uczyć się Celu C, nadal musisz nauczyć się frameworka. Tak czy inaczej, twoja aplikacja może być równie niesamowita, ponieważ pod koniec dnia jest to wciąż system iOS.
źródło
Zaczynam opracowywać aplikację za pomocą MonoTouch i uważam, że to dobre doświadczenie. MonoTouch ma tendencję do bycia produktywnym, a nie do nauki nowych technologii. Ogólne wrażenie jest takie, że Novell wykonał świetną robotę, udostępniając funkcjonalność iOS programistom .NET, a teraz dzięki ostatnim zwolnieniom Apple z licencjonowania (pozwalają teraz na aplikacje na iPhone'a / iPada opracowane przez narzędzia innych firm) MonoTouch zyska na popularności . Jeśli spojrzysz na tag #monotouch twitter, zobaczysz nawet niektórych programistów / devshopów PORTUJĄCYCH swoje aplikacje Obj-C do .Net, ponieważ w dłuższej perspektywie łatwiej / szybciej będzie utrzymywać / ewoluować. Aha, i nadal obowiązują wszystkie wytyczne Apple, nawet jeśli pracujesz w .NET - w rzeczywistości uważam je za bardzo pomocne.
Z MonoDroid w drodze, będziesz prawdopodobnie mógł ponownie korzystać z podstawowych bibliotek własnej aplikacji w aplikacjach na iPhone'a i Androida - jakie to fajne?
Oto całkiem optymistyczny wywiad z Wallace'm Mclure'em, który uchwycił trochę tego, o czym mówię:
http://adtmag.com/articles/2010/09/29/monotouch-qa-with-wallace-mcclure.aspx
Powiedziałbym: idź po to!
źródło
Jest artykuł na temat doświadczenia jednego deweloperów .NET w przenoszeniu zestawu umiejętności na iOS.
źródło