Kembangkan aplikasi Android menggunakan C #

104

Apakah mungkin untuk menulis aplikasi android menggunakan C #? Apakah ada API atau sesuatu? Apakah gratis untuk pengembangan pribadi dan komersial?

Apa yang harus saya instal untuk memiliki template proyek Android di Visual Studio saya?

CoolArchTek
sumber
tidak yakin tentang cara C # dapat digunakan tetapi Anda dapat mencoba HTML5 ..... (tetapi memiliki beberapa batasan)
Dheeresh Singh
C # lebih mirip dengan tujuan C daripada java. iPhone menggunakan yang pertama, Android menggunakan yang terakhir, dan karenanya akan lebih masuk akal untuk mencoba pengembangan iPhone daripada pengembangan Android jika Anda sudah tahu C #.
Todd Davies
82
@ToddDavies Saya tidak akan setuju sepenuhnya dan mengatakan Java dan C # adalah bahasa yang paling mirip. Sebenarnya saya akan mengatakan Tujuan C tidak mencerminkan C # sama sekali.
Darren
Yah, masing-masing memiliki pendapatnya sendiri, tetapi saya yakin bahwa Java adalah untuk Tujuan C karena saya adalah sepupu kelima saya yang paling dibenci: P
Todd Davies
1
+1 @DarrenDavies Binding Mono untuk iOS berjuang untuk merepresentasikan kesamaan Objective-C mereka di beberapa tempat (misalnya protokol) tetapi secara langsung 1-1 melawan Android.
Danyal Aytekin

Jawaban:

63

Anda bisa menggunakan Mono for Android:

http://xamarin.com/monoforandroid

Alternatifnya adalah dot42:

http://www.dot42.com/

dot42 menyediakan lisensi komunitas gratis serta lisensi profesional seharga $ 399.

Darren
sumber
Silakan lihat komentar yang saya tambahkan ke balasan Seva Alekseyev.
CoolArchTek
@CoolArchTek - Anda dapat mendownload evauluation secara gratis, namun Mono untuk Android Professional adalah $ 399 dan Enterprise $ 999. store.xamarin.com
Darren
13
Menulis beberapa aplikasi untuk diri sendiri dan teman Anda $ 399 sangatlah mahal. Saya berharap ada sesuatu 'di antara'. Mengingat Android + Eclipse GRATIS dan Visual Studio Express GRATIS, xamarin kehilangan banyak hal, hanya karena harganya
cmroanirgo
1
@cmroanirgo Xamarin sekarang mendukung model berbasis langganan dengan opsi gratis - Anda tidak perlu lagi membeli Mono untuk Android.
James
4
http://www.dot42.com/ memiliki ini di situs mereka pada dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.5/29/2015. Mereka memang memiliki unduhan sumber dan GitHub .
JabberwockyDecompiler
78

Setelah menggunakan Mono, saya TIDAK akan merekomendasikannya. Waktu proses Mono dipaketkan dengan aplikasi Anda, sehingga apk Anda akhirnya membengkak hingga lebih dari 6MB. Solusi pemrograman yang lebih baik untuk C # adalah dot42 . Baik Mono dan dot42 adalah produk berlisensi.

Secara pribadi, saya akan merekomendasikan penggunaan Java dengan lingkungan dev IntelliJ IDEA . Saya mengatakan ini karena 3 alasan:

  1. Sudah ada begitu banyak kode Java untuk Android; bantulah diri Anda sendiri dan jangan menemukan kembali roda.
  2. IDEA cukup mirip dengan Visual Studio sehingga mudah dipelajari; itu dibuat oleh JetBrains dan intelli-sense lebih baik daripada VS.
  3. IDEA gratis.

Saya telah menjadi programmer C # selama 12 tahun dan mulai mengembangkan untuk Android dengan C # tetapi akhirnya melompat ke jalur Java. Bahasanya sangat mirip sehingga Anda benar-benar tidak akan memperhatikan banyak kurva belajar.

