ฉันจะพัฒนาแอพ. NET บน Ubuntu ได้อย่างไร?


38

ที่วิทยาลัยเราใช้ Microsoft .NET เพื่อพัฒนาแอปพลิเคชัน ฉันเพิ่งเปลี่ยนมาใช้ Ubuntu และต้องการทราบเครื่องมือที่คล้ายกันในการสร้างแอพ / สำหรับ Ubuntu


4
ฉันอยากจะขอให้คุณพิจารณาการเรียนรู้ภาษาอื่นเช่น Python หรือ C / C ++ แอ็พพลิเคชันจำนวนมาก (ที่จริงแล้วอาจเป็นส่วนใหญ่) ในที่เก็บถูกเขียนในภาษาเหล่านั้น
Nathan Osman

2
แม้ว่ามันจะง่ายต่อการรับภาษาอื่น แต่ก็ไม่จำเป็นหรือเป็นที่ต้องการอย่างยิ่ง (นอกเหนือจากรูปแบบการเขียนโปรแกรมอื่น ๆ )
RAOF

หากคุณต้องการใช้ Linux แบบวันต่อวัน แต่ต้องการพัฒนา C # โดยไม่มีปัญหาด้านความเข้ากันได้ของ Mono ให้พิจารณาใช้เครื่องเสมือน Windows ใน VirtualBox
Mark K Cowan

คำตอบ:


36

คุณสามารถตั้งโปรแกรมใน. NET บน Ubuntu ได้เช่นกัน เรียงกันของ มีการนำโอเพ่นซอร์สของแพลตฟอร์ม. NET ที่มีชื่อว่า MONO แอป MONO สามารถทำงานบน Ubuntu / Linux, Windows และ Mac OS มองหา MonoDevelop ใน Ubuntu Software Center เรียนรู้เพิ่มเติมเกี่ยวกับโมโนในอูบุนตู

ตัวเลือกอื่นคือรวดเร็ว ในความคิดของฉันอย่างรวดเร็วจะดีกว่าสำหรับการพัฒนาแอพ Ubuntu เป็นศูนย์กลาง คุณสามารถโค้ดแอพและปล่อยไปยัง PPA (launchpad-repository) ได้ในเวลาไม่กี่นาที สามารถใช้ได้อย่างรวดเร็วจาก Ubuntu Software Center รับแอปเริ่มต้นด้วยการเขียนได้อย่างรวดเร็ว


1
+1 สำหรับการตอบคำถาม (โดยส่วนตัวแล้วฉันเกลียดขาวดำ แต่ก็โอเค)
Nathan Osman

3
ลิงก์mono-project.comของคุณชี้ไปที่ URL อย่างรวดเร็ว
McDowell

1
คุณสามารถใช้ภาษา CLI (.NET) และไลบรารี่มาตรฐานได้ดี - รุ่นโมโนใน Ubuntu รุ่นล่าสุดสนับสนุน C # 3.0 และ (3.5) NET 3.5 คุณจะต้องการเรียนรู้ห้องสมุด GTK # UI แอปพลิเคชัน System.Winforms & WPF จะไม่ดูดั้งเดิมและ WPF ยังไม่ได้ใช้งานอย่างสมบูรณ์
RAOF

