Czy powinienem nauczyć się języka Java w zakresie tworzenia aplikacji mobilnych, czy powinien to zrobić C #?

9

Nie mogę się doczekać, aby zagłębić się w platformę .NET, ale większość aplikacji mobilnych wydaje się być napisana w Javie. Najprawdopodobniej będę celował w mniej droższe telefony, takie jak Nokia i Motorolla, a nie system operacyjny Android lub iPhone. Czy mogę robić te rzeczy w C #?


źródło

Odpowiedzi:

9

Nie, C # nie da rady. Musisz nauczyć się Java, a nie J2SE, ale J2ME, ponieważ większość niższych telefonów komórkowych obsługuje tylko J2ME. Możesz jednak chcieć ponownie rozważyć system Android, ponieważ staje się on naprawdę popularny nawet w przypadku telefonów z niższej półki. W każdym razie językiem J2ME i Androida jest zarówno Java.

tia
źródło
7

Zależy od platformy

Android - JAVA, C # (przez MonoDroid)
iPhone - Cel C, C # (przez MonoTouch)
Windows Phone - C # (Silverlight)
Meego - C ++ (QT)
Symbian - C ++, JAVA

Myślę, że większość firm rezygnuje z Symbian. Smartfony to przyszłość. I dla każdego rodzaju smartfona OS, C # / mono będzie dostępny (trzeba zapłacić dodatkowo, ale użyteczność jest tego warta) wraz z rodzimym językiem platformy. Możesz więc wybrać C #.

Prawdziwa niezależność od platformy może nie zostać osiągnięta, ale jeśli używasz C # wszędzie, będziesz mógł używać tych samych bibliotek podstawowych i dostosować interfejs użytkownika dla platformy.

Ale w przypadku tanich telefonów C # nie zadziała. Musisz iść na JAVA.

Gulszan
źródło
1
+1 za wzmiankę o opcjach Mono *. Jeśli popyt jest wystarczająco wysoki ze strony deweloperów, zostaną oni przeniesieni także na inne platformy telefoniczne.
Agent_9191 18.10.10
Uzgodniono, że programiści Mono wspomnieli o wsparciu WebOS przed podziałem Novell, więc nigdy nie wiadomo!
wonea
1

Nie mogę powiedzieć konkretnie o Motorolli lub Nokii, ale musisz pamiętać, jaką platformę obsługuje ten telefon. Lepiej byłoby rozwijać się w Javie, ponieważ jest to bardziej popularna platforma i nie musi zależeć tylko od telefonów z systemem Windows. Jeszcze jedna rzecz C # jest tak bezwstydnie zbliżona do Javy, że kompilator krzyżowy działa w przypadku aplikacji komputerowych. Może to dotyczyć również aplikacji mobilnych.

Maniak
źródło
1
Chciałbym zobaczyć ten kompilator krzyżowy - jak radzi sobie z tym, że biblioteki, które są wyposażone w języki, są bardzo różne?
Bevan
1

Jeśli chcesz opracować dla Windows Phone 7, C # jest idealny (VB.NET już wkrótce.) Możesz wykorzystać dowolną wiedzę na temat Silverlight lub XNA. Nie mam pojęcia, czy platforma odniesie sukces, ale dlaczego nie dopracować swojej aplikacji za pomocą znanego języka, a następnie przenieść ją na inne języki, gdy masz pewność co do wygody użytkownika, logiki, obliczeń itp.? Emulator jest najwyraźniej bardzo dobry i można go uzupełnić emulatorem akcelerometru i emulatorem gps, aby wykonywać wszystko oprócz wykonywania połączeń telefonicznych. (A tak naprawdę, kto używa smartfonów do wykonywania połączeń?)

Kate Gregory
źródło
Normalnie zgodziłbym się, ale OP powiedział, że „nie może się doczekać, aby zagłębić się w platformę .NET”, więc nie jestem pewien, jak dobrze zna już C #. Również bardzo podoba mi się język, ale rynek Windows Phone wydaje się trochę słaby.
Davy8
1

Zacząłem pisać aplikacje na Androida w Javie, mając wcześniejsze doświadczenie w C #. Przekonałem się, że wiele podstawowych pojęć języka jest podobnych, więc po prostu chodziło o poznanie kilku różnic, zwłaszcza w bibliotekach. Jeśli potrafisz się uczyć, kodowanie w drugim byłoby bardzo proste (na podstawie mojego doświadczenia).

Poleciłbym zacząć od Java. Android jest na dobrej drodze, aby stać się najpopularniejszym mobilnym systemem operacyjnym, więc wiesz, że na pewno będzie dostępny przez jakiś czas. Ponadto Java jest starsza, więc dostępnych jest wiele bibliotek i samouczków, z których można korzystać i uczyć się od nich. Gdy zrozumiesz podstawowe pojęcia związane z Javą, nauka języka C # powinna być dziecinnie prosta - i naprawdę docenisz niektóre fajne funkcje (takie jak atrybuty i LINQ), które ma do zaoferowania język C #.

Oświadczenie: Zacząłem od C # (głównie do programowania stron ASP.NET MVC), a potem nauczyłem się Java do pisania aplikacji na Androida. Nie zrobiłem żadnego programowania mobilnego z C #, więc nie mogę ci powiedzieć, jak to jest.

Colin O'Dell
źródło
0

Może zapisuj to w „myśleniu lateralnym”, ale jeśli masz przyzwoite umiejętności w „czystych” technologiach internetowych - HTML, JavaScript, CSS - i w zależności od tego, co próbujesz osiągnąć, sprawdź coś takiego jak PhoneGap (http: // www .phonegap.com / about). Oprócz obsługi urządzeń z systemem iOS (iPhone, iPad) i Androida, mają także wsparcie dla Symbian. Będziesz jednak na ogół potrzebować narzędzi „natywnych” do tworzenia własnych aplikacji binarnych. Na przykład, jeśli chcesz zrobić programistę dla iPhone'a, potrzebujesz iPhone'a SDK, XCode i działającego OSX.

HY
źródło