모노(소프트웨어)

Mono (software)
모노
Mono project logo.svg
Mono architecture.svg
모노 건축 도표
원본 작성자시미안
개발자.NET FoundationXamarin(마이크로소프트 자회사)
초기 릴리즈2004년 6월 30일; 17년 전(2004-06-30)
안정적 해제
6.12.0.122[1] / 2021년 2월 23일; 12개월(2021년 2월 23일)
릴리스 미리 보기
6.12.0.148 / 2021년 8월 13일; 6개월(2021-08-13)[2]
리포지토리
기록 위치C, C#, XML
운영 체제Windows, MacOS, Linux, IBM AIX, IBM[3] i
플랫폼IA-32, x64, IA-64, ARM, MIPS, PowerPC, SPARC, S390
유형소프트웨어 프레임워크
면허증MIT 라이선스[4]
웹사이트www.mono-project.com

모노는 무료 오픈소스.NET Framework 호환 소프트웨어 프레임워크.원래 시미안(Simian)에 의해 나중에 Novell에 인수되었고, 현재는 마이크로소프트[5] 의 자회사인 자마린이 주도하고 있다.NET Foundation.모노는 많은 소프트웨어 시스템에서 실행될 수 있다.

역사

발매이력[6]
날짜 버전[7] 메모들
2004-06-30 1.0[8] C# 1.0 지원
2004-09-21 1.1[9]
2006-11-09 1.2[10] C# 2.0 지원
2008-10-06 2.0[11] Mono의 API는 현재 와 동등하다.NET 2.0.C# 3.0 및 Visual Basic 8 컴파일러 소개새로운 Mono 특정 API: Mono.세실, 모노.카이로와 모노.포식스. Gtk# 2.12가 출시되었다.겐다르메 검증 툴과 모노링커가 도입된다.
2009-01-13 2.2[12] 모노는 JIT 엔진을 성능 향상을 제공하는 새로운 내부 표현으로[13] 전환하고 모노에서 SIMD 지원을 도입한다.심드[14] 모노.심드 네임스페이스.
Mono는 개발자가 완전한 정적 애플리케이션을 생성하고 C# Compiler as a Service[15] 및 C# Interactive Shell[16](C# REF)을 출시할 수 있는 Full Award Of Time 컴파일을 도입한다.
2009-03-30 2.4[17] 이번 릴리즈는 2.2로 출하된 모든 기능을 주로 폴링해 SUSE Linux에서 Mono 장기지원의 기반이 됐다.
2009-12-15 2.6[18] Mono 런타임은 이제 LLVM을 코드 생성 백엔드로 사용할 수 있게 되었으며, 이번 릴리스에서는 Moon co-routines, Mono Soft Debugger, 그리고 Moon과 다른 웹 기반 플러그인에 필요한 CoreCLR 보안 시스템을 도입하였다.
클래스 라이브러리 시스템에서.IO.Packaging, WCF 클라이언트, WCF 서버, LINQ to SQL 데뷔.Interactive 셸은 자동 완성을 지원하고 LINQ to SQL은 다중 데이터베이스 백업을 지원한다.xbuild 빌드 시스템이 도입되었다.
2010-09-22 2.8[19] 기본값은 입니다.NET 4.0 프로필, C# 4.0 지원, 새로운 세대 가비지 수집기는 병렬 확장, WCF 라우팅, 코드계약, ASP를 포함한다.NET 4.0은 1.0 프로파일 지원을 중단한다. LLVM 엔진은 생성된 모든 코드, 런타임 선택 가능한 llvm 및 gc의 99.9%를 지원하도록 조정되며, 동적 언어 런타임, MEF, ASP를 통합한다.NET MVC2, Microsoft의 OData Client 오픈 소스 코드.3.0 릴리즈 예정
2011-02-15 2.10[20]
2012-10-18 3.0[21] C# 5.0 지원, 비동기 지원, 비동기식 기본 클래스 라이브러리 업그레이드 및 MVC4 - 부분, 비동기식 기능 없음
2013-07-24 3.2[22] 기본 가비지 수집기는 이제 Boem 대신 SGEN이 됨
2014-03-31 3.4[23]
2014-08-12 3.6[24]
2014-09-04 3.8[25]
2014-10-04 3.10[26]
2015-01-13 3.12[27]
2015-04-29 4.0[28] 기본값은 입니다.NET 4.5 프로필 및 배송만 가능.NET 4.5 어셈블리, 기본값은 C# 6.0이다.마이크로소프트 오픈 소스를 통합한 첫 번째 릴리스.NET 코어 코드
2017-05-10 5.0[29] C#7 지원을 위해 Roslyn C# 컴파일러 배송, 호환성을 개선하기 위해 msbuild 및 xbuild 사용 중지, GC에서 보내는 시간 단축을 위한 동시 SGen 가비지 수집기 사용, Apple 소개HTTPS 연결용 MacOS의 TLS 스택; 의 Continuous Progress.NET Class Library 컨버전스, MacOS 패키지의 libjpeg 업데이트
2017-07-14 5.2[30] 에 대한 지원.NET Standard 2.0, 강력한 어셈블리 이름 및 실험 기본 인터페이스 멤버.
2017-10-05 5.4[31] JIT Runtime은 현재 동시 메서드 컴파일 및 기타 다양한 성능 최적화를 지원한다.
2018-02-01 5.8[32] 초기 WebAssembly 포트; SGen GC에 대한 모드; Roslyn's cSI(C# interactive) RET 도구 포함
2018-02-26 5.10[33] 이제 인터프리터가 기본 설치에 포함됨; 런타임은 기본 인터페이스 메서드를 지원함; WebAssembly는 지금 신뢰할 수 있는 것으로 간주됨; 에 대한 지원.NET 4.7.1 / C# 7.2 / F# 4.1
2018-05-08 5.12[34] IBM AIX/i에 대한 포트. 이제 VB가 포함됨.NET 컴파일러, jemalloc 사용 옵션
2018-08-07 5.14[35] Windows(윈도우) 메이저.와의 호환성을 향상시키기 위해 양식을 업데이트하십시오.네트
2018-10-08 5.16[36] 하이브리드 일시 중단 가비지 수집기, 클라이언트 인증서 지원, C# 7.3 지원
2018-12-21 5.18[37] .NET 4.7.2 지원, 더 많은 CoreFX 코드 사용
2019-07-17 6.0[38] C# 컴파일러 기본값은 버전 C# 8.0 RC; 디버거 지원의 다양한 안정성 향상, Mono Intervaler가 완전하고 안정적인 기능 제공
2019-09-23 6.4[39] C# 8 언어 버전에 대한 컴파일러 지원; .NET Standard 2.1 지원
2019-12-10 6.6[40] .NET 4.8 참조 어셈블리 추가
2020-01-15 6.8[41] 다양한 버그픽스
2020-05-19 6.10[42] 다양한 버그픽스
2020-11-24 6.12[43] 다양한 버그픽스

