Ubuntu'da .NET uygulamalarını nasıl geliştiririm?


38

Üniversitede uygulamalar geliştirmek için Microsoft .NET kullanıyoruz. Geçenlerde Ubuntu'ya geçtim ve ubuntu için / ubuntu için uygulamalar yapmak için benzer araçları bilmek istiyorum.


4
Python veya C / C ++ gibi başka bir dil öğrenmeyi düşünmenizi şiddetle tavsiye ediyorum. Depodaki uygulamaların çok büyük bir kısmı (aslında büyük bir çoğunluğu) bu dillerde yazılmıştır.
Nathan Osman,

2
Başka bir dili seçmek oldukça kolay olsa da, kesinlikle gerekli değildir veya özellikle arzu edilir (diğer programlama stillerine maruz kalmaktan başka).
RAOF

Gündelik Linux kullanmak, ancak Mono'nun uyumluluk sorunları olmadan C # geliştirmek istiyorsanız, VirtualBox'da bir Windows sanal makinesine sahip olmayı düşünün.
Mark K Cowan,

Yanıtlar:


36

Sen de ubuntu üzerinde .NET programlayabilirsiniz. İyi sıralama. MONO adı verilen .NET platformunun açık kaynaklı bir uygulaması var. MONO uygulamaları Ubuntu / Linux, Windows ve Mac OS işletim sistemlerinde çalışabilir. Ubuntu Software Center'da MonoDevelop'u arayın. Ubuntu'daki Mono hakkında daha fazla bilgi edinin .

Başka bir seçenek Çabuk. Bence Çabucak Ubuntu merkezli uygulama geliştirme için daha iyidir. Uygulamanızı kodlayabilir ve birkaç dakika içinde bir PPA'ya (launchpad-depo) bırakabilirsiniz. Hızla Ubuntu Yazılım Merkezi'nden de erişilebilir. Quickly ile uygulama yazmaya başlayın .


1
Soruyu cevaplamak için +1. (Şahsen ben mono nefret ediyorum, ama oh iyi.)
Nathan Osman

3
senin mono-project.com Hızla URL'ye bağlantı noktaları
McDowell

1
CLI (.NET) dillerini ve standart kitaplıkları kullanabiliyorsunuz - son Ubuntu sürümlerinde mono sürümleri C # 3.0 ve (çoğu) .NET 3.5'i destekliyor. Yine de, GTK # UI kütüphanesini öğrenmek isteyeceksiniz. System.Winforms ve WPF uygulamaları yerel görünmeyecek ve WPF de tam olarak uygulanmamıştır.
RAOF,

1
MonoDevelop IDE'yi almak isteyeceksiniz. GUI geliştirmenin yanı sıra (* nix, sürükle bırak için Windows'ta GTK # kullanıyor; Windows'ta Winforms / WPF kullanıyor) Ubuntu'da geliştirme, Windows'taki geliştirmeden çok farklı.
Evan Plaice

@Owais Lone - Cevap olarak verilen linkler çalışmıyor. Lütfen onları yenilemeyi veya yenisini eklemeyi deneyin.
Chinmaya B

12

Çabucak Python (öğrenmesi oldukça kolay ve çok popüler) kullanarak harika uygulamalar yapmanıza yardımcı olabilir!


2
Python'u / Hızlıca önermek için +1. Ben profesyonel bir Python programcısıyım ve bilgisayarımda Ubuntu kullanıyorum. Ubuntu (ve genel olarak Linux) Python geliştirme için harika.
morina

6

Vala dil C # çok benzer bir programlama dilidir. Hala çok genç, ama zaten mevcut kütüphanelere çok fazla bağ var (örneğin, GTK). Yerel ikili dosyalara derlenir, böylece kullanıcılarınız .NET'te olduğu gibi ek bir çalışma zamanına ihtiyaç duymazlar.

C # programcıları için Vala'ya bir giriş bakın .


ubuntu'yu hedefliyorsanız mono önceden yüklenmiş olarak kuruludur ve bu nedenle ek çalışma zamanı gerektirmez.
trampster

1
Görünüşe göre C # için Vala bağlantısı çalışmıyor. Bunun yerine live.gnome.org/Vala/ValaForCSharpProgrammers . Java programcıları için ayrıca bir tane var, live.gnome.org/Vala/ValaForJavaProgrammers .
Mark B,

teşekkürler Mark, wiki'lerini yeniden yapılandırmış gibi gözüküyor, Cevaptaki bağlantıyı düzelttim.
thbusch

5

Uygulama platformlarını / dillerini değiştirdiğiniz tüm bu öneriler için bir neden göremiyorum. Alıştığınızı kullanın ve başka bir dil öğrenmek için zaman harcamaktan daha üretken olacaksınız.

