Разработка приложения для Android с использованием C #


104

Можно ли написать приложение для Android на C #? Есть API что ли? Это бесплатно для личного и коммерческого развития?

Что мне нужно установить, чтобы в Visual Studio был шаблон проекта Android?


не уверен, как можно использовать C #, но вы можете попробовать HTML5 ..... (но с некоторыми ограничениями)
Диреш Сингх,

C # больше похож на объект C, чем на java. iPhone использует первое, Android использует второе, поэтому было бы разумнее попробовать разработку для iPhone, чем для Android, если вы уже знаете C #.
Тодд Дэвис

82
@ToddDavies Я бы полностью не согласился и сказал, что Java и C # - самые похожие языки. На самом деле я бы сказал, что Objective C вообще не отражает C #.
Даррен

Что ж, каждый по своему мнению, но я уверен, что Java для Objective C, как и я для моего самого ненавистного пятого удаленного кузена: P
Тодд Дэвис

1
+1 @DarrenDavies Привязки Mono для iOS в некоторых местах (например, протоколах) не могут представить свои эквиваленты Objective-C, но они явно 1-1 против Android.
Даньял Айтекин

Ответы:


63

Вы можете использовать Mono for Android:

http://xamarin.com/monoforandroid

Альтернатива dot42:

http://www.dot42.com/

dot42 предоставляет бесплатную лицензию для сообщества, а также профессиональную лицензию за 399 долларов.


Пожалуйста, взгляните на комментарий, который я добавил к ответу Севы Алексеева.
CoolArchTek 09

@CoolArchTek - вы можете скачать оценку бесплатно, однако Mono для Android Professional стоит 399 долларов, а Enterprise - 999 долларов. store.xamarin.com
Даррен

13
Чтобы написать несколько приложений для себя и своих товарищей, 399 долларов - это слишком непомерно. Хотелось бы, чтобы было что-то «посередине». Учитывая, что Android + Eclipse БЕСПЛАТНО, а Visual Studio Express БЕСПЛАТНО, xamarin упускают многое просто из-за их цен
cmroanirgo

1
@cmroanirgo Xamarin теперь поддерживает модель на основе подписки с бесплатным вариантом - вам больше не нужно покупать Mono для Android.
Джеймс

4
http://www.dot42.com/ есть на своем сайте по dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.состоянию на 29.05.2015. У них был исходный код и GitHub .
JabberwockyDecompiler

78

Используя Mono, я бы НЕ рекомендовал его. Среда выполнения Mono связана с вашим приложением, поэтому ваш apk раздувается до более чем 6 МБ. Лучшим программным решением для C # будет dot42 . И Mono, и dot42 являются лицензионными продуктами.

Лично я бы рекомендовал использовать Java со средой разработки IntelliJ IDEA . Я говорю это по трем причинам:

  1. Для Android уже существует так много кода Java; сделайте себе одолжение и не изобретайте велосипед заново.
  2. IDEA достаточно похожа на Visual Studio, чтобы ее было легко изучить; это сделано JetBrains, а интеллект лучше, чем VS.
  3. ИДЕЯ бесплатна.

Я был программистом на C # в течение 12 лет и начал разработку для Android с помощью C #, но в конечном итоге отказался от корабля и пошел по пути Java. Языки настолько похожи, что вы не заметите особой кривой обучения.

PS Если вы хотите использовать LINQ, сериализацию и другие удобные функции, родные для C #, вам просто нужно найти эквивалентную библиотеку java.


4
Спасибо, ваш опыт кажется полезным
nightcoder

хороший ответ, но что делать, если приложение Android имеет C # в качестве бэкэнда?
Krupal Shah

что, если я хочу создать приложение для веб-приложения, созданного с помощью веб-API?
Renakre

Спасибо, ваши средства, если мы будем работать с android с использованием java, тогда я получу больше блогов и материалов от googling. Только заводится, потом слышно все нормально. Спасибо, я разработчик C #, но я начну свое приложение с использованием java.
mohd mazhar khan

21

Вот новый (Примечание: на этапе предварительного просмотра): http://www.dot42.com

По сути, это надстройка Visual Studio, позволяющая компилировать код C # непосредственно в код DEX. Это означает, что нет требований к времени выполнения, таких как Mono.

Раскрытие информации: я работаю в этой компании


ОБНОВЛЕНИЕ: все источники теперь находятся на https://github.com/dot42


6
Я не думаю, что это подходящее место для обсуждения цен, но обязательно сравните правильные лицензии. Я хочу отметить, что dot42 поставляется с бесплатной лицензией сообщества для некоммерческого использования.
Фрэнк Рем

4
Фрэнк, вы абсолютно правы, и я должен признать, что не заметил лицензию сообщества.
Dave81

1
отлично. какие-нибудь комментарии, если вы когда-нибудь подумаете о создании кода c для ios?
citykid

2
Это круто! Есть ли планы добавить дизайнера пользовательского интерфейса? Или я могу использовать для этого другой инструмент? Превосходная работа !
Петр Кула

2
Собственно, на данный момент таких планов нет. Вы можете использовать Android Studio для разработки пользовательского интерфейса. Затем вы можете импортировать эти ресурсы в Visual Studio.
Фрэнк Рем

8

Mono Touch - вот ответ.

http://xamarin.com/monotouch


Это бесплатно для коммерческой разработки? Я хочу разработать приложение для компании (их пользователей).
CoolArchTek 09

У них есть это, так что вы можете использовать его бесплатно. Но есть лицензионный сбор какой-то iirc
FoamyGuy 09

Моно - единственный способ? Доступны ли какие-либо варианты с открытым исходным кодом?
CoolArchTek

5
Mono - это IIRC с открытым исходным кодом. Кроме того, понимаете ли вы необходимость переноса всей среды выполнения C # (CLR) на другую платформу при небольшой поддержке со стороны Microsoft? Это чудо, что даже Mono существует. Google и MSFT - прямые конкуренты в мобильной сфере, C # - это технология, поддерживаемая MSFT. Иди разбери.
Сева Алексеев

6

Я использовал игровой движок Unity 3D для разработки игр для ПК и мобильного телефона. В этой разработке мы используем C #.


1
Было бы неплохо указать, какую версию Unity 3D Game Engine вы используете.
Джесси Чизхолм


3

Действительно, существуют компиляторы C # для Android. Хотя я предпочитаю разрабатывать приложения для Android на Java, я могу порекомендовать MonoForAndroid. Дополнительную информацию можно найти на http://xamarin.com/monoforandroid.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.