마이크로소프트가 처음 그들의 제품을 발표했을 때.2000년 6월, NET Framework는 "인터넷 표준에 기초한 새로운 플랫폼"[44]으로 설명되었고, 그 해 12월, 기초적인 공통 언어 기반 구조가 개방형 표준인 "ECMA-335"[45]로 출판되어 독립 구현의 가능성을 열었다.[46]시미안미겔이카자는 그렇게 믿었다.넷은 프로그래머 생산성을 높일 수 있는 잠재력을 가지고 있었고 리눅스 버전이 실현 가능한지 조사하기 시작했다.[47]그들의 작은 팀이 완전한 제품을 만들고 지원할 것이라고 기대할 수 없다는 것을 인식하고, 그들은 2001년 7월 19일 오렐리 회의에서 모노 오픈소스 프로젝트를 시작했다.

3년간의 개발 끝에 2004년 6월 30일 모노 1.0이 출시되었다.[48]Mono는 리눅스 데스크탑 애플리케이션을 위한 개발자 플랫폼의 초기 초점으로부터 임베디드 시스템을 포함한 광범위한 아키텍처와 운영 체제를 지원하는 것으로 진화했다.[49]

Novell은 2003년에 Ximian을 인수했다.2011년 4월 애티메이트가 Novell을 인수한 후 애티메이트는 Novell 인력에 대한 수백 명의 해고를 발표하여 Mono의 미래를 문제 삼았다.[50][51][52]

5월 16일, Miguel de Icaza는 자신의 블로그에서 모노가 Novell에서 해고된 후 그가 설립한 회사인 Xamarin의 지원을 계속 받을 것이라고 발표했다.원래 모노 팀도 새 회사로 옮긴 상태였다.자마린은 모노를 계속 연구할 계획이었고 소유권을 다시 쓸 계획이었다.Novell은 당시에도 여전히 Android용 MonoTouch와 Mono를 소유하고 있었기 때문에 iOSAndroid용 NET 스택을 처음부터 쌓아두었다.[53]이 발표 후, 프로젝트의 장래에 의문이 제기되었고, 안드로이드용 MonoTouch와 Mono는 현재 Attachmate가 소유하고 있는 기존의 상업용 제품과 직접 경쟁하고 있으며, 자마린 팀은 11월까지 고용되었을 때 이전에 개발한 기술을 사용하지 않았음을 증명하는 데 어려움을 겪을 것이라는 점을 고려하였다.동업으로 [54]삼다그러나 2011년 7월 현재 애티메이트와 자마린의 자회사인 Novell은 공식적으로 이 프로젝트를 책임진 안드로이드의 자마린에게 모노, 모노터치, 모노에 대해 영구 라이선스를 부여했다고 발표했다.[55][56]

현재 상태 및 로드맵

모노의 현재 버전은 6.0.0(2019년 8월 기준)이다.이 버전은 의 핵심 API를 제공한다.NET Framework 및 Visual Basic 지원.NET와 C# 7.0. LINQ to Objects, XML 및 SQL은 분포의 일부분이다.Windows Forms 2.0도 지원되지만 적극적으로 개발되지는 않으며, 따라서 Mono에 대한 지원은 불완전하다.[57]버전 4.0은 마이크로소프트가 의 일부로 릴리스한 마이크로소프트 원본 코드를 통합한 첫 번째 버전이었다.NET Core 프로젝트.

모노는 2021년 1월 14일 현재 의 모든 기능을 전폭적으로 지원하고 있다.NET 4.7은 WPF(Windows Presentation Foundation)(Mono 팀이 필요한 작업량 때문에 지원하지 않을 계획)[57]와 WF(Windows Workflow Foundation)를 제외하고, WCF(Windows Communication Foundation)와 ASP에 대한 지원이 제한적이다.NET 비동기 스택.그러나 시스템.웹과 WCF는 에서 '거의 즉시' 포팅할 후보들이다.NET 참조 소스를 Mono로 다시 보내십시오.[58]의 일부 누락된 부분.NET Framework올리브라는 실험적인 Mono 하위 프로젝트에서 개발 중이다.[59]

Mono 프로젝트는 또한 Visual Basic을 만들었다.NET 컴파일러 및 VB 실행을 위해 설계된 런타임.NET 애플리케이션.현재 롤프 비야른 쿠빙이 개발하고 있다.

달빛

마이크로소프트 실버라이트의 오픈소스 구현인 문라이트(Moonwater)는 Moon 1.9.[60]실버라이트 1.0 API를 지원하는 문라이트 1.0은 2009년 1월 20일에 출시되었다.문라이트 2.0은 실버라이트 2.0과 실버라이트 3.0의 일부 기능을 지원한다.[61]2010년 2월에 Moonwine 3.0의 프리뷰 릴리즈가 발표되었으며 Silverlight 3 지원 업데이트 내용이 포함되어 있다.[62]

달빛 프로젝트는 2012년 5월 29일에 포기되었다.[63]미겔에 따르면 두 가지 요소가 프로젝트의 운명을 결정지었다.마이크로소프트는 "데스크톱 프로그래밍에 쓸모 없게 만들었다"는 "인공적 제한"을 추가했고, 이 기술은 웹에서 충분한 영향력을 얻지 못했다.게다가 실버라이트 자체는 2012년까지 마이크로소프트에 의해 폐지되었다.

모노 성분

Mono는 다음과 같은 세 가지 구성 요소 그룹으로 구성된다.

  1. 핵심 구성 요소
  2. 모노/리눅스/GNOME 개발 스택
  3. 마이크로소프트 호환성 스택

핵심 구성 요소에는 C# 컴파일러, 공통 언어 인프라용 가상 시스템 및 코어 클래스 라이브러리가 포함된다.이러한 구성 요소는 Ecma-334 Ecma-335 표준을 기반으로 하여 Mono가 표준 준수, 무료 및 오픈 소스 CLI 가상 머신을 제공할 수 있도록 한다.[64]마이크로소프트는 그들의 공동체 약속 면허에 따라 두 표준 모두를 다루는 성명서를 발표했다.[65]

