Bagaimana cara mengembangkan aplikasi .NET di Ubuntu?

38

di kampus kami menggunakan Microsoft .NET untuk mengembangkan aplikasi. Baru-baru ini saya beralih ke Ubuntu dan ingin tahu alat serupa untuk membuat aplikasi di / untuk ubuntu.

Owais Lone
sumber
4
Saya ingin mendorong Anda untuk mempertimbangkan mempelajari bahasa lain seperti Python atau C / C ++. Sejumlah besar (bahkan mungkin sebagian besar) aplikasi dalam repositori ditulis dalam bahasa-bahasa tersebut.
Nathan Osman
2
Meskipun akan sangat mudah untuk mengambil bahasa lain itu tentu saja tidak perlu atau sangat diinginkan (selain paparan gaya pemrograman lain).
RAOF
Jika Anda ingin menggunakan Linux sehari-hari tetapi ingin mengembangkan C # tanpa masalah kompatibilitas Mono, pertimbangkan untuk memiliki mesin virtual Windows di VirtualBox.
Mark K Cowan

Jawaban:

36

Anda juga dapat memprogram di .NET di ubuntu. Yah, semacam itu. Ada implementasi open source dari platform .NET yang tersedia yang disebut MONO. Aplikasi MONO dapat berjalan di Ubuntu / Linux, Windows dan Mac OS. Cari MonoDevelop di Pusat Perangkat Lunak Ubuntu. Pelajari lebih lanjut tentang Mono di Ubuntu .

Pilihan lain adalah Cepat. Menurut pendapat saya Quickly lebih baik untuk pengembangan aplikasi sentris Ubuntu. Anda dapat mengkodekan aplikasi Anda dan melepaskannya ke PPA (launchpad-repository) dalam hitungan menit. Cepat juga tersedia dari Pusat Perangkat Lunak Ubuntu. Mulai menulis aplikasi dengan Cepat .

