Jak tworzyć aplikacje .NET na Ubuntu?

38

na studiach używamy Microsoft .NET do tworzenia aplikacji. Niedawno przeszedłem na Ubuntu i chciałbym znać podobne narzędzia do tworzenia aplikacji na / dla Ubuntu.

Owais Lone
źródło
4
Chciałbym gorąco zachęcić do rozważenia nauki innego języka, takiego jak Python lub C / C ++. Duża liczba (w rzeczywistości prawdopodobnie większość) aplikacji w repozytorium jest napisana w tych językach.
Nathan Osman
2
Chociaż wybranie innego języka będzie dość łatwe, z pewnością nie jest to konieczne ani szczególnie pożądane (inne niż kontakt z innymi stylami programowania).
RAOF
Jeśli chcesz używać Linuksa na co dzień, ale chcesz rozwijać C # bez problemów z kompatybilnością Mono, rozważ posiadanie maszyny wirtualnej z systemem Windows w VirtualBox.
Mark K Cowan,

Odpowiedzi:

36

Możesz także programować w .NET na Ubuntu. Cóż, w pewnym sensie. Dostępna jest implementacja platformy .NET typu open source o nazwie MONO. Aplikacje MONO można uruchamiać w systemach Ubuntu / Linux, Windows i Mac OS. Poszukaj MonoDevelop w Centrum oprogramowania Ubuntu. Dowiedz się więcej o Mono w Ubuntu .

Inną opcją jest Szybko. Moim zdaniem Quickly jest lepszy do tworzenia aplikacji skoncentrowanych na Ubuntu. Możesz zakodować aplikację i wydać ją do PPA (repozytorium startera) w kilka minut. Szybko jest również dostępny w Centrum oprogramowania Ubuntu. Zacznij pisać aplikacje dzięki Quickly .