Mono/Linux/GNOME 개발 스택은 기존 GNOME무료오픈 소스 라이브러리를 사용하면서 애플리케이션 개발을 위한 도구를 제공한다.여기에는 다음이 포함된다.그래픽 사용자 인터페이스(GUI) 개발용 Gtk#, Gecko 렌더링 엔진 관련 Mozilla 라이브러리, Unix 통합 라이브러리(Mono)Posix), 데이터베이스 연결 라이브러리, 보안 스택 및 XML 스키마 언어 RelaxNG.Gtk#는 Mono 애플리케이션을 Gnome 데스크톱에 기본 애플리케이션으로 통합할 수 있도록 한다.데이터베이스 라이브러리는 객체 관계형 데이터베이스 db4o, Firebird, Microsoft SQL Server(MSSQL), MySQL, ODBC(Open Database Connectivity), Oracle, Postgre에 대한 연결을 제공한다.SQL, SQLite 및 기타 여러 가지.모노 프로젝트는 웹사이트에서 개발 중인 데이터베이스 구성요소를 추적한다.[66]

마이크로소프트 호환성 스택은 윈도우즈를 포팅하는 경로를 제공한다.리눅스용 NET 응용 프로그램.이 구성 요소 그룹에는 ADO가 포함된다.네트, ASP.NET, Windows Forms 등.이들 부품은 에크마 표준에서 다루지 않기 때문에 일부 부품은 특허 공포와 우려의 대상으로 남아 있다.

프레임워크 아키텍처

Mono의 주요 구성 요소는 다음과 같다.

코드 실행 엔진

모노 런타임에는 ECMA CIL 바이트 코드를 네이티브 코드로 변환하는 코드 실행 엔진이 포함되어 있으며, 64비트 모드에서는 ARM, MIPS(32비트 모드만 해당), SPARC, PowerPC, S390(64비트 모드), x86, x86-64IA-64 등 다수의 프로세서를 지원한다.

코드 생성기는 다음과 같은 세 가지 모드로 노출된다.

  • JIT(Just-in-Time) 컴파일:런타임은 코드가 실행될 때 ECMA CIL 바이트 코드를 네이티브 코드로 변환한다.
  • AOT(Auth-of-Time) 컴파일: 이 코드는 ECMA CIL 바이트 코드(.exe 또는 .csv 파일에서 찾을 수 있음)를 변환하고 운영 체제, 아키텍처 및 CPU별 파일에 저장된 네이티브 코드를 생성한다(foo.exe 파일의 경우 Linux에서 foo.exe.so를 생성함).이 작동 모드는 일반적으로 런타임에 수행되는 대부분의 코드를 컴파일한다.트램폴린이나 기타 관리 코드와 같은 일부 예외는 여전히 JIT가 작동해야 하기 때문에 허용 정지 시간 이미지는완전히 독립적이지 않다.
  • 전체 정적 컴파일: 이 모드는 소수의 플랫폼에서만 지원되며 After-of-Time 컴파일 프로세스를 한 단계 더 진행하여 프로그램과 정적으로 연결될 수 있는 정적 파일에 필요한 모든 트램폴린, 래퍼프록시를 생성하며 런타임에 JIT의 필요성을 완전히 제거한다.이는 애플의 iOS, 소니의 플레이스테이션 3 및 마이크로소프트의 Xbox 360 운영 체제에서 사용된다.[citation needed]

모노 2.6부터는 모노 자체 코드 생성 엔진 대신 LLVM을 코드 생성 엔진으로 사용하도록 모노를 구성할 수 있다.이는 고성능 컴퓨팅 부하 및 실행 성능이 시동 성능보다 중요한 기타 상황에 유용하다.

Mono 2.7 미리보기부터 구성 시 엔진 하나를 다른 엔진보다 더 이상 선택할 필요가 없다.시작 시 코드 생성 엔진은 를 사용하여 선택할 수 있다.--llvm또는--nollvm명령행 인수. 명령행 인수는 기본적으로 빠른 시작 모노 코드 생성 엔진으로 설정된다.

Mono 5.18부터 LLVM에 대한 지원은 기본 구성 옵션이다.이전 버전에는 특별한 LLVM 포크가 필요했지만, 이제 모노가 LLVM에서 처리하지 않는 것을 발견했을 때 자체 코드 생성기로 되돌릴 수 있다.[67]

가비지 수집기

Mono 2.8을 기준으로, 모노 런타임에는 세대 수집기와 Boemm-Demers-Weiser 보수적인 쓰레기 수집기라는 두 개의 쓰레기 수집기가 선적되어 있다.Boemm 가비지 수집기는 특정 등급의 응용프로그램에서 메모리 누수를 보일 수 있으므로 장기간 실행되는 일부 서버 응용프로그램에 적합하지 않다.[68][69]Mono는 버전 3.1.1에서 기본 수집기로 SGEN-GC(Simple Generation GC)로 전환했다.

SGen 쓰레기 수거기는 전통적인 보수적인 스캐너에 비해 많은 장점을 가지고 있다.보육원에서 새로운 물체가 할당되는 세대 가비지 수집을 활용하는데, 가비지 수집 주기 동안 살아남은 모든 물체가 구세대 메모리 풀로 마이그레이션된다.많은 물체가 일시적이고 빠르게 수집될 수 있으며 소수의 물체만이 애플리케이션의 전체 수명 동안 생존하는 장기 물체라는 개념이다.성능을 향상시키기 위해 이 수집기는 각 스레드에 메모리 풀을 할당하여 스레드가 다른 스레드와 조정하지 않고도 새 메모리 블록을 할당하도록 한다.유아원에서 구세대로의 개체 마이그레이션은 보육원에서 구세대 풀로 데이터를 복사하고 데이터를 가리키는 모든 실시간 포인터를 업데이트하여 새로운 위치를 가리킴으로써 이루어진다.이것은 큰 물체에 비쌀 수 있기 때문에, 모노의 SGen은 큰 물체에 대해 별도의 메모리 풀(Large Object Section)을 사용하고, 그 물체에 대해서는 마크 앤 스위프 알고리즘을 사용한다.[68]

클래스 라이브러리

학급 도서관은 응용 프로그램 개발을 위한 종합 시설을 제공한다.그것들은 주로 C#로 쓰여져 있지만 공통 언어 사양 때문에 어느 누구라도 사용할 수 있다.NET 언어.클래스 라이브러리는 네임스페이스로 구성되며, 어셈블리로 알려진 공유 라이브러리에 배치된다.말이 나와서 말인데.NET Framework는 주로 이 클래스 라이브러리를 언급하고 있다.[70]

네임스페이스 및 어셈블리