Monodevelop , size Mono'nun geliştirilmesinde daha iyi bir deneyim sunacak - Visual Studio'su yok, ancak Ubuntu'da elde edeceğiniz mono için en iyi entegre IDE'si. GTK formlarının ve kontrollerinin görsel tasarımı büyük bir kazançtır (Winforms'u düşünün ama Linux tarzı).


2

Linux'ta zengin masaüstü uygulamaları yaratmanıza izin veren her türlü araç bulunmaktadır. Bowline , yakut içinde masaüstü uygulamaları oluşturmanıza izin veren bir mvc çerçevesidir. Shoes , yakut içinde masaüstü uygulamaları oluşturmanıza izin veren başka bir çerçevedir ve bugüne kadarki en kolay masaüstü uygulaması çerçevesidir.


2

Qt öğrenmeye başlayın . C ++ 'a dayalı bir çerçeve. Çapraz platform ve aynı zamanda pencerelerde iyi çalışıyor. Hatta Visual Studio için bir eklenti var. Genellikle KDE platformu için kullanılır. GNOME için GTK # öğrenebilirsiniz .

Gönderen Wikipedia ,

Qt araç kiti yerine, GNOME masaüstünün temeli olarak GTK + seçildi.


1
Qt GNOME üzerinde çalışıyor
dv3500ea

@ dv3500ea: Anlamadın. QT, KDE uygulamaları geliştirmek için kullanılır; bu, QT tarafından oluşturulan uygulamaların GNOME'da çalışmadığı anlamına gelmez. GTK uygulamaları KDE'de de aynı şekilde çalışır. Ancak KDE uygulamaları oluşturmak için GTK'yı kullanamazsınız
kullanıcı

1
'Sadece KDE platformu için' değil.
dv3500ea

1
QT, KDE uygulamaları oluşturmak için kullanılmaz. QT, GUI oluşturmak için kullanılır. KDE bu uygulamaları geliştirmek için QT kullanıyor. QT, GTK uygulamaları oluşturmak için de kullanılabilir.
Owais Lone

Sanırım burada tamamen kayboldum. Topluluk wiki olarak işaretlendi. Desteğiniz ve sabrınız için teşekkür ederiz.
kullanıcı

2

Özellikle Ubuntu için uygulamalar geliştirmek için Ubuntu'nun geliştirici web sitesine gidin . Yapabileceğiniz diğer şeyler arasında:

Çabuk adında bir çerçeve var .

Qt ve GTK'ya verilen diğer cevaplarda iyi referanslar var. Yönergeler için ilginç bir kaynak Gnome'un geliştirici web sitesidir .

Kullanılacak çerçeve / IDE kullandığınız dile göre değişecektir. Ubuntu'da MS Visual Studio Kodunu kullanabilirsiniz .


1
Başladığım ödül özellikle dotnet ile ilgili. Cevap çok kolay olmalı. Hatta güncellenmiş parçayı microsoft websitesinde bulabilirsiniz
Anwar

@Anwar açıklaması ile karıştırıldım. Fikir yapmak net ya da net ile geliştirmek olup olmadığı benim için belli değildi. Ben ikinci yoruma cevap
Ramon Suarez

Lütfen cevabın bu bölümüne daha fazla ayrıntı ekleyin. Temel kurulum işlemini
Anwar

@Anwar Üzgünüz, yorumunuzu anlamıyorum.
Ramon Suarez

2

Lütfen her zaman Mono ile referans CoreCLR'ye (.NET Core çalışma zamanı) çapraz geçin. Ayrıca, Microsoft’un .NET’i açık kaynaklı bulmasından sonra lütfen bu sorunun CoreCLR ve Mono ilişkisine ilişkin ilgili kişi ve resmi görüşlerini topladığını görün.

Bence BT Endüstrisi'nden Giants’tan birinin resmi belgeler olduğunu düşünüyorum.

Aşağıdaki komut, en son eklenen anlatım ve görüş dışında , Ubuntu'daki .NET Hello World Console Uygulamasına Başlamaktan alınan kopyadır . Herhangi bir komut başarısız olursa, muhtemelen yukarıdaki bağlantıya bakın.

  1. Önkoşul: Ubuntu'da .NET Hello World Console Uygulamasına Başlamak . Buradaki talimat Ubuntu 16.04 LTS kullandığınızı varsaymaktadır.

    .NET Core'u Ubuntu veya Linux Mint'e kurmak için önce ihtiyacınız olan paketi barındıran apt-get feed'ini ayarlamanız gerekir. Bu nedenle, bu komutlarla apt deposunu kurun.

    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. .NET Core SDK'yı yükleyin

    sudo apt-get install dotnet-dev-1.0.1
    
  3. Örnek bir Hello World uygulaması başlat

    dotnet new console -o hwapp
    cd hwapp
    

    Stile bakın, Node.js olarak çalışmaya başlamak neredeyse daha kolaydır, Spring Boot, Angular 2 vb. Gibi tüm yeni nesil geliştirme araçları için CLI araçları gibidir;

  4. Uygulamayı çalıştır

    dotnet restore
    dotnet run
    

    İlk komut proje dosyasında belirtilen paketleri geri yükler ve ikinci komut gerçek örneği çalıştırır:

  5. Son olarak, biraz karmaşık bir süreçten geçebilirseniz, ancak kullanıcı arabirimi gerektiriyorsa, bunun diğer C ++ / C # UI Kitaplığı ile çalışmaktan daha kolay olacağını düşünüyorum. Electron'un Web Tarayıcısı ile iletişim kurmak için .NET veya Node.js ile çalışmayı seçebilirsiniz; HTML5, CSS ile UI sağlar.

    .NET ve Node.js ile Elektron Kullanıcı Arabirimi


Upvoted. MS bağlantınız dahil etmek istediğim her şeye sahip. Bağlantının önemli kısımlarını cevaba koyabilir misiniz?
Anwar

Elbette, oy için teşekkürler. Burada ikinci kez Microsoft soruları için gerçekten hoş davranılıyor. Microsoft, Açık Kaynak projelerinde nötr olmaya çalıştığı sürece, Unix’in de Windows 10’daki Bash’le aynı Arkadaş olarak kabul etmeleri gerektiğini düşünüyorum.
Edward Chan JW
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.