Bisakah saya menggunakan Linux / Mono daripada Windows / Visual Studio tanpa masalah? [Tutup]

9

Saya memiliki lebih dari 6 tahun pengalaman dengan .Net (C # / ASP.NET) dan Visual Studio. Namun baru-baru ini saya tergoda untuk beralih ke Linux / Mono. Muncul dengan beberapa pertanyaan:

  1. Bisakah saya menjalankan proyek Visual Studio lama saya dan kode sumber di Mono dengan benar?

  2. Klien saya menggunakan IIS untuk proyek ASP.NET dan MS Windows untuk Winform dan Console. Apakah migrasi saya memengaruhi mereka? Dengan kata lain, apakah proyek Mono saya berjalan di Windows / IIS tanpa perubahan atau masalah?

  3. Apakah Mono dapat diandalkan mengingat perubahan terbaru Mono, Novell, Xamarin dan Attachme?

  4. Bisakah saya terus menggunakan open source favorit saya dan tidak ada proyek open source seperti NHibernate, Castle, Cuyahoga, log4net, Microsoft Enterprise Library dan DNN?

  5. Bisakah saya meng-host proyek web Mono ASP.NET di Apache tanpa masalah?

  6. Dapatkah saya menggunakan keterampilan saya dalam formulir web ASP.NET dan MVC di Mono tepatnya?

Afshar Mohebbi
sumber
2
Mungkin ... Saya berani bertaruh jawabannya tidak, tetapi saya yakin bahwa beberapa pria Mono akan membantahnya. Jika Anda serius mempertimbangkan Anda harus menjalankan beberapa tes dan mencobanya. Itu harus menjadi panduan yang lebih baik untuk Anda daripada pendapat acak dari internen. Karena orang yang memberi tahu Anda tidak ada masalah itu akan mudah tidak akan ada di sana melakukannya untuk Anda ketika Anda mengalami kesulitan.
SoylentGray
Hanya FYI, saya menulis aplikasi ASP.Net yang keren dengan C # menggunakan Mono dan menyebarkannya di Server Ubuntu yang menjalankan Apache tanpa masalah "besar".
AngryBird
2
Jawaban yang sangat komprehensif untuk pertanyaan ini tersedia di sini: Mono sering digunakan untuk mengatakan "Ya, .NET adalah cross-platform". Seberapa valid klaim itu?
Robert Harvey

Jawaban:

5

Bisakah saya menjalankan proyek Visual Studio lama saya dan kode sumber di Mono dengan benar?

Sebagian besar. Ada beberapa keajaiban yang dapat Anda lakukan yang tidak dapat ditangani oleh kompiler mono. Kebanyakan orang tidak melakukannya. MonoDevelop akan membuka solusi VS dan memproyeksikan file secara normal tanpa hambatan.

Klien saya menggunakan IIS untuk proyek ASP.NET dan MS Windows untuk Winform dan Console. Apakah migrasi saya memengaruhi mereka? Dengan kata lain, apakah proyek Mono saya berjalan di Windows / IIS tanpa perubahan atau masalah?

Anda akan ingin menguji semuanya sebelum menggunakan untuk produksi, tetapi biasanya ini bukan kasus. Setiap masalah akan menjadi tepi kasus.

Apakah Mono dapat diandalkan mengingat perubahan terbaru Mono, Novell, Xamarin dan Attachme?

Xamarin telah memperoleh hak dan lisensi untuk segala sesuatu yang terkait dari Attachmate. Ini sendiri bukan masalah. Xamarin mengedepankan sumber daya untuk membuat MonoDevelop produk yang lebih baik. Saya menghabiskan akhir pekan lalu dengan banyak anggota tim mono, dan mereka ingin melanjutkan lini produk; namun, fokus yang lebih kuat adalah pada perangkat seluler. Server side stuff tidak akan diabaikan tetapi saya tidak akan mengharapkan adopsi barang baru tercepat.

Bisakah saya terus menggunakan open source favorit saya dan tidak ada proyek open source seperti NHibernate, Castle, Cuyahoga, log4net, Microsoft Enterprise Library dan DNN?

Saya tidak dapat mengomentari setiap proyek secara individual tetapi banyak proyek akan berjalan dengan mono dengan sedikit atau tanpa modifikasi.

Bisakah saya meng-host proyek web Mono ASP.NET di Apache tanpa masalah?

Itu tergantung pada kemampuan apache Anda tetapi itu mungkin dilakukan.

Dapatkah saya menggunakan keterampilan saya dalam formulir web ASP.NET dan MVC di Mono tepatnya?

Seharusnya tidak ada perbedaan dalam kode yang Anda tulis antara melakukannya di VS dan MonoDevelop.

Travis
sumber
Saya baru saja menemukan sebuah kasus ketika mengkompilasi kode yang sama di Mono dan .NET C # memberikan hasil yang berbeda ... (Perang kode menggunakan Mono C # dan sementara tantangan pengkodean memberikan hasil yang diharapkan dalam Visual Studio, memuatnya dalam perang Kode halaman hasil untuk beberapa kasus uji memberikan hasil yang berbeda. Saya memiliki staticmetode, menggunakan rekursi - Saya berkeliaran jika mono menangani argumen metode (dengan ref / dengan val) dan statika berbeda dari .NET C #? Atau mungkin masalahnya ada di tempat lain: /
Prokurors
1

Yang perlu diketahui tentang ASP.Net dan Mono adalah bahwa Mono baru saja menjatuhkan dukungan untuk ASP.net.

*** Catatan: hmm .... Aku berani bersumpah aku mendengar ini di podcast Jeff & Joel, tetapi Googling tidak memberi saya referensi yang baik.

Scott C Wilson
sumber
1
Jika ya, FAQ belum diperbarui. Membacanya meskipun memberi saya kesan bahwa bahkan jika dukungan ASP.NET tidak langsung jatuh, tergantung pada Mono untuk ASP.NET mungkin bukan ide yang baik. Jika tidak ada yang lain, dukungan adalah sebagian dan beberapa versi di belakang.
Adam Lear
0

Apakah Mono dapat diandalkan mengingat perubahan terbaru Mono, Novell, Xamarin dan Attachme?

Mono memiliki masa kini dan masa depan. Mereka sekarang tidak bergantung pada strategi perusahaan besar. Xamarin memiliki hak IP Mono dan produk terkait.

Miguel de Icaza dan Nat Friedman memiliki pengalaman mengelola perusahaan sumber terbuka yang independen.

Rufo El Magufo
sumber