네임스페이스는 유사한 클래스를 계층 구조로 논리적으로 그룹화하기 위한 메커니즘이다.이렇게 하면 명명 충돌을 방지할 수 있다.구조는 점으로 구분된 단어를 사용하여 구현되며, 여기서 가장 일반적인 최상위 네임스페이스는 시스템 등 시스템이다.IO 및 시스템.넷. 내게 필요한 옵션과 Windows와 같은 다른 최상위 네임스페이스도 있다.사용자는 네임스페이스 블록 내부에 요소를 배치하여 네임스페이스를 정의할 수 있다.

어셈블리는 클래스 라이브러리의 물리적 포장이다.Win32 공유 라이브러리와 마찬가지로 .dll 파일이다.어셈블리의 예로는 mscorlib.dll, System.dll, System이 있다.Data.dll 및 Accessibility.dll.dll.네임스페이스는 종종 여러 개의 어셈블리에 배포되며 하나의 어셈블리는 여러 개의 파일로 구성될 수 있다.

공용어 인프라 및 공용어 규격

CLR(Common Language Runtime)에서 구현한 CLI(Common Language Infrastructure)는 Mono 실행 파일에 의해 구현된다.런타임은 컴파일하여 실행한다.NET 애플리케이션.공통 언어 인프라는 ECMA 표준에 의해 정의된다.[64]응용 프로그램을 실행하려면 관련 매개 변수를 사용하여 런타임을 호출해야 한다.

CLS(Common Language Specification)는 ECMA-335의 6장에 명시되어 있으며 Enum의 기본 유형과 같은 규약과 같이 CLI에 대한 인터페이스를 정의한다.Mono 컴파일러는 CLS를 준수하는 이미지를 생성한다.이것이 공용 중간 언어다.Mono 런타임은 이 이미지를 가져와서 실행한다.ECMA 표준은 CLS를 프레임워크로 준수하는 라이브러리를 공식적으로 정의한다.

관리 및 관리되지 않는 코드

토착민 내에서.NET/Mono 애플리케이션, 모든 코드가 관리된다. 즉, CLI의 메모리 관리 스타일과 스레드 안전성에 의해 관리된다.기타NET 또는 Mono 애플리케이션은 시스템을 사용하여 관리되지 않는 레거시 코드를 사용할 수 있다.런타임.C# 바인딩을 만들기 위한 InteropServices 라이브러리.Mono와 함께 제공되는 많은 라이브러리에서는 Gtk#와 같은 CLI의 이 기능을 사용한다.

모노 특유의 혁신

Mono는 핵심 C# 및 CLI 사양에 대한 새로운 확장으로 일부 분야에서 혁신했다.

  • C# Compiler as a Service(C# 컴파일러를 라이브러리로 사용).[15]
  • C# 인터랙티브 쉘.[16]
  • Mono의 일부로서 SIMD 지원[14].특수 벡터 유형에 대한 메서드 호출을 기본 프로세서 CPU SIMD 지침에 직접 매핑하는 SIMD 네임스페이스.
  • 의 전체 정적 컴파일.NET 코드[71](Mono/iPhone, Mono/PS3에서 사용됨).
  • 모노 코루틴(주로 게임 개발자를 위해 마이크로 스레딩 코드와 연속성을 구현하는 데 사용됨).[72]
  • 활성 프로세스에 대한 어셈블리 주입.[73]
  • JIT 백엔드로 LLVM 사용.
  • Cxxi와 CppSharp는 C++ 코드와 라이브러리로 직접 인터럽트를 한다.

또한, Mono는 다양한 운영 체제와 아키텍처에서 이용할 수 있다.[74]

시스템 요구 사항

Windows 7, Windows 8, Windows 8.1, Windows 10, MacOS 또는 Linux

관련 프로젝트

몇몇 프로젝트는 Mono를 확장하고 개발자들이 개발 환경에서 그것을 사용할 수 있도록 한다.이러한 프로젝트에는 다음이 포함된다.

교차 플랫폼:

  • 반시 미디어 플레이어(Strateged)는 모노와 Gtk#로 구축된 크로스 플랫폼 음악 미디어 플레이어로, 또한 수십 개의 C# 기반 라이브러리와 미디어 처리 프로젝트의 추진자이기도 하다.
  • 유닉스 시스템 검색 시스템인 비글(유지되지 않음)
  • Gecko#, Mozilla(Gecko)에서 사용되는 레이아웃 엔진을 내장하기 위한 바인딩.
  • Gtk#, 기본 GTKGNOME 라이브러리의 C# 래퍼, C로 작성되고 Linux, MacOS 및 Windows에서 사용 가능.
  • Windows 를 지원하는 도구인 MoMA(Mono Migration Analyzer)NET 개발자들은 자사의 코드에서 교차 플랫폼이 아닐 수 있는 영역을 찾아 Linux 및 기타 Unixes에서 작동하지 않는 영역을 찾는다.Mono 2.8(2013) 이후 업그레이드되지 않음; Microsoft 의 를 사용하십시오.대신 NET Portability Analyzer(dotnet-apiport)를 사용하십시오.
  • MonoCross는 최적화된 사용자 인터페이스를 위해 모델과 컨트롤러가 플랫폼 간에 공유되고 각 플랫폼마다 고유한 뷰-뷰-컨트롤러 설계 패턴이다.그 틀에는 자마린이 필요하다.iOS와 사마린.안드로이드
  • MvmCross, Xamarin을 활용한 크로스 플랫폼 모델모델 프레임워크.iOS와 사마린.모바일 앱 개발을 위한 안드로이드.
  • Mono ASP용 애플리케이션 구축을 지원하는 오픈 소스 및 교차 플랫폼 통합 개발 환경 개발.NET, Gtk#, Meego, MonoTouch and Silverlight/Moonlight.
  • 모노를 이용한 실버라이트의 구현인 문라이트(해체)
  • OpenTK, OpenGL, OpenCL 및 OpenAL의 관리되는 바인딩.
  • QtSharp, Qt 프레임워크용 C# 바인딩.
  • 모바일 클라이언트를 위한 교차 플랫폼 개발 솔루션인 Resco MobileBusiness.
  • Microsoft Dynamics CRM과 동기화된 모바일 클라이언트를 위한 크로스 플랫폼 개발 솔루션인 Resco MobileCRM.
  • ServiceStack은 고성능 오픈 소스 입니다.XML, JSON 및 SOAP 웹 서비스의 개발을 단순화하는 NET REST 웹 서비스 프레임워크.
  • SparkShare 클라우드 스토리지 및 파일 동기화 서비스를 제공하는 오픈 소스 클라이언트 소프트웨어.
  • Tao(Open으로 대체됨TK), 그래픽 및 게임 바인딩 모음(OpenGL, SDL, GLUT, Cg).
  • 기본 플랫폼의 네이티브 플랫폼 호출에 API 호출을 매핑하는 GUI 툴킷인 Xwt는 서로 다른 플랫폼에 걸쳐 하나의 유니파이드 API를 노출하고 그래픽 사용자 인터페이스가 서로 다른 플랫폼에서 네이티브 룩과 느낌을 가질 수 있도록 한다.플랫폼마다 코드를 사용자 정의할 필요 없이 여러 플랫폼에서 실행되는 GUI 기반 데스크톱 애플리케이션을 구축할 수 있다.Xwt API는 지원되는 각 플랫폼의 네이티브 컨트롤 세트에 매핑된다.특정 플랫폼에서 사용할 수 없는 기능은 Xwt 컨텍스트에서 호스팅이라고 하는 네이티브 위젯을 사용하여 에뮬레이션한다.[75]Xwt는 Xamarin Studio 개발에서 GTK# 외에 GUI 도구 키트로 부분적으로 사용되었다.[76]지원되는 "백엔드" 엔진은 Windows(윈도우)의 경우 WPF 엔진 및 Gtk 엔진(Gtk# 사용), Mac OS X의 경우 코코아 엔진(MonoMac 사용) 및 Gtk 엔진(Gtk# 사용),[77] Linux의 경우 Gtk 엔진(Gtk# 사용)이다.