1
คุณจะต้องเลือก MonoDevelop IDE นอกเหนือจากการพัฒนา GUI (* nix ใช้ GTK # สำหรับการลากวาง vs Winforms / WPF บน windows) การพัฒนาใน Ubuntu ไม่ได้ต่างจากการพัฒนาใน windows มากนัก
Evan Plaice

@Owais Lone - ลิงก์ที่ให้ไว้ในคำตอบใช้งานไม่ได้โปรดลองต่ออายุหรือเพิ่มตัวแทน
Chinmaya B

12

สามารถช่วยให้คุณสร้างแอพสุดเจ๋งได้อย่างรวดเร็วโดยใช้ Python (ง่ายต่อการเรียนรู้และเป็นที่นิยม) อย่างรวดเร็ว!


2
+1 สำหรับการแนะนำ Python / อย่างรวดเร็ว ฉันเป็นโปรแกรมเมอร์ Python มืออาชีพและฉันใช้ Ubuntu บนคอมพิวเตอร์ของฉัน Ubuntu (และ Linux โดยทั่วไป) นั้นยอดเยี่ยมสำหรับการพัฒนา Python
codeape

6

วาลาภาษาเป็นภาษาโปรแกรมที่คล้ายกับ C # มันยังเด็กมาก แต่มีการเชื่อมโยงกับไลบรารีที่มีอยู่จำนวนมากอยู่แล้ว (ตัวอย่างเช่น GTK) มันรวบรวมไปยังไบนารีเนทีฟดังนั้นผู้ใช้ของคุณไม่ต้องการรันไทม์เพิ่มเติมเช่นเดียวกับ. NET

ดูการแนะนำให้กับวาลาสำหรับ C # เขียนโปรแกรม


คุณกำลังกำหนดเป้าหมายที่ Ubuntu แล้วติดตั้ง mono ไว้ล่วงหน้าดังนั้นจึงไม่ต้องใช้รันไทม์เพิ่มเติม
จรจัด

1
ดูเหมือนว่าลิงก์ไปยัง Vala สำหรับ C # ไม่ทำงาน ลองคนนี้แทนlive.gnome.org/Vala/ValaForCSharpProgrammers นอกจากนี้ยังมีหนึ่งสำหรับการเขียนโปรแกรม Java, live.gnome.org/Vala/ValaForJavaProgrammers
ทำเครื่องหมาย B

ขอบคุณมาร์คดูเหมือนว่าพวกเขาได้ปรับโครงสร้างวิกิของพวกเขาฉันแก้ไขการเชื่อมโยงในคำตอบ
พฤหัสบดีที่

5

ฉันไม่เห็นเหตุผลสำหรับคำแนะนำเหล่านี้ทั้งหมดที่คุณเปลี่ยนแพลตฟอร์ม / ภาษาของแอปพลิเคชัน ใช้สิ่งที่คุณคุ้นเคยและคุณจะมีประสิทธิผลมากกว่าการใช้เวลาเรียนรู้ภาษาอื่น

Monodevelopจะให้ประสบการณ์ที่ดีขึ้นเกี่ยวกับการพัฒนา Mono - ไม่มี Visual Studio แต่เป็น IDE แบบบูรณาการที่ดีที่สุดสำหรับ mono ที่คุณจะได้รับบน Ubuntu การออกแบบภาพของฟอร์ม GTK และการควบคุมของพวกเขาเป็นเรื่องใหญ่ (คิดว่า Winforms แต่เป็นสไตล์ Linux)


2

มีเครื่องมือทุกประเภทที่ใช้งานได้บน Linux ซึ่งช่วยให้คุณสร้างแอปพลิเคชันบนเดสก์ท็อปที่หลากหลาย Bowlineเป็นกรอบ mvc ซึ่งช่วยให้คุณสามารถสร้างแอปพลิเคชันเดสก์ท็อปในทับทิม Shoesเป็นอีกหนึ่งเฟรมเวิร์กที่ช่วยให้คุณสร้างแอพเดสก์ท็อปใน ruby ​​และเป็นเฟรมเวิร์กแอพเดสก์ท็อปที่ง่ายที่สุด


2

เริ่มต้นเรียนรู้Qt มันเป็นกรอบการทำงานบนพื้นฐานของ C ++ มันเป็นแพลตฟอร์มข้ามและยังทำงานได้ดีใน windows แม้จะมีการเพิ่มไว้สำหรับ Visual Studio โดยปกติจะใช้สำหรับแพลตฟอร์ม KDE สำหรับ GNOME คุณสามารถเรียนรู้GTK #

จากวิกิพีเดีย ,

แทนที่ชุดเครื่องมือ Qt นั้น GTK + ได้รับเลือกเป็นฐานของเดสก์ท็อป GNOME


1
Qt ใช้งานได้บน GNOME
dv3500ea

@ dv3500ea: คุณไม่ได้รับมัน QT ใช้เพื่อพัฒนาแอปพลิเคชัน KDE ซึ่งไม่ได้หมายความว่าแอปพลิเคชันที่สร้างโดย QT จะไม่ทำงานบน GNOME แอพพลิเคชั่น GTK แบบเดียวกับที่รันบน KDE แต่คุณไม่สามารถใช้ GTK เพื่อสร้างแอปพลิเคชัน KDE ได้
ผู้ใช้

1
ไม่ใช่เฉพาะแพลตฟอร์ม KDE เท่านั้น
dv3500ea

1
QT ไม่ได้ใช้สร้างแอพ KDE QT ใช้สำหรับสร้าง GUI KDE ใช้ QT เพื่อสร้างแอพ QT สามารถใช้สร้างแอพ GTK ได้เช่นกัน
Owais Lone

ฉันคิดว่าฉันหลงทางโดยสิ้นเชิงที่นี่ ทำเครื่องหมายว่าเป็นวิกิชุมชน ขอบคุณสำหรับการสนับสนุนและความอดทนของคุณ
ผู้ใช้

2

ในการพัฒนาแอพพลิเคเฉพาะสำหรับอูบุนตูมุ่งหน้าไปยังเว็บไซต์ของนักพัฒนาของ Ubuntu เหนือสิ่งอื่นใดคุณสามารถ:

พวกเขามีกรอบการทำงานที่เรียกว่าได้อย่างรวดเร็ว

มีการอ้างอิงที่ดีในคำตอบอื่น ๆ ของ Qt และ GTK เป็นแหล่งที่น่าสนใจสำหรับแนวทางการเป็นนักพัฒนาเว็บไซต์ของ Gnome

กรอบงาน / IDE ที่จะใช้จะขึ้นอยู่กับภาษาที่คุณใช้ คุณสามารถใช้MS Visual Studio รหัสบน Ubuntu


1
เงินรางวัลที่ฉันเริ่มต้นนั้นเกี่ยวกับ dotnet โดยเฉพาะ คำตอบควรง่ายมาก คุณสามารถค้นหาชิ้นส่วนที่เกี่ยวข้องที่ปรับปรุงแล้วจากเว็บไซต์ของไมโครซอฟท์
Anwar

@ อันวาร์ฉันสับสนกับคำอธิบาย มันไม่ชัดเจนสำหรับฉันถ้าความคิดคือการทำ. สุทธิหรือพัฒนาเช่นเดียวกับ. Net ฉันตอบการตีความที่สอง
Ramon Suarez

โปรดเพิ่มรายละเอียดเพิ่มเติมในส่วนของคำตอบ ควรมีกระบวนการติดตั้งพื้นฐาน
Anwar

@Anwar ขออภัยฉันไม่เข้าใจความคิดเห็นของคุณ
Ramon Suarez

2

โปรดข้าม CoreCLR อ้างอิง (รันไทม์. NET Core) เสมอกับ Mono นอกจากนี้โปรดดูคำถามนี้รวบรวมผู้ที่เกี่ยวข้องและความคิดเห็นอย่างเป็นทางการสำหรับCoreCLR และโครงการความสัมพันธ์โมโนหลังจาก Microsoft เปิดแหล่ง. NET

ฉันคิดว่าหนึ่งในสิ่งที่ดีจากไจแอนต์ของอุตสาหกรรมไอทีคือเอกสารอย่างเป็นทางการ

คำสั่งต่อไปนี้เป็นสำเนาจากการเริ่มต้นกับ. NET Hello World Console Application ใน Ubuntuยกเว้นการเพิ่มคำบรรยายและความคิดเห็นในตอนท้าย อาจอ้างอิงลิงค์ด้านบนหากคำสั่งใดล้มเหลว

  1. วิชาบังคับก่อน: เริ่มต้นกับโปรแกรมประยุกต์ของคอนโซล .NET Hello World ในอูบุนตู คำแนะนำที่นี่ถือว่าคุณใช้งาน Ubuntu 16.04 LTS

    ในการติดตั้ง. NET Core บน Ubuntu หรือ Linux Mint คุณต้องตั้งค่าฟีด apt-get ที่โฮสต์แพ็กเกจที่คุณต้องการก่อน ดังนั้นตั้งค่าที่เก็บ apt ด้วยคำสั่งเหล่านี้

    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

    sudo apt-get install dotnet-dev-1.0.1
    
  3. เริ่มต้นแอปพลิเคชัน Hello World ตัวอย่าง

    dotnet new console -o hwapp
    cd hwapp
    

    ดูสไตล์มันง่ายกว่าในการเริ่มต้นเป็น Node.js เหมือนกับเครื่องมือ CLI สำหรับเครื่องมือพัฒนารุ่นใหม่ทั้งหมดเช่น Spring Boot, Angular 2 เป็นต้นซึ่งคุณสามารถเริ่มต้นแอพ Hello World ด้วยคำสั่ง:

  4. เปิดแอพ

    dotnet restore
    dotnet run
    

    คำสั่งแรกจะเรียกคืนแพ็คเกจที่ระบุในไฟล์โครงการและคำสั่งที่สองจะเรียกใช้ตัวอย่างจริง:

  5. สุดท้ายถ้าคุณสามารถผ่านความซับซ้อนเล็กน้อย แต่ถ้าคุณต้องการ UI ฉันคิดว่ามันจะง่ายกว่าการทำงานกับ C ++ / C # UI Library อื่น ๆ คุณสามารถเลือกที่จะทำงานกับ. NET หรือ Node.js เพื่อสื่อสารกับเว็บเบราว์เซอร์ของอิเล็กตรอนที่มี UI ผ่าน HTML5, CSS

    Electron UI พร้อมด้วย. NET และ Node.js


upvoted ลิงก์ MS ของคุณมีทุกสิ่งที่ฉันต้องการรวมเข้าด้วยกัน คุณสามารถใส่ส่วนสำคัญของลิงค์ลงในคำตอบได้หรือไม่?
Anwar

แน่นอนว่าขอบคุณสำหรับการโหวต รับการปฏิบัติที่ดีจริงๆที่นี่สำหรับคำถามที่สองของ Microsoft ตราบใดที่ Microsoft พยายามเป็นกลางในโครงการโอเพ่นซอร์สของพวกเขาฉันคิดว่า Unix ควรต้อนรับพวกเขาด้วยเช่นกันเช่นเดียวกับเพื่อนใน Bash บน Windows 10
Edward Chan JW
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.