Opracuj aplikację na Androida w C #

104

Czy można napisać aplikację na Androida przy użyciu C #? Czy jest API czy coś? Czy jest bezpłatny do rozwoju osobistego i komercyjnego?

Co muszę zainstalować, aby mieć szablon projektu systemu Android w moim programie Visual Studio?

CoolArchTek
źródło
nie jestem pewien, w jaki sposób można użyć C #, ale możesz wypróbować HTML5 ..... (ale masz pewne ograniczenia)
Dheeresh Singh
C # jest bardziej podobny do celu C niż Java. iPhone używa tego pierwszego, Android używa drugiego, więc bardziej sensowne byłoby wypróbowanie programowania na iPhone'a niż programowanie na Androida, jeśli znasz już C #.
Todd Davies
82
@ToddDavies Całkowicie się nie zgadzam i powiedziałbym, że Java i C # są najbardziej podobnymi językami. Rzeczywiście powiedziałbym, że cel C w ogóle nie odzwierciedla języka C #.
Darren
Cóż, każdy ma własne zdanie, ale jestem pewien, że Java jest celem C, tak jak ja do mojego najbardziej znienawidzonego piątego kuzyna usuniętego: P
Todd Davies
1
+1 @DarrenDavies Wiązania Mono dla iOS mają problemy z przedstawieniem swoich odpowiedników Objective-C w niektórych miejscach (np. Protokoły), ale są one po prostu 1-1 przeciwko Androidowi.
Danyal Aytekin

Odpowiedzi:

63

Możesz użyć Mono for Android:

http://xamarin.com/monoforandroid

Alternatywą jest dot42:

http://www.dot42.com/

dot42 zapewnia bezpłatną licencję wspólnotową oraz licencję zawodową za 399 USD.

Darren
źródło
Proszę spojrzeć na komentarz, który dodałem do odpowiedzi Sewy Aleksiejewa.
CoolArchTek
@CoolArchTek - możesz pobrać evauluation za darmo, jednak Mono dla Androida Professional kosztuje 399 USD, a Enterprise 999 USD. store.xamarin.com
Darren
13
Napisanie kilku aplikacji dla siebie i swoich znajomych za 399 USD jest niezwykle wygórowane. Chciałbym, żeby było coś „pomiędzy”. Biorąc pod uwagę, że Android + Eclipse jest BEZPŁATNY, a Visual Studio Express jest BEZPŁATNY, xamarin wiele traci, po prostu ze względu na ich ceny
cmroanirgo
1
@cmroanirgo Xamarin obsługuje teraz model oparty na subskrypcji z bezpłatną opcją - nie musisz już kupować Mono na Androida.
James
4
http://www.dot42.com/ ma to na swojej stronie dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.od 29.05.2015. Mieli pobieranie źródła i GitHub .
JabberwockyDecompiler
78

Korzystając z Mono, NIE polecam tego. Środowisko uruchomieniowe Mono jest dołączone do Twojej aplikacji, więc Twój plik apk jest rozdęty i przekracza 6 MB. Lepszym rozwiązaniem programistycznym dla C # byłoby dot42 . Zarówno Mono, jak i dot42 są produktami licencjonowanymi.

Osobiście polecałbym używanie Javy w środowisku deweloperskim IntelliJ IDEA . Mówię to z 3 powodów:

  1. Jest już tak dużo kodu Java dla Androida; zrób sobie przysługę i nie wymyślaj na nowo koła.
  2. IDEA jest na tyle podobny do Visual Studio, że łatwo się go nauczyć; jest produkowany przez JetBrains, a intelli-sense jest lepszy niż VS.
  3. IDEA jest darmowa.

Jestem programistą C # od 12 lat i zacząłem tworzyć dla Androida w C #, ale skończyło się na tym, że skoczyłem na statek i poszedłem ścieżką Java. Języki są tak podobne, że naprawdę nie zauważysz krzywej uczenia się.