macOS:

  • 코코아# – 기본 MacOS 툴킷(Cocoa) 주위에 포장(사용되지 않음)
  • Monobjc – MacOS 프로그래밍을 위한 바인딩 세트.
  • MonoMac – MonoTouch API 디자인을 기반으로 한 MacOS 프로그래밍용 새로운 바인딩.

모바일 플랫폼:

  • 모노 드로이드.Android 운영 체제용 Mono.Android API용 바인딩 포함.
  • 모노터치.아이폰, 아이패드, 아이팟 터치용 모노.iOS API에 바인딩.

Windows:

  • Visual Studio용 MonoTools 윈도우즈 개발자가 Visual Studio에서 바로 리눅스 및 MacOS를 대상으로 하고 SUSE Studio와 통합할 수 있는 Visual Studio 플러그인.

기타 구현

마이크로소프트는 의 버전을 가지고 있다.이제 공유 소스 CLI(Rotor)로 불리는 Windows XP에서만 NET 2.0을 사용할 수 있다.마이크로소프트의 공유 소스 라이센스는 커뮤니티의 요구에 불충분할 수 있다(상업적 사용을 명시적으로 금지).

무료 소프트웨어 재단에서 폐기된 휴대 전화.NET 프로젝트.[78]

모노 개발

MonoDevelopment는 주로 C# 및 기타 를 위해 설계된 무료 GNOME 통합 개발 환경이다.Nemerle, BooJava와 같은 NET 언어(IKVM을 통해)NET), C, C++, Python, Vala 등의 언어도 지원한다.모노개발은 원래 Gtk#에 이르는 샤프개발의 항구였으나, 이후 모노 개발자들의 요구를 충족시키기 위해 진화했다.IDE는 클래스 관리, 내장 도움말, 코드 완성, Stetic(GUI 디자이너), 프로젝트 지원 및 통합 디버거를 포함한다.

MonoDoc 브라우저는 API 문서와 코드 샘플에 대한 액세스를 제공한다.설명서 브라우저는 위키 스타일의 콘텐츠 관리를 사용하여 개발자가 설명서를 편집하고 개선할 수 있다.

사마린iOS와 사마린.안드로이드

사마린iOS와 사마린.자마린이 개발한 안드로이드는 아이폰용 모노와 안드로이드 기반 스마트폰이다.이전에는 상업용 라이센스에만 사용 가능했지만,[79] 2016년 마이크로소프트가 자마린을 인수한 후, MIT 라이센스[80] 자마린 둘 다에 따라 모노 런타임 자체가 유물화되었다.iOS와 사마린.안드로이드는 무료 오픈 소스로 만들어지고 있다.[81]

자마린.iOS

릴리스 내역
날짜 버전 메모들
2009-09-14 모노터치 1[82].0 초기 릴리즈
2010-04-05 모노터치 2[83].0 iPad 지원
2010-04-16 모노터치 3[84].0 아이폰4 지원
2011-04-06 모노터치 4[85].0 iOS 4 지원
2011-10-12 모노터치 5[86].0 iOS 5 지원
2012-09-19 모노터치 6[87].0 iOS 6 지원
2013-02-20 사마린iOS 6.2[88] Visual Studio 지원
2013-07-24 사마린iOS 6.4[89] .NET 4.5 비동기/대기 지원
2013-06-19 사마린iOS 7.0[90] XCode 5 및 iOS 7 지원
2014-09-10 사마린iOS 8.0[91] iOS 8 및 Xcode 6 지원
2015-09-16 사마린iOS 9.0[92] iOS 9 및 Xcode 7 지원
2016-09-13 자마린.iOS 10.0[93] iOS 10 및 Xcode 8 지원
2017-09-19 사마린iOS 11.0[94] iOS 11 및 Xcode 9 지원
2018-09-14 사마린iOS 12.0[95] iOS 12 및 Xcode 10 지원
2019-09-13 자마린.iOS 13.0[96] iOS 13 및 Xcode 11 지원
2020-09-20 자마린.iOS 14.0[97] iOS 14 및 Xcode 12 지원

자마린.iOS(이전의 명칭은 MonoTouch)는 개발자가 C#와 를 만들 수 있는 라이브러리다.iPhone, iPod 및 iPad 장치에서 실행되는 NET 기반 애플리케이션모노 프레임워크를 기반으로 하며, Novell과 연계하여 개발되었다.모노 어플리케이션과 달리 사마린.iOS "Apps"는 Apple iPhone과 iPad를 특별히 대상으로 하는 기계 코드로 정리되어 있다.[98]이는 iOS 커널이 JIT(Just-in-Time) 컴파일러가 장치에서 실행되지 못하도록 하기 때문에 필요하다.

자마린.iOS 스택은 다음과 같이 구성된다.

  • 컴파일러스
    • 모노 프로젝트의 C#
    • RemObject의 Oxygene과 같은 타사 컴파일러는 Xamarin을 대상으로 할 수 있다.iOS도
  • 핵심 .NET 라이브러리
  • 개발 SDK:
    • Linker – 최종 애플리케이션에서 사용되는 코드만 번들로 구성
    • mtouch – 대상 장치에 배포하는 데 사용되는 네이티브 컴파일러 및 도구
    • 인터페이스 빌더 통합 도구
  • 토착 코코아를 묶는 도서관터치 API
  • 자마린 스튜디오 IDE

