Должен ли я изучать Java для разработки мобильных приложений или C # просто делать?

9

Я с нетерпением жду углубления в .NET Framework, но большинство мобильных приложений, похоже, разработано на Java. Скорее всего, я буду ориентироваться на менее дорогие телефоны, такие как Nokia и Motorolla, а не на Android или iPhone. Могу ли я сделать эти вещи в C #?


источник

Ответы:

9

Нет, C # не подойдет. Вам нужно изучать Java, а не J2SE, а J2ME, потому что большинство бюджетных телефонов поддерживают только J2ME. Тем не менее, вы можете захотеть рассмотреть Android снова, потому что он действительно становится популярным даже с бюджетными телефонами. В любом случае, язык для J2ME и Android - это Java.

ТИА
источник
7

Зависит от платформы

Android - JAVA, C # (через MonoDroid)
IPhone - Цель C, C # (через MonoTouch)
Windows Phone - C # (Silverlight)
Meego - C ++ (QT)
Symbian - C ++, JAVA

Я думаю, что Symbian будет отброшен большинством компаний. Смартфоны - это будущее. И для каждого типа смартфонов ОС будет доступен C # / mono (вам придется доплачивать, но оно того стоит) вместе с родным языком платформы. Итак, вы можете перейти на C #.

Истинная независимость от платформы не может быть достигнута, но если вы будете использовать C # везде, вы сможете использовать одни и те же библиотеки ядра и настроить пользовательский интерфейс для платформы.

Но для недорогих телефонов C # не подойдет. Вы должны пойти на JAVA.

Gulshan
источник
1
+1 за упоминание вариантов Mono *. Если спрос со стороны разработчиков достаточно высок, они распространятся и на другие телефонные платформы.
Agent_9191
Согласитесь, разработчики Mono упомянули поддержку WebOS до раскола Novell, так что вы никогда не узнаете!
Wonea
1

Не могу конкретно рассказать о Motorolla или Nokia, но нужно помнить, какую платформу поддерживает этот телефон. Вы бы лучше развивались на Java, так как это более популярная платформа и не должна зависеть только от мобильных устройств Windows. Еще одна вещь, в которой C # настолько бесстыдно близка к Java, что кросс-компилятор делает свое дело для настольных приложений, может быть, это относится и к мобильным приложениям.

Фанат
источник
1
Я хотел бы увидеть этот кросс-компилятор - как он обрабатывает тот факт, что библиотеки, которые идут с языками, очень сильно отличаются?
Беван
1

Если вы хотите разрабатывать для Windows Phone 7, C # идеально подходит (скоро появится VB.NET). Вы также можете использовать все свои знания Silverlight или XNA. Я понятия не имею, будет ли платформа успешной, но почему бы не улучшить свое приложение, используя язык, который вы знаете, а затем перенести его на другие языки, если вы уверены в своем пользовательском опыте, логике, вычислениях и т. Д.? Эмулятор, по-видимому, очень хорош и может быть дополнен акселерометром-эмулятором и gps-эмулятором, чтобы делать все, кроме телефонного звонка. (И действительно, кто использует смартфоны для совершения звонков?)

Кейт Грегори
источник
Обычно я бы согласился, но ОП сказал, что «с нетерпением ожидает углубления в .NET Framework», поэтому я не уверен, насколько он уже знаком с C #. Кроме того, насколько мне нравится язык, рынок для Windows Phone кажется немного тусклым.
Davy8
1

Я начал писать приложения для Android на Java, имея опыт работы на C #. Я обнаружил, что многие фундаментальные концепции языка схожи, поэтому нужно было просто изучить несколько различий, особенно с библиотеками. Если вы можете научиться, кодирование в другом было бы очень просто (основываясь на моем опыте).

Я бы порекомендовал начать с Java. Android находится на пути к тому, чтобы стать самой популярной мобильной ОС, поэтому вы знаете, что она определенно появится некоторое время назад. Кроме того, Java старше, поэтому есть бесчисленное множество библиотек и учебных пособий, доступных для использования и изучения. Как только вы поймете основные концепции Java, изучение C # должно быть легким делом - и вы по-настоящему оцените некоторые изящные функции (такие как атрибуты и LINQ), которые предлагает C #.

Отказ от ответственности: я начал с C # (в первую очередь для веб-разработки ASP.NET MVC), а затем изучил Java для написания приложений для Android. Я не занимался мобильным программированием на C #, поэтому я не могу рассказать вам, на что это похоже.

Колин О'Делл
источник
0

Может быть, подать это под "боковым мышлением", но если у вас есть приличные навыки в "чистых" веб-технологиях - HTML, JavaScript, CSS - и в зависимости от того, что вы пытаетесь достичь, посмотрите что-то вроде PhoneGap (http: // www .phonegap.com / о). Помимо поддержки устройств iOS (iPhone, iPad) и Android, у них также есть некоторая поддержка Symbian. Однако вам, как правило, понадобятся «нативные» инструменты для создания собственных бинарных приложений. Например, если вы хотите сделать iPhone Dev, вам понадобится iPhone SDK, XCode и работать под управлением OSX.

ГИ
источник