PS Jeśli chcesz korzystać z LINQ, serializacji i innych przydatnych funkcji, które są natywne dla C #, wystarczy poszukać równoważnej biblioteki java.

Kaczorowska474
źródło
4
Dzięki, twoje doświadczenie wydaje się przydatne
nightcoder
dobra odpowiedź, ale co zrobić, jeśli aplikacja na Androida ma C # jako zaplecze?
Krupal Shah
co zrobić, jeśli chcę utworzyć aplikację dla aplikacji internetowej zbudowanej przy użyciu interfejsu API sieci Web?
renakre
Dzięki, twoje środki, jeśli będziemy współpracować z Androidem przy użyciu javy, otrzymam więcej blogów i materiałów z googlowania. Dopiero uruchomienie zostanie usłyszane później wszystko w porządku. Dziękuję, jestem programistą C #, ale zacznę moją aplikację za pomocą Java.
mohd mazhar khan
21

Oto nowy (Uwaga: na etapie Tech Preview): http://www.dot42.com

Jest to w zasadzie dodatek do programu Visual Studio, który umożliwia kompilowanie kodu C # bezpośrednio do kodu DEX. Oznacza to, że nie ma wymagań dotyczących czasu wykonywania, takich jak Mono.

Ujawnienie: pracuję dla tej firmy


AKTUALIZACJA: wszystkie źródła są teraz na https://github.com/dot42

Frank Rem
źródło
6
Wydaje mi się, że nie jest to właściwe miejsce do omawiania cen, ale upewnij się, że porównujesz właściwe licencje. Chcę zauważyć, że dot42 jest dostarczany z bezpłatną licencją wspólnotową do użytku niekomercyjnego.
Frank Rem,
4
Frank, masz absolutną rację i muszę przyznać, że nie zauważyłem licencji wspólnotowej.
Dave81
1
miły. jakieś uwagi, jeśli kiedykolwiek zastanowisz się nad stworzeniem kodu C dla iOS?
citykid
2
To jest niesamowite! Czy są jakieś plany wprowadzenia projektanta interfejsu użytkownika? Czy mogę użyć do tego innego narzędzia? Wspaniała robota !
Piotr Kula
2
Właściwie w tej chwili nie ma takich planów. Możesz użyć Android Studio do projektowania interfejsu użytkownika. Następnie możesz zaimportować te zasoby w programie Visual Studio.
Frank Rem
8

Odpowiedzią jest Mono Touch.

http://xamarin.com/monotouch

Seva Alekseyev
źródło
Czy jest darmowy do komercyjnego rozwoju? Chcę stworzyć aplikację dla firmy (ich użytkowników).
CoolArchTek
Mają to, dzięki czemu możesz z nich korzystać bezpłatnie. Ale jest jakaś opłata licencyjna iirc
FoamyGuy
Czy Mono to jedyna droga? Czy są dostępne jakieś opcje OpenSource?
CoolArchTek
5
Mono jest open source IIRC. Czy zdajesz sobie sprawę z wysiłku związanego z przeniesieniem całego środowiska wykonawczego C # (CLR) na inną platformę, przy niewielkim wsparciu firmy Microsoft? To cud, że nawet Mono istnieje. Google i MSFT są bezpośrednimi konkurentami w przestrzeni mobilnej, C # jest technologią wspieraną przez MSFT. Domyśl.
Seva Alekseyev
6

Użyłem silnika gry Unity 3D do tworzenia gier na PC i telefon komórkowy. Używamy C # w tym rozwoju.

Sonu
źródło
1
Przydałby się link do używanej wersji silnika gier Unity 3D.
Jesse Chisholm
3

Rzeczywiście, są dostępne kompilatory C # dla Androida. Chociaż wolę tworzyć aplikacje na Androida w Javie, mogę polecić MonoForAndroid. Więcej informacji znajdziesz na http://xamarin.com/monoforandroid

libjup
źródło