Xamarin Studio는 기본 IDE로 사용되지만 Xcode와 iOS 시뮬레이터에 대한 추가 링크가 작성되었다.

2010년 4월부터 9월 초까지는 애플이 아이폰 개발자들에게 C, C++, Objective-C 이외의 언어로 개발을 금지하고, iOS 플랫폼과 아이폰 애플리케이션 사이의 중간층 사용을 명백히 금지하는 새로운 용어를 도입하면서 모노터치의 미래가 불투명해졌다.이로 인해 모노터치와 유니티 등 다른 기술의 미래가 불투명해졌다.[99]그 후, 2010년 9월, 애플은 그들이 그 해 초에 시행했던 언어 제한을 완화하고 있다고 말하면서, 이 제한을 철회했다.[100][101]

사마린안드로이드

사마린안드로이드(옛 안드로이드 포 안드로이드)는 Novell이 처음 개발하고 Xamarin이 계속 개발한 것으로 안드로이드 기반 스마트폰용 모노를 독점적으로[citation needed][102] 구현한 것이다.[103][104][105]2011년 4월 6일에 처음 발매되었다.[106]안드로이드용 모노(Mono)는 개발자들이 모든 모바일 플랫폼에서 실행될 크로스 플랫폼 애플리케이션을 보다 쉽게 작성할 수 있도록 개발됐다.[107]미겔 데 이카자는 H-온라인과의 인터뷰에서 "개발자가 모든 모바일 플랫폼에서 엔진 및 비즈니스 로직 코드를 재사용하고 플랫폼별 API를 위해 사용자 인터페이스 코드를 교환할 수 있도록 하는 것이 우리의 비전"이라고 밝혔다.[108]

2010년 8월 마이크로소프트 오픈소스 테크놀로지 센터의 톰 한라한 대변인은 오라클이 안드로이드의 자바 사용을 놓고 구글을 상대로 제기한 소송과 관련해 "오라클이 자바를 두고 구글을 상대로 취하는 행동의 유형은 일어나지 않을 것"이라고 밝혔다.만약 안드로이드에 대한 .NET 포트가 Mono를 통해서였다면 그것은 마이크로소프트 커뮤니티 약속 협정에 해당될 것이다."[109][110]

자마린.Android 스택은 다음과 같은 구성 요소로 구성된다.

  • 모노 런타임
  • Android UI 디자이너[111]
  • 라이브러리:
    • 핵심 .NET 클래스 라이브러리
    • 기본 Android/Java API를 바인딩하는 라이브러리
  • 패키지, 배포 및 디버그를 위한 SDK 도구
  • UI 설계, 원격 디버그 및 배포를 위한 Xamarin Studio 및 Visual Studio 2010 통합.

면허증

모노는 qt, 모질라 어플리케이션 스위트 등 다른 제품과 유사하게 자마린으로부터 이중 라이선스를 받은 제품이다.Mono's C# compiler and tools are released under the GNU General Public License (GPLv2 only) (starting with version 2.0 of Mono, the Mono C# compiler source code is also available under the MIT X11 License),[112] the runtime libraries under the GNU Lesser General Public License (LGPLv2 only) and the class libraries under the MIT License.이것들은 모두 무료 소프트웨어와 오픈 소스 라이센스들이며 따라서 Mono는 무료 오픈 소스 소프트웨어다.

C# 컴파일러의 라이선스는 GPL에서 MIT X11 라이선스로[113] 변경되어 GPL이 다음과 같은 것을 방지할 수 있는 몇 가지 경우에 컴파일러 코드를 재사용할 수 있게 되었다.

  • 서비스로서의 Mono의 컴파일러
    • 모노 인터랙티브 셸
    • Mono 내장형 C# 컴파일러
  • 모노의 C# 4.0 동적 바인더 구현.
  • MonoDevelops의 내장 파서 및 AST 그래프

2016년 3월 18일 마이크로소프트(MS)의 자마린 인수가 공식 마감됐다.[114]3월 31일 2016년에 마이크로 소프트는 마이크로 소프트는, 완전히는 MIT허가서 아래 이전 상용 면허와 마이크로 소프트는 그들은, 판매, 판매, 수입, 또는 distributi에게 지원하고는 사용하고 있는 정당에 반대하는"특허 적용"을 주장하지 않겠다고 말했다 necessary,[115]다 시나리오에서도 모노 re-license 것을 발표했다.M공개oon."[116][117] 자마린이 에 모노 프로젝트를 기부했다는 사실도 발표되었다.NET Foundation.[116]

모노와 마이크로소프트의 특허

모노로 개발한 소프트웨어

밴시 미디어 플레이어

다양한 어플리케이션을 포괄하는 많은 프로그램들이 모노 어플리케이션 프로그래밍 인터페이스(API)와 C#를 사용하여 개발되었다.리눅스 데스크탑용으로 작성된 프로그램으로는 밴시, 비글, F-스팟, 지브레니, 도키/GNOME 도, 모노토렌트, 핀타, 톰보이 등이 있다.로고스 5 성경공부 소프트웨어(OS X 버전)라는 프로그램은 맥OS를 위해 작성되었다.

The Sims 3 and Second Life(스크립팅 언어용), OpenSimulator 가상 월드 서버 또는 Unity 또는 MonoGame 게임 엔진으로 구축된 게임과 같은 다수의 비디오 게임도 Mono를 사용한다.[118]OpenRA는 자사의 Apple Disk Image 및 Linux AppImages를 Mono와 결합하여 거의 모든 종속성을 게임에서 제거한다.[119]

참고 항목

참조