Owais Lone
sumber
1
+1 untuk menjawab pertanyaan. (Secara pribadi saya benci mono, tapi oh well.)
Nathan Osman
3
Tautan mono-project.com Anda menunjuk ke URL Cepat
McDowell
1
Anda dapat menggunakan bahasa CLI (.NET) dan pustaka standar - versi mono di Ubuntu baru-baru ini mendukung C # 3.0 dan (sebagian besar) .NET 3.5. Anda ingin mempelajari pustaka GTK # UI. Aplikasi System.Winforms & WPF tidak akan terlihat asli, dan WPF juga tidak sepenuhnya diimplementasikan.
RAOF
1
Anda ingin mengambil IDE MonoDevelop. Selain dari pengembangan GUI (* nix menggunakan GTK # untuk drag-drop vs Winforms / WPF di windows) pengembangan di Ubuntu tidak jauh berbeda dari pengembangan di windows.
Evan Plaice
@Owais Lone - Tautan yang disediakan dalam jawaban tidak berfungsi, silakan coba untuk memperbaruinya atau menambahkan pengganti
Chinmaya B
12

Dengan cepat dapat membantu Anda membuat aplikasi keren menggunakan Python (sangat mudah dipelajari dan sangat populer) dengan cepat!

Umang
sumber
2
+1 untuk menyarankan Python / Cepat. Saya seorang programmer Python profesional, dan saya menggunakan Ubuntu di komputer saya. Ubuntu (dan Linux pada umumnya) sangat bagus untuk melakukan pengembangan Python.
codeape
6

Bahasa Vala adalah bahasa pemrograman yang sangat mirip dengan C #. Masih sangat muda, tetapi sudah memiliki banyak ikatan ke perpustakaan yang ada (misalnya, GTK). Itu mengkompilasi ke binari asli, sehingga pengguna Anda tidak memerlukan runtime tambahan, seperti yang mereka lakukan untuk .NET.

Lihat pengantar Vala untuk programmer C # .

thbusch
sumber
Jika Anda menargetkan ubuntu maka mono sudah diinstal sebelumnya sehingga tidak memerlukan runtime tambahan.
trampster
1
Sepertinya tautan ke Vala untuk C # tidak berfungsi. Coba yang ini sebagai gantinya, live.gnome.org/Vala/ValaForCSharpProgrammers . Ada juga satu untuk programmer Java, live.gnome.org/Vala/ValaForJavaProgrammers .
Mark B
terima kasih Mark, sepertinya mereka telah merestrukturisasi wiki mereka, saya mengoreksi tautan dalam Jawaban.
thbusch
5

Saya tidak melihat alasan untuk semua saran ini agar Anda mengganti platform / bahasa aplikasi. Gunakan apa yang Anda terbiasa dan Anda akan lebih produktif daripada harus menghabiskan waktu belajar bahasa lain.

Monodevelop akan memberikan Anda pengalaman pengembangan Mono yang lebih baik - tanpa Visual Studio, tetapi ini merupakan IDE terintegrasi terbaik untuk mono yang akan Anda dapatkan di Ubuntu. Desain visual bentuk GTK dan kontrolnya adalah kemenangan besar (pikirkan Winforms tetapi gaya Linux).

Rob Cowell
sumber
2

Ada berbagai macam alat yang tersedia di Linux yang memungkinkan Anda membuat aplikasi desktop yang kaya. Bowline adalah kerangka kerja mvc yang memungkinkan Anda membuat aplikasi desktop di ruby. Shoes adalah kerangka kerja lain yang memungkinkan Anda membuat aplikasi desktop di ruby, dan sejauh ini kerangka aplikasi desktop termudah.

Khaja Minhajuddin
sumber
2

Mulai belajar Qt . Ini adalah kerangka kerja berdasarkan C ++. Ini lintas platform dan juga berfungsi dengan baik di windows. Bahkan memiliki tambahan untuk Visual Studio. Ini biasanya digunakan untuk platform KDE. Untuk GNOME, Anda dapat mempelajari GTK # .

Dari Wikipedia ,

Sebagai pengganti Qt toolkit, GTK + dipilih sebagai basis desktop GNOME.

pengguna
sumber
1
Qt berfungsi di GNOME
dv3500ea
@ dv3500ea: Anda tidak mengerti. QT digunakan untuk mengembangkan aplikasi KDE, itu tidak berarti bahwa aplikasi yang dibangun oleh QT tidak akan berjalan di GNOME. Cara yang sama aplikasi GTK akan berjalan di KDE. Tetapi Anda tidak dapat menggunakan GTK untuk membangun aplikasi KDE
pengguna
1
Ini bukan 'hanya untuk platform KDE'.
dv3500ea
1
QT tidak digunakan untuk membangun aplikasi KDE. QT digunakan untuk membangun GUI. KDE menggunakan QT untuk membangun aplikasinya. QT juga dapat digunakan untuk membangun aplikasi GTK.
Owais Lone
Saya pikir saya benar-benar tersesat di sini. Ditandai sebagai komunitas wiki. Terima kasih atas dukungan dan kesabaran Anda.
pengguna
2

Untuk mengembangkan aplikasi khusus untuk Ubuntu, kunjungi situs web pengembang Ubuntu . Antara lain Anda bisa:

Mereka memiliki kerangka yang disebut Cepat .

Ada referensi bagus di jawaban lain untuk Qt dan GTK. Sumber yang menarik untuk panduan adalah situs web pengembang Gnome .

Kerangka / IDE yang akan digunakan tergantung pada bahasa yang Anda gunakan. Anda dapat menggunakan MS Visual Studio Code di Ubuntu .

Ramon Suarez
sumber
1
Karunia yang saya mulai khususnya tentang dotnet. Jawabannya harus sangat mudah. Anda bahkan dapat menemukan karya terbaru yang relevan dari situs web microsoft
Anwar
@Anwar saya bingung dengan deskripsi. Tidak jelas bagi saya jika idenya adalah untuk melakukan. Net atau berkembang seperti dengan. Net. Saya menjawab interpretasi kedua
Ramon Suarez
Silakan tambahkan rincian lebih lanjut ke bagian jawaban itu. Harus mencakup proses pemasangan dasar
Anwar
@Anwar Maaf, saya tidak mengerti komentar Anda.
Ramon Suarez
2

Harap selalu referensi silang CoreCLR (.NET Core runtime) dengan Mono. Selanjutnya, Silakan lihat pertanyaan ini yang mengumpulkan orang-orang terkait dan pendapat resmi untuk CoreCLR dan hubungan proyek Mono setelah Microsoft open-source the .NET

Saya pikir salah satu hal baik dari Giants dari Industri TI adalah Dokumentasi Resmi.

Perintah berikut ini adalah salinan dari Memulai dengan .NET Hello World Console Application di Ubuntu , kecuali pada narasi dan pendapat terakhir. Rujuk tautan di atas, jika ada yang gagal.

  1. Prasyarat: Memulai dengan .NET Hello World Console Application di Ubuntu . Instruksi di sini mengasumsikan Anda menjalankan Ubuntu 16.04 LTS.

    Untuk menginstal .NET Core di Ubuntu atau Linux Mint, Anda harus terlebih dahulu menyiapkan umpan apt-get yang menampung paket yang Anda butuhkan. Jadi, siapkan apt repository dengan perintah ini.

    sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
    sudo apt-get update
    
  2. Instal .NET Core SDK

    sudo apt-get install dotnet-dev-1.0.1
    
  3. Inisialisasi contoh aplikasi Hello World

    dotnet new console -o hwapp
    cd hwapp
    

    Lihat gayanya, hampir lebih mudah untuk memulai sebagai Node.js, itu seperti alat CLI untuk semua alat pengembangan generasi baru seperti Spring Boot, Angular 2 dll, yang Anda dapat langsung menginisialisasi aplikasi Hello World dengan perintah:

  4. Jalankan aplikasi

    dotnet restore
    dotnet run
    

    Perintah pertama akan mengembalikan paket yang ditentukan dalam file proyek, dan perintah kedua akan menjalankan sampel aktual:

  5. Akhirnya, Jika Anda bisa melalui sedikit rumit, tetapi jika Anda memerlukan UI, saya akan berpikir ini akan lebih mudah daripada bekerja dengan C ++ / C # UI Library lainnya. Anda dapat memilih untuk bekerja dengan .NET atau Node.js untuk berkomunikasi dengan Browser Web Elektron menyediakan UI Melalui HTML5, CSS.

    UI elektron dengan .NET dan Node.js

Edward Chan JW
sumber
Terpilih. Tautan MS Anda pada dasarnya memiliki semua yang ingin saya sertakan. Bisakah Anda memasukkan bagian-bagian penting tautan ke jawabannya?
Anwar
Tentu, Terima kasih untuk yang terpilih. Telah diperlakukan dengan sangat baik di sini, untuk Pertanyaan Microsoft kedua. Selama Microsoft mencoba untuk bersikap netral dalam proyek Open Source mereka, saya pikir Unix harus menyambut mereka juga, sebagai Teman sama dengan Bash pada Windows 10.
Edward Chan JW