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.


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 .


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)!


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 # .


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).


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.


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 +.


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 .


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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.