Mono framework linux là gì
Index Show
Mono là gì?Không, không liên quan gì đến Đảo Khỉ. Mono là việc triển khai miễn phí CLI (Cơ sở hạ tầng ngôn ngữ chung) và C # (cả hai đều được tạo bởi Microsoft), theo các thông số kỹ thuật được gửi đến ECMA để tiêu chuẩn hóa của nó. Việc triển khai này là mã nguồn mở. Mono bao gồm CLI, chứa máy ảo chịu trách nhiệm tải các lớp, trình biên dịch jit (Just-in-time) và trình thu gom rác; tất cả điều này được viết từ đầu theo đặc điểm kỹ thuật ecma-334. Mono cũng bao gồm một trình biên dịch C #, được viết một cách nghịch lý bằng C # và giống như CLI, trình biên dịch này tuân theo các thông số kỹ thuật ecma-335. Ngoài ra Mono có một danh mục các thư viện tương thích với các thư viện .Net Framework, nhưng nó cũng có một loạt các thư viện không tồn tại trong .Net Framework của Microsoft; chẳng hạn như GTK # cho phép tạo giao diện đồ họa gốc của bộ công cụ GTK +, Mono.LDAP, Mono.Posix, v.v. Nguồn gốc của MonoMono được hình thành bởi Miguel De Icaza, dự án được tài trợ vào thời điểm đó bởi công ty Ximian của ông; hiện tại Novell là nhà tài trợ cho dự án Mono, kể từ khi Novell mua lại Ximian. Động lực để tạo ra Mono là do việc tìm kiếm các công cụ sẽ giúp tạo ra các ứng dụng nhanh chóng trong môi trường Linux. Nền tảng hỗ trợ monoMono hiện đang chạy trên các nền tảng x86, PPC, SPARC và S390 ở 32-bit; và x86-64 và SPARC ở 64 bit; có thể tạo và thực thi các ứng dụng trên hệ điều hành: Linux, Windows, OSX, BSD và Solaris. Mono có tương thích với .Net Framework không?Một trong những mục tiêu của Mono là đạt được mức độ tương thích cao với API 1.1, mặc dù đã có rất nhiều nghiên cứu về khả năng tương thích với API 2.0 của .Net Framework. Điều này nhằm mục đích là một tệp nhị phân được biên dịch trong Windows với .Net Framework có thể được thực thi trong bất kỳ nền tảng Mono nào mà không cần phải biên dịch lại tệp nhị phân và do đó có thể sử dụng các thư viện Mono-Ej: System tương thích. Dữ liệu, System.Xml, v.v. -. Các thư viện do Mono cung cấp tương thích 100% với bản sao của .Net Framework. Phiên bản mới nhất 2.6.1. bao gồm các tính năng quan trọng khác:
Cái thứ hai - WindowsForms - cái đòi hỏi nhiều công việc hơn để hoàn thành toàn bộ. Mặc dù cần lưu ý rằng dự án không dự tính đến việc tạo các thư viện tương thích cho Dịch vụ Doanh nghiệp. Tôi hiện có thể tạo những loại ứng dụng nào với Mono?Vâng, có thể tạo các ứng dụng kiểu Web và Dịch vụ web bằng cách sử dụng mô-đun mod_mono cho phép máy chủ Web Apache phục vụ các trang ASP.NET (aspx) và Web Services (asmx). Cũng có thể tạo các ứng dụng truy cập cơ sở dữ liệu như Microsoft SQL, Oracle, Postgresql, v.v. Về phía các ứng dụng giao diện đồ họa, gợi ý là sử dụng GTK #, vì bộ công cụ dựa trên nó (GTK +), cho phép chạy các ứng dụng đồ họa trong môi trường Linux, Windows và OSX mà không cần thay đổi; Đề xuất này trở nên quan trọng, vì việc triển khai tương thích với Windows Forms trong Mono vẫn chưa hoàn tất. Có yêu cầu nào để ứng dụng của tôi tương thích với Mono và .Net Framework, tức là portable không?Thực sự không có bất kỳ ứng dụng cụ thể nào, miễn là ứng dụng dựa trên CLI; mặc dù có một số điểm cần được xem xét:
Có những công cụ phát triển nào trong Mono?Cũng có thể từ Windows để phát triển một ứng dụng bằng Visual Studio. Về phía Linux, có MonoDevelop, một IDE dựa trên SharpDevelop. MonoDevelop cho phép quản lý dự án, tô màu cú pháp, tự động hoàn thành mã, biên dịch và chạy
ứng dụng từ cùng một IDE.
Hiện đang có công việc tích hợp trình thiết kế biểu mẫu, mặc dù trình thiết kế này tập trung vào việc tạo biểu mẫu cho GTK # chứ không phải Windows Forms. Các ứng dụng dành cho Mono.Có rất nhiều ứng dụng được phát triển cho Linux trong Mono, để có được ý tưởng, đây là 2 danh sách với các ứng dụng này:
Trong số các ứng dụng nổi bật này là:
Khỉ và giấy phépMono là phần triển khai mã nguồn mở của .Net Framework của Microsoft, dựa trên các tiêu chuẩn được phát hành cho ECMA; Bởi vì nó là một triển khai dựa trên một sản phẩm của Microsoft, việc sử dụng Mono trong Linux đã gây ra tranh cãi - giữa người dùng Linux và các nhà phát triển - lập luận rằng Mono có thể vi phạm bằng sáng chế của Microsoft, có thể trở thành một vụ kiện chống lại Monkey. Theo trang của dự án Mono, miễn là CLI và trình biên dịch C # tuân thủ các tiêu chuẩn được ECMA chấp nhận, 2 phần này an toàn, liên quan đến các thư viện cụ thể Mono, chúng không có rủi ro; nhưng việc triển khai các thư viện liên quan đến ASP.NET, ADO.NET và Windows Forms rất nhạy cảm với việc vi phạm một số bằng sáng chế của Microsoft - mặc dù tại thời điểm này không có ai biết rằng đây là trường hợp -; Vì lý do này, dự án Mono đề xuất 3 phương án cho trường hợp sau:
Theo Wikipedia, việc triển khai Mono của các thành phần .NET đó không bị ECMA đối với tiêu chuẩn hóa của nó đã làm dấy lên một số lo ngại về khả năng vi phạm các bằng sáng chế phần mềm trong thời gian tồn tại của dự án. Đặc biệt, cuộc thảo luận đã phát triển về việc liệu Microsoft có thể phá hủy dự án đơn lẻ thông qua các vụ kiện về bằng sáng chế bị vi phạm hay không. Hiện đang có một cuộc tranh luận sôi nổi về khả năng cố vấn (trong) của việc chấp nhận và sử dụng Mono trong cộng đồng nhà phát triển của GNU / Linux. Lập luận chính chống lại Mono là nó không miễn phí bằng sáng chế phần mềm và có nguy cơ Microsoft sẽ yêu cầu giấy phép để sử dụng C # / CLI. Mặt khác, dự án Gnome đang phát triển một ngôn ngữ thay thế, Vala, được tạo ra đặc biệt để phát triển các ứng dụng cho Gnome, nhưng không bị đe dọa từ Microsoft. Lời đề nghị của tôiHiện tại có một số chương trình thực sự
tuyệt vời được viết bằng Mono. Bạn chỉ có thể nghĩ đến F-Spot, Gnome Do hoặc Docky. Nhưng, có các lựa chọn thay thế miễn phí không có tất cả những vấn đề này, tôi không muốn phụ thuộc vào Mono.
Gỡ cài đặt MonoTôi muốn xóa mono khỏi bản phân phối Ubuntu của mình (và do đó tiết kiệm rất nhiều dung lượng mà các phần phụ thuộc của nó chiếm và điều đó, trong trường hợp của Ubuntu, không có gì khác hơn là "hỗ trợ" 2 ứng dụng được cài đặt theo mặc định: F-Spot và Tomboy). Nếu bạn không sử dụng một trong hai cái này, hãy gỡ cài đặt chúng khỏi Synaptic cũng như tất cả các gói có nội dung Mono hoặc CLI. Để gỡ cài đặt Mono trong Ubuntu, bạn cũng có thể mở terminal và nhập: sudo apt-get remove --purge mono-common libmono0 libgdiplus sudo rm -rf / usr / lib / mono Lựa chọn thay thế cho MonoNhư chúng ta đã thấy, trước hết, nếu bạn là một lập trình viên, đừng lập trình bằng C #. Có vô số ngôn ngữ khác,
thậm chí còn tốt hơn. Ngoài ra, Gnome gần đây đã phát hành một ngôn ngữ mới với chức năng rất giống Mono được gọi là Vala.
Thêm thông tinĐể biết thêm thông tin về dự án Mono, hãy truy cập trang web chính thức tại Anh, ngoài độc
thoại là một công cụ tổng hợp cho các blog của nhà phát triển Mono; hoặc bằng tiếng Tây Ban Nha trên trang Mono Hispano, ngoài blog của những người duy trì trang web này. Nội dung bài viết tuân thủ các nguyên tắc của chúng tôi về đạo đức biên tập. Để báo lỗi, hãy nhấp vào đây. |