인용구

  1. ^ https://www.mono-project.com/docs/about-mono/releases/6.12.0.122/; 회수: 2021년 8월 18일.
  2. ^ "Tags · mono/mono · GitHub".
  3. ^ AIX 및 IBM i의 Mono 소개
  4. ^ "FAQ: Licensing". Retrieved 3 July 2020.
  5. ^ "Microsoft to acquire Xamarin and empower more developers to build apps on any device". Official Microsoft Blog. Retrieved 2016-02-24.
  6. ^ "Mono Releases". Mono-project.com. Retrieved 2015-04-04.
  7. ^ "OldReleases". Mono-project.com. Retrieved 2013-07-17.
  8. ^ "Mono 1.0 Release Notes". Mono-project.com. Retrieved 2013-07-17.
  9. ^ "Mono 1.1.1: Development Release". Mono-project.com. Retrieved 2013-07-17.
  10. ^ "Mono 1.2: Release Notes". Mono-project.com. Retrieved 2013-07-17.
  11. ^ "Release Notes Mono 2.0". Mono-project.com. 2008-10-06. Retrieved 2013-07-17.
  12. ^ "Release Notes Mono 2.2". Mono-project.com. Retrieved 2013-07-17.
  13. ^ "Linear IR - Mono". Mono-project.com. Retrieved 2013-07-17.
  14. ^ a b "Mono's SIMD Support: Making Mono safe for Gaming - Miguel de Icaza". Tirania.org. 2008-11-03. Retrieved 2013-07-17.
  15. ^ a b "Mono's C# Compiler as a Service on Windows. - Miguel de Icaza". Tirania.org. 2010-04-27. Retrieved 2013-07-17.
  16. ^ a b "CsharpRepl - Mono". Mono-project.com. Retrieved 2013-07-17.
  17. ^ "Release Notes Mono 2.4". Mono-project.com. Retrieved 2013-07-17.
  18. ^ "Release Notes Mono 2.6". Mono-project.com. Retrieved 2013-07-17.
  19. ^ "Release Notes Mono 2.8". Mono-project.com. Retrieved 2013-07-17.
  20. ^ "Release Notes Mono 2.10". Mono-project.com. Retrieved 2013-07-17.
  21. ^ "Release Notes Mono 3.0". Mono-project.com. Retrieved 2013-09-23.
  22. ^ "Release Notes Mono 3.2". Mono-project.com. Retrieved 2013-09-23.
  23. ^ "Release Notes Mono 3.4". Mono-project.com. Retrieved 2015-04-04.
  24. ^ "Release Notes Mono 3.6". Mono-project.com. Retrieved 2015-04-04.
  25. ^ "Release Notes Mono 3.8". Mono-project.com. Retrieved 2015-04-04.
  26. ^ "Release Notes Mono 3.10". Mono-project.com. Retrieved 2015-04-04.
  27. ^ "Release Notes Mono 3.12". Mono-project.com. Retrieved 2015-04-04.
  28. ^ "Release Notes Mono 4.0". Mono-project.com. Retrieved 2015-05-03.
  29. ^ "Release Notes Mono 5.0". Mono-project.com. Retrieved 2017-05-13.
  30. ^ "Mono 5.2.0 Release Notes".
  31. ^ "Mono 5.4.0 Release Notes".
  32. ^ "Mono 5.8.0 Release Notes".
  33. ^ "Mono 5.10.0 Release Notes".
  34. ^ "Mono 5.12.0 Release Notes".
  35. ^ "Mono 5.14.0 Release Notes".
  36. ^ "Mono 5.16.0 Release Notes".
  37. ^ "Mono 5.18.0 Release Notes".
  38. ^ "Mono 6.0.0 Release Notes".
  39. ^ "Mono 6.4.0 Release Notes".
  40. ^ "Mono 6.6.0 Release Notes".
  41. ^ "Mono 6.8.0 Release Notes".
  42. ^ "Mono 6.10.0 Release Notes".
  43. ^ "Mono 6.12.0 Release Notes".
  44. ^ Bonisteel, Steven (June 23, 2000). "Microsoft sees nothing but .NET ahead". ZDNet. Archived from the original on November 5, 2011. Retrieved April 5, 2011.
  45. ^ "ECMA-335-Part-I-IV - ECMA-335, 1st edition, December 2001" (PDF).
  46. ^ Wilcox, Joe; Shankland, Stephen (June 28, 2001). "Microsoft edges into sharing code". ZDNet.
  47. ^ "[Mono-list] Mono early history". 2003-10-13. Archived from the original on 2011-06-06. Retrieved 2005-03-30.
  48. ^ "OSS .NET implementation Mono 1.0 released - Ars Technica". ArsTechnica. Retrieved 2009-10-23.
  49. ^ "Supported Platforms". Mono website.
  50. ^ Koep, Paul (2011-05-02). "Employees say hundreds laid off at Novell's Provo office". KSL-TV. Retrieved 2011-05-07.
  51. ^ J. Vaughan-Nichols, Steven (2011-05-04). "Is Mono dead? Is Novell dying?". ZDNet. Retrieved 2011-05-07.
  52. ^ Clarke, Gavin (2011-05-03). ".NET Android and iOS clones stripped by Attachmate". The Register. Retrieved 2011-05-07.
  53. ^ "Announcing Xamarin - Miguel de Icaza". Tirania.org. 2011-05-16. Retrieved 2013-07-17.
  54. ^ "The Death and Rebirth of Mono". infoq.com. 2011-05-17. Retrieved 2011-05-29. Even if they aren't supporting it, they do own a product that is in direct competition with Xamarin's future offerings. Without some sort of legal arrangement between Attachmate and Xamarin, the latter would face the daunting prospect of proving that their new development doesn't use any the technology that the old one did. Considering that this is really just a wrapper around the native API, it would be hard to prove you had a clean-room implementation even for a team that wasn't intimately familiar with Attachmate's code.
  55. ^ "SUSE and Xamarin Partner to Accelerate Innovation and Support Mono Customers and Community". Novell. 2011-07-18. Retrieved 2011-07-18. The agreement grants Xamarin a broad, perpetual license to all intellectual property covering Mono, MonoTouch, Mono for Android and Mono Tools for Visual Studio. Xamarin will also provide technical support to SUSE customers using Mono-based products, and assume stewardship of the Mono open source community project.
  56. ^ de Icaza, Miguel (2011-07-18). "Novell/Xamarin Partnership around Mono". Retrieved 2011-07-18.
  57. ^ a b de Icaza, Miguel (2011-03-07). "GDC 2011". Retrieved 2011-03-11. We have no plans on building WPF. We just do not have the man power to build an implementation in any reasonable time-frame(...)For tools that are mostly OpenGL/DirectX based, use Windows.Forms, keeping in mind that some bug fixing or work around on their part might be needed as our Windows.Forms is not actively developed.
  58. ^ "Mono compatibility list".
  59. ^ "Mono Project Roadmap - Mono". Mono-project.com. Retrieved 2013-07-17.
  60. ^ "MoonlightRoadmap". Mono Team. Retrieved 2008-11-08.
  61. ^ "Releasing Moonlight 2, Roadmap to Moonlight 3 and 4 — Miguel de Icaza". Tirania.org. 2009-12-17. Retrieved 2013-07-17.
  62. ^ "Moonlight 3.0 Preview 1 — Miguel de Icaza". Tirania.org. 2010-02-03. Retrieved 2013-07-17.
  63. ^ "Xamarin abandons its Silverlight for Linux technology".
  64. ^ a b "Ecma-335".
  65. ^ "Technet.com". Archived from the original on 2013-06-22. Retrieved 2009-07-07.
  66. ^ "Database Access - Mono".
  67. ^ "Mono LLVM". Mono.
  68. ^ a b "Compacting GC". mono-project.com. Retrieved 2008-12-16.
  69. ^ Boehm, Hans-J. "Advantages and Disadvantages of Conservative Garbage Collection". Xerox PARC. Archived from the original on 2013-07-24. Retrieved 2008-12-16.
  70. ^ ".NET Framework Architecture". official Mono documentation.
  71. ^ de Icaza, Miguel. "Static Compilation in Mono".
  72. ^ "Continuations - Mono".
  73. ^ de Icaza, Miguel. "Monovation: Assembly Injection into Live Processes".
  74. ^ "Supported Platforms - Mono".
  75. ^ Narayanaswamy, Anand (23 Nov 2012). "Build Cross Platform Applications with Xwt". InfoQ. Archived from the original on 2016-04-15. Retrieved 2016-04-15.
  76. ^ de Icaza, Miguel (22 February 2013). "The Making of Xamarin Studio". InfoQ. Archived from the original on 2016-04-15. Retrieved 2016-04-15.
  77. ^ "Xwt Read Me". Xwt on GitHub. 15 Jan 2012. Archived from the original on 2016-04-16. Retrieved 2016-04-15.
  78. ^ "DotGNU Project". Retrieved 2 June 2014.
  79. ^ "FAQ". os.xamarin.com. 2011-08-01. MonoTouch is a commercial product based on the open source Mono project and is licensed on a per-developer basis.
  80. ^ "Mono relicensed MIT". www.mono-project.com. 2016-03-31.
  81. ^ "Xamarin for Everyone". blog.xamarin.com. 2016-03-31. we are announcing today our commitment to open source the Xamarin SDKs for Android, iOS, and Mac under the MIT license in the coming months
  82. ^ de Icaza, Miguel. "MonoTouch 1.0 goes live".
  83. ^ "MonoTouch 2.0.0". Xamarin.
  84. ^ "MonoTouch 3.0.0". Xamarin.
  85. ^ "MonoTouch 4.0.0". Xamarin.
  86. ^ "MonoTouch 5.0". Xamarin.
  87. ^ "MonoTouch 6.0". Xamarin.
  88. ^ "Xamarin.iOS 6.2". Xamarin.
  89. ^ "Xamarin.iOS 6.4". Xamarin.
  90. ^ "iOS 7 and Xamarin: Ready When You Are". Xamarin Blog. 2013-09-18. Retrieved 2021-03-20.
  91. ^ "iOS 8 Bigger and Better with Xamarin". Xamarin Blog. 2014-09-10. Retrieved 2021-03-20.
  92. ^ "Xamarin for iOS 9: Search Deeper". Xamarin Blog. 2015-09-16. Retrieved 2021-03-20.
  93. ^ "Major Updates: iOS 10, Android Nougat, and Other Tasty Bits". Xamarin Blog. 2016-09-13. Retrieved 2021-03-20.
  94. ^ spouliot. "Xamarin.iOS 11.0 Release Notes - Xamarin". docs.microsoft.com. Retrieved 2021-03-20.
  95. ^ spouliot. "Xamarin.iOS 12.0 Release Notes - Xamarin". docs.microsoft.com. Retrieved 2021-03-20.
  96. ^ spouliot. "Xamarin.iOS 13.0 Release Notes - Xamarin". docs.microsoft.com. Retrieved 2021-03-20.
  97. ^ spouliot. "Xamarin.iOS 14.0 Release Notes - Xamarin". docs.microsoft.com. Retrieved 2021-03-20.
  98. ^ "MonoTouch and iPhone 4". Applications built with MonoTouch are native applications indistinguishable from other native applications.
  99. ^ "Apple takes aim at Adobe… or Android?".
  100. ^ "Statement by Apple on App Store Review Guidelines". Based on their input, today we are making some important changes to our iOS Developer Program license in sections 3.3.1, 3.3.2 and 3.3.9 to relax some restrictions we put in place earlier this year. In particular, we are relaxing all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code. This should give developers the flexibility they want, while preserving the security we need.
  101. ^ "Great News for MonoTouch Users". With these new terms, the ambiguity is gone and C# lovers and enthusiasts can go back to using MonoTouch. Developers that like garbage collection and their strongly typed languages can resume their work.
  102. ^ "How is Mono for Android licensed?". Mono for Android FAQ. 2011-08-28. Retrieved 2012-03-29.
  103. ^ "Novell's Mono project bringing .Net development to Android". NetworkWorld.
  104. ^ "Novell's Mono project bringing .Net development to Android". InfoWorld.
  105. ^ "MonoDroid: .NET Support Coming to Android". TechieBuzz.
  106. ^ "Mono for Android brings C# to Android". Heise Online. 2011-04-07. Retrieved 2011-04-07.
  107. ^ "Novell (Mono/C#) is developing MonoDroid". Android Community. This will make it easier for developers to make cross platform apps as well as bring some of the existing apps that are made using MonoTouch to Android.
  108. ^ "Mono for Android". H-Online. Our vision is to allow developers to reuse their engine and business logic code across all mobile platforms and swapping out the user interface code for a platform-specific API.
  109. ^ "Microsoft won't stop (Mono) .NET on Android". TechWorld. The type of action Oracle is taking against Google over Java is not going to happen. If a .NET port to Android was through Mono it would fall under the Microsoft Community Promise Agreement.
  110. ^ "Microsoft says .NET on Android is safe, no litigation like Oracle". Developer Fusion.
  111. ^ "Xamarin Designer for Android". Visual Studio Magazine. On May 14, Xamarin announced Mono for Android 4.2.
  112. ^ "Mono C# Compiler Under MIT X11 License". Novell Inc. 2008-04-08. Archived from the original on 2008-05-13. Retrieved 2008-04-09.
  113. ^ de Icaza, Miguel. "Mono C# compiler now also MIT X11 licensed".
  114. ^ "Xamarin for Everyone". Xamarin Blog. Xamarin. 31 March 2016. Archived from the original on 2016-04-12. Retrieved 2016-04-12.
  115. ^ Anderson, Tim (31 March 2016). "Microsoft to make Xamarin tools and code free and open-source". The Register.
  116. ^ a b Ferraira, Bruno (31 March 2016). "Xamarin now comes free with Visual Studio". The Tech Report.
  117. ^ "Microsoft Patent Promise for Mono". Mono on GitHub. Mono Project. 2016-03-28. Archived from the original on 2016-04-12. Retrieved 2016-04-12.
  118. ^ "Companies using Mono". Mono-project. Mono-project. Retrieved 30 August 2015.
  119. ^ Paul Chote: OpenRA: 플레이테스트 20190825, 2019-08-25

원천

외부 링크