PS Jika Anda ingin menggunakan LINQ, serialisasi, dan fitur praktis lainnya yang asli dari C # maka Anda hanya perlu mencari pustaka java yang setara.

darksider474
sumber
4
Terima kasih, pengalaman Anda tampaknya berguna
nightcoder
jawaban yang bagus tapi apa yang harus dilakukan jika aplikasi android memiliki C # sebagai backend?
Krupal Shah
bagaimana jika saya ingin membuat aplikasi untuk aplikasi web yang dibuat dengan API Web?
renakre
Terima kasih, cara Anda, jika kita bekerja dengan android menggunakan java maka saya akan mendapatkan lebih banyak blog dan materi dari googling. Hanya start up yang akan didengar nanti semuanya baik-baik saja. Terima kasih, saya adalah pengembang C # tetapi saya akan memulai aplikasi saya dengan menggunakan java.
mohd mazhar khan
21

Ini yang baru (Catatan: dalam tahap Pratinjau Teknologi): http://www.dot42.com

Ini pada dasarnya adalah add-in Visual Studio yang memungkinkan Anda mengkompilasi kode C # Anda langsung ke kode DEX. Ini berarti tidak ada persyaratan run-time seperti Mono.

Pengungkapan: Saya bekerja untuk perusahaan ini


PEMBARUAN: semua sumber sekarang ada di https://github.com/dot42

Frank Rem
sumber
6
Menurut saya ini bukan tempat yang tepat untuk membahas harga, tetapi pastikan untuk membandingkan lisensi yang benar. Saya ingin mencatat bahwa dot42 hadir dengan Lisensi Komunitas gratis untuk penggunaan non-komersial.
Frank Rem
4
Frank, Anda benar sekali dan saya harus mengakui bahwa saya tidak melihat lisensi komunitas.
Dave81
1
bagus. ada komentar jika Anda pernah mempertimbangkan untuk membuat kode c untuk ios?
citykid
2
Ini luar biasa! Apakah ada rencana untuk menempatkan desainer UI? Atau dapatkah saya menggunakan alat lain untuk melakukan ini? Kerja bagus !
Piotr Kula
2
Sebenarnya, belum ada rencana seperti itu saat ini. Anda bisa menggunakan Android Studio untuk mendesain UI. Anda kemudian dapat mengimpor sumber daya tersebut di Visual Studio.
Frank Rem
8

Mono Touch adalah jawabannya.

http://xamarin.com/monotouch

Seva Alekseyev
sumber
Apakah ini gratis untuk pengembangan komersial? Saya ingin mengembangkan aplikasi untuk perusahaan (penggunanya).
CoolArchTek
Mereka memilikinya sehingga Anda dapat menggunakannya secara gratis. Tetapi ada semacam biaya lisensi iirc
FoamyGuy
Apakah Mono satu-satunya cara? Apakah ada opsi opensource yang tersedia?
CoolArchTek
5
Mono adalah IIRC open source. Juga, apakah Anda menyadari upaya porting seluruh runtime C # (CLR) ke platform yang berbeda, dengan sedikit dukungan dari Microsoft? Ini keajaiban bahkan Mono ada. Google dan MSFT adalah pesaing langsung di ruang seluler, C # adalah teknologi yang didukung MSFT. Sosok pergi.
Seva Alekseyev
6

Saya telah menggunakan mesin game Unity 3D untuk mengembangkan game untuk PC dan ponsel. Kami menggunakan C # dalam pengembangan ini.

Sonu
sumber
1
Tautan ke versi mana dari Unity 3D Game Engine yang Anda gunakan akan bagus.
Jesse Chisholm
3

Memang ada kompiler C # untuk Android yang tersedia. Meskipun saya lebih suka mengembangkan Aplikasi Android di Java, saya dapat merekomendasikan MonoForAndroid. Anda dapat menemukan informasi lebih lanjut di http://xamarin.com/monoforandroid

libjup
sumber