developer tip

Linux 용 Xamarin으로 개발

copycodes 2020. 11. 18. 09:19
반응형

Linux 용 Xamarin으로 개발


동일한 코드 기반으로 Xamarin을 사용하여 Linux 애플리케이션을 개발하고 빌드 할 수 있습니까?
우분투에서 몇 년을 보낸 후 지금의 주요 OS는 다시 Windows입니다. 하지만 불가능한 것은 아닙니다. Mac으로 전환 할 수 있습니다.

Rigth는 이제 Qt에 대한 경험이 있고 Xamarin에 대한 경험이 없습니다. Qt를 사용하면 Windows, Linux 및 Mac과 Windows, Linux, Mac, iOS, Android, Windows Mobile 등에서 개발할 수 있습니다. Xamarin은 현재 무료이며 오픈 소스이며 Qt에 대한 경험이 많지 않기 때문에 Qt 대신 교차 플랫폼 개발을 위해 Xamarin을 사용해 볼 것을 고려하고 있습니다.

내 소프트웨어를 Linux 용으로 출시 할 수 없다는 것은 나에게 거래를 방해 할 수 있습니다. Linux에서 개발할 수 있다는 것은 좋지만 선택 사항입니다. 그러나 모든 Google 조사 끝에 Linux가 아닌 Linux에서 개발할 수 있도록 지원을 요청하는 정보와 사람들 만 찾을 수있었습니다.

내가 아는 한 이것은 Mono 단독으로는 문제가되지 않아야합니다. 하지만 내가 Xamarin> Mono를 아는 한, Mono에서 모든 것을 얻지는 못했지만 Xamarin에서 얻을 수있었습니다. 또한 앞으로 Mono가 얼마나 잘 지원 될지 모르겠습니다. 저에게는 Xamarin이 Mono 자체보다 Microsoft에서 훨씬 더 중요한 것 같습니다. Xamarin이 Mono를 기반으로하기 때문에 가능한지 확실하지 않지만 Microsoft가 어떤 시점에서 Xamarin과 같은 방식으로 .NET 호환성이있는 Mono를 지원하지 않거나 Mono를 독립 실행 형으로 완전히 취소하지 않기로 결정하는 것이 가능할까요?

따라서 저는 신뢰할 수있는 모든 데스크톱 및 모바일 플랫폼에 대한 단일 프레임 워크를 찾고 있으며 Xamarin 및 / 또는 Mono 및 / 또는 Xamarin + Mono가 Qt의 대안이 될 수 있는지 알고 싶습니다. 그 두 가지 솔루션.


아니요, Xamarin은 Linux에서 사용할 수 없습니다. 이것은 몇 년 전 Xamarin 팀이 내린 의식적인 결정 이었습니다 .

Miguel de Icaza 2011-08-04 11:52:37 UTC

여기서 QA 문제가 발생합니다.

Linux 지원의 문제점은 대부분의 Linux 배포판이 Mono와 관련하여 약간 떨어져 있기 때문에 우리가 제공하는 모든 비트에 대해 자체 포함 된 Mono 패키징을 만들어야한다는 것입니다.

또한 "Linux"를 광고하면 Linux 배포판과 각 배포판의 버전이 다르기 때문에 12 가지 조합을 QA해야합니다.

아마도 우리는 단일 배포판과 단일 버전 만 지원할 것입니다. 이는 오늘날 Windows / Mac에서 수행해야하는 작업에 더 가깝습니다.

명확히하기 위해 Xamarin 제품군은 Linux (Xamarin Studio, Xamarin.iOS 및 Xamarin.Android)에서 사용할 수 없지만 Xamarin Studio의 기반 인 MonoDevelop과 크로스 플랫폼 .NET 런타임 인 ​​Mono는 확실히 사용할 수 있습니다.

MonoDevelop을 사용하여 데스크탑 소프트웨어를 구축 할 수 있습니다. MonoDevelop 사이트에는 시작에 대한 많은 지침이 있습니다.