Owais Lone
źródło
1
+1 za odpowiedź na pytanie. (Osobiście nienawidzę mono, ale no cóż.)
Nathan Osman
3
twój link mono-project.com wskazuje na Quickly URL
McDowell
1
Możesz dobrze używać języków CLI (.NET) i bibliotek standardowych - wersje mono w ostatnich wydaniach Ubuntu obsługują C # 3.0 i (większość) .NET 3.5. Będziesz jednak chciał nauczyć się biblioteki GTK # UI. Aplikacje System.Winforms i WPF nie będą wyglądały natywnie, a WPF również nie jest w pełni zaimplementowany.
RAOF
1
Będziesz chciał wybrać MonoDevelop IDE. Oprócz programowania GUI (* nix używa GTK # do przeciągania i upuszczania w porównaniu z Winforms / WPF w systemie Windows) programowanie w Ubuntu nie różni się niczym od programowania w systemie Windows.
Evan Plaice,
@Owais Lone - Linki podane w odpowiedzi nie działają, spróbuj je odnowić lub dodać substytut
Chinmaya B
12

Szybko pomoże Ci szybko tworzyć fajne aplikacje przy użyciu Pythona (dość łatwe do nauczenia się i bardzo popularne)!

Umang
źródło
2
+1 za sugerowanie Pythona / Szybko. Jestem profesjonalnym programistą Python i używam Ubuntu na moim komputerze. Ubuntu (i ogólnie Linux) doskonale nadaje się do programowania w języku Python.
codeape
6

Język Vala jest językiem programowania bardzo podobnym do C #. Jest wciąż bardzo młody, ale ma już wiele powiązań z istniejącymi bibliotekami (na przykład GTK). Kompiluje się do natywnych plików binarnych, więc użytkownicy nie potrzebują dodatkowego środowiska uruchomieniowego, tak jak w przypadku platformy .NET.

Zobacz wprowadzenie do Vala dla programistów C # .

thbusch
źródło
jeśli celujesz w Ubuntu, mono jest wstępnie instalowane, więc nie wymaga dodatkowego środowiska wykonawczego.
trampster,
1
Wygląda na to, że ten link do Vala dla C # nie działa. Wypróbuj zamiast tego, live.gnome.org/Vala/ValaForCSharpProgrammers . Jest też jeden dla programistów Java, live.gnome.org/Vala/ValaForJavaProgrammers .
Mark B
dzięki Mark, wygląda na to, że zrestrukturyzowali swoją wiki, poprawiłem link w odpowiedzi.
thbusch
5

Nie widzę powodu, dla którego wszystkie te sugestie zmieniają platformy / języki aplikacji. Użyj tego, do czego przywykłeś, a będziesz bardziej produktywny niż spędzanie czasu na nauce innego języka.

Monodevelop zapewni lepsze wrażenia z rozwoju Mono - nie ma Visual Studio, ale jest to najlepsze zintegrowane IDE dla mono, które dostaniesz na Ubuntu. Projektowanie wizualne formularzy GTK i ich kontroli to duża wygrana (pomyśl o Winformach, ale w stylu Linux).

Rob Cowell
źródło
2

W Linuksie dostępne są różnego rodzaju narzędzia, które pozwalają tworzyć bogate aplikacje komputerowe. Bowline to framework mvc, który pozwala tworzyć aplikacje komputerowe w Rubim. Buty to kolejna platforma, która umożliwia tworzenie aplikacji komputerowych w języku ruby ​​i jest zdecydowanie najłatwiejszą strukturą aplikacji komputerowych.

Khaja Minhajuddin
źródło
2

Rozpocznij naukę Qt . Jest to framework oparty na C ++. Jest wieloplatformowy i działa dobrze w systemie Windows. Nawet ma dodatek do Visual Studio. Jest zwykle używany na platformie KDE. W przypadku GNOME możesz nauczyć się GTK # .

Z Wikipedii ,

Zamiast zestawu narzędzi Qt jako podstawę pulpitu GNOME wybrano GTK +.

użytkowników
źródło
1
Qt działa na GNOME
dv3500ea
@ dv3500ea: Nie dostałeś tego. QT służy do tworzenia aplikacji KDE, co nie znaczy, że aplikacje zbudowane przez QT nie będą działały na GNOME. W ten sam sposób aplikacje GTK będą działać na KDE. Ale nie możesz używać GTK do budowania aplikacji KDE
użytkownik
1
Nie dotyczy to jednak tylko platformy KDE.
dv3500ea
1
QT nie jest używane do tworzenia aplikacji KDE. QT służy do tworzenia GUI. KDE używa QT do tworzenia aplikacji. QT można także wykorzystać do tworzenia aplikacji GTK.
Owais Lone
Myślę, że jestem tutaj całkowicie zagubiony. Oznaczone jako wiki społeczności. Dziękujemy za wsparcie i cierpliwość.
użytkownik
2

Aby opracować aplikacje specjalnie dla Ubuntu, przejdź na stronę programistyczną Ubuntu . Między innymi możesz:

Mają platformę o nazwie Szybko .

W innych odpowiedziach na Qt i GTK znajdują się dobre odniesienia. Ciekawym źródłem wskazówek jest strona programistów Gnome .

Ramy / IDE, które będą używane, będą zależeć od używanego języka. Możesz używać MS Visual Studio Code na Ubuntu .

Ramon Suarez
źródło
1
Nagroda, którą rozpocząłem, dotyczy konkretnie dotnet. Odpowiedź powinna być bardzo łatwa. Odpowiedni zaktualizowany kawałek można nawet znaleźć na stronie Microsoft
Anwar
@Anwar Mylę się z opisem. Nie było dla mnie jasne, czy chodziło o zrobienie .Net czy rozwój jak z .Net. Odpowiedziałem na drugą interpretację
Ramon Suarez
Dodaj więcej szczegółów do tej części odpowiedzi. Powinien obejmować podstawowy proces instalacji
Anwar
@Anwar Przepraszamy, nie rozumiem twojego komentarza.
Ramon Suarez
2

Zawsze korzystaj z odniesienia do CoreCLR (środowisko uruchomieniowe .NET Core) z Mono. Ponadto zapoznaj się z tym pytaniem i zebrano powiązane osoby oraz oficjalną opinię na temat relacji CoreCLR i projektu Mono po otwarciu przez Microsoft platformy .NET

Myślę, że jedną z dobrych rzeczy od Giants of IT Industry jest oficjalna dokumentacja.

Następujące polecenie jest skopiowane z Pierwsze kroki w aplikacji .NET Hello World Console w Ubuntu , z wyjątkiem dodanej narracji i opinii na końcu. Prawdopodobnie skorzystaj z powyższego linku, jeśli któreś z poleceń nie powiedzie się.

  1. Wymaganie wstępne: Pierwsze kroki w aplikacji .NET Hello World Console w systemie Ubuntu . Niniejsza instrukcja zakłada, że ​​używasz Ubuntu 16.04 LTS.

    Aby zainstalować .NET Core na Ubuntu lub Linux Mint, musisz najpierw skonfigurować kanał apt-get, który obsługuje potrzebny pakiet. Więc skonfiguruj repozytorium apt za pomocą tych poleceń.

    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. Zainstaluj .NET Core SDK

    sudo apt-get install dotnet-dev-1.0.1
    
  3. Zainicjuj przykładową aplikację Hello World

    dotnet new console -o hwapp
    cd hwapp
    

    Spójrz na styl, prawie łatwiej jest zacząć jako Node.js, jest jak narzędzia CLI dla wszystkich narzędzi programistycznych nowej generacji, takich jak Spring Boot, Angular 2 itp., Które możesz po prostu zainicjować aplikacje Hello World za pomocą polecenia:

  4. Uruchom aplikację

    dotnet restore
    dotnet run
    

    Pierwsze polecenie przywróci pakiety określone w pliku projektu, a drugie polecenie uruchomi rzeczywistą próbkę:

  5. Wreszcie, jeśli możesz przejść przez nieco skomplikowane, ale jeśli potrzebujesz interfejsu użytkownika, pomyślałem, że będzie to łatwiejsze niż praca z inną biblioteką interfejsu użytkownika C ++ / C #. Możesz wybrać pracę z .NET lub Node.js w celu komunikacji z przeglądarką internetową Electron zapewniającą interfejs użytkownika poprzez HTML5, CSS.

    Elektroniczny interfejs użytkownika z .NET i Node.js

Edward Chan JW
źródło
Pozytywne. Twój link do MS ma zasadniczo wszystko, co chciałem zostać uwzględniony. Czy umieścisz ważne części linku w odpowiedzi?
Anwar
Jasne, dziękuję za entuzjastyczne. Traktowano mnie naprawdę ładnie, na drugie pytanie Microsoft. Tak długo, jak Microsoft stara się zachować neutralność w swoim projekcie Open Source, myślę, że Unix powinien je również powitać, podobnie jak Friends w Bash na Windows 10.
Edward Chan JW