2012-06-09 3 views
93

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

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

+0

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

+0

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

+77

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

ответ

60

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

http://xamarin.com/monoforandroid

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

http://www.dot42.com/

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

+0

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

+0

@CoolArchTek - вы можете бесплатно загрузить эвакуацию, однако Mono для Android Professional составляет 399 долларов США, а Enterprise - 999 долларов. https://store.xamarin.com/ –

+12

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

8

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

http://xamarin.com/monotouch

+0

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

+0

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

+0

Моно единственный способ? Есть ли варианты с открытым исходным кодом? – CoolArchTek

3

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

20

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

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

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


UPDATE: все источники теперь на https://github.com/dot42

+1

звучит неплохо, но цена еще выше. – Dave81

+6

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

+4

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

71

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

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

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

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

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

+4

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

+0

хороший ответ, но что делать, если приложение для Android имеет C# в качестве backend? –

+0

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

6

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

+1

круто! можете ли вы поделиться образцом? – dyoser

+1

Ссылка на версию, которую вы используете для игры в Unity 3D Game Engine. –