다른 사람이이 질문 / 답변을 건너는 경우 : 상황이 변경되었습니다. Xamarin.Forms 3.0에서는 Gtk #이 지원됩니다 (현재 미리보기). 따라서 전체 Linux GUI 지원이 활성화됩니다.

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/gtk?tabs=vswin

따라서 Xamarin은 이제 다음을 다룹니다.

  • 기계적 인조 인간
  • iOS
  • Windows Mobile
  • Windows 데스크톱 애플리케이션
  • Linux Gtk 데스크톱 애플리케이션

남은 것은 Xamarin의 일부인 JS / HTML5 웹 앱 대상 플랫폼입니다. :)


Xamarin Forms가 Linux 배포판에서 작동 할 가능성이있는 것 같습니다. reddit 스레드에서 Miguel de Icaza는 다음과 같이 말합니다.

우리 팀원 중 일부는 실제로 Linux에서 개발합니다. 우리가 Linux 도구를 출시하지 않은 이유는 우리가 많은 비용을 청구했고 사람들이 소프트웨어가 완전히 지원 될 것이라고 정당하게 기대했기 때문입니다. 우리는 Mac과 Windows 사용자를 만족시키기에 충분했고, 알 수없는 수의 Linux 배포판을 추가하는 것은 어려운 작업처럼 들렸습니다. 이제 우리는 SDK를 오픈 소싱하고 있으며 특정 Linux 구성에서 작동하지 않는 것이 있어도 더 이상 기분이 나 빠지지 않을 것이므로 Linux 빌드를 출시하게되어 기쁩니다.

즉, Forms가 오픈 소스 도구라는 사실이 현재 이러한 가능성을 열어줍니다.


https://github.com/0xFireball/xamarin-android-linux

matthewrdev가 말했듯이 Xamarin.Studio, Xamarin.iOS 및 Xamarin.Android는 "공식적으로"지원되지 않습니다. 그러나 Xamarin.iOS는 어쨌든 가상 에뮬레이터를 사용합니다 (그리고 Linux에서 실행되는 Xamarin.iOS에 대한 해결 방법이 없다고 생각합니다), 그러나 Xamarin Studio (Linux의 MonoDevelop 또는 Jetbrain의 Riders (Linux에서 실행하는 방법) 공식적인 지원은 링크에도 제공되지 않습니다.) Linux에서 Xamarin.Studio의 대체로 실행할 수 있으며, 제가 공유 한 링크는 Linux에 Xamarin.Android를 설치하는 방법을 설명하므로 Xamarin.iOS의 경우에만 마이그레이션해야합니다. 이중 부팅 또는 sth, 도움이되기를 바랍니다! (저는 Xamarin 사용을 중단했지만이 환경은 Linux에서 Xamarin 개발에 도움이됩니다!)


예, 2018 년 중반부터 "Xamarin.Forms"라이브러리를 사용하여 windows / mac / linux / android / ios를 대상으로하는 크로스 플랫폼 GUI 애플리케이션을 개발할 수 있습니다. 기본적으로 크로스 플랫폼 코드 (UI 및 기타 크로스 플랫폼 항목)에서 하나의 공유 라이브러리 프로젝트가 있고 플랫폼 별 코드를위한 플랫폼 당 하나의 프로젝트가 있습니다 (Xamarin.Forms에는 각 플랫폼에 대해 하나의 백엔드 구현이 있습니다. Linux에서는 GTK를 사용합니다. ).

그러나 MonoDevelop을 사용하면 크로스 플랫폼 프로젝트와 애플리케이션의 Linux 관련 프로젝트 만 개발 / 빌드 할 수 있습니다. 다른 플랫폼 용으로 개발 / 빌드하려면 여전히 Visual Studio 또는 Rider를 사용해야합니다.

다음 답변을 참조하십시오 : https://stackoverflow.com/a/53317021/298005

참고 URL : https://stackoverflow.com/questions/36492583/developing-with-xamarin-for-linux

반응형