완전한 개발 플랫폼으로서의 Linux?

완전한 개발 플랫폼으로서의 Linux?

Fedora Linux에서 다음을 수행할 수 있도록 만들고 싶습니다.

  1. 다른 OS를 설치할 필요 없이 완전한 개발 플랫폼을 위해 Linux를 사용하지만 여전히 다른 플랫폼에서 프로그램을 빌드하고 테스트할 수 있습니다.

  2. Office, Paint, Remote Desktop 등의 다른 모든 작업을 위해 Windows 시스템을 완전히 교체합니다.

위의 목표를 달성하기 위한 오픈 소스 프로젝트와 도구를 제안할 수 있습니까?

답변1

"플랫폼"을 정의하십시오. 크로스 컴파일을 사용하여 Linux에서 빌드하는 것이 가능하더라도 실제로 운영 체제를 실행하지 않고는 Windows 또는 Mac에서 사용하기 위한 소프트웨어를 합리적으로 테스트할 수 없습니다. 다른 운영 체제에서의 실제 테스트를 위해서는 VMware가 훌륭한 도구입니다.

질문의 두 번째 부분은 아마도 완전히 별개의 질문이어야 합니다. 그러나 OpenOffice.org 또는 Google Docs를 사용하여 MS Office, Pinta 또는 GIMP를 대체하거나 Paint, VNC 또는 Empathy+Vinagre를 대체하여 원격 데스크톱 등을 대체할 수 있습니다.

좀 더 구체적인 사용 사례를 제공하면 이러한 질문에 답하는 것이 더 쉬울 것입니다.

답변2

시스템 프로그래머, 웹 개발자, 데스크톱 애플리케이션 개발자 등 크로스 플랫폼 개발을 쉽게 수행할 수 있습니다. 시스템에 관심이 있다면 Linux용으로 작성한 모든 유틸리티 및/또는 드라이버는 최소한의 수정만으로 다른 *nix에서도 잘 작동할 가능성이 높습니다. 표준 C 코드를 작성하고 시스템 특정 호출을 너무 많이 사용하지 않는다면 Windows로 쉽게 포팅할 수도 있습니다.

데스크톱 애플리케이션 개발자라면 GTK, QT 또는 wxWidgets를 대상으로 할 수 있으며 앱은 현재 주요 3개 플랫폼(*nix, Windows, Mac)에서 잘 작동할 것입니다. 다시 말하지만, 시스템별 호출을 최소한으로 유지하거나 시스템별 호출을 래퍼 라이브러리로 격리하세요. 애플리케이션이 전반적으로 작동할 수 있도록 하는 JVM 및/또는 CLR과 같은 가상 머신을 대상으로 호출할 수도 있습니다.

당신이 웹 개발자라면 선택할 수 있는 대안이 너무 많아질 가능성이 높습니다. 나는 다음과 같은 작은 웹 서버를 선호합니다.체로키어그리고 PgSQL 백엔드를 사용하는 ASP.NET(모노) 및 Django 앱을 개발하고 실행합니다.

따라서 결론은 대상 플랫폼에서 코드를 컴파일할 수 있고 코드를 작성하는 동안 또는 VM을 대상으로 하는 경우 이를 염두에 둔다면 Linux에서 크로스 플랫폼 개발을 수행할 수 있다는 것입니다. 또 다른 요점은 다음과 같은 문제가 발생할 수 있다는 것입니다.선택의 역설무엇을 사용해야할지 모르겠습니다. 이에 대해서는 두 번째 질문에 대한 내 대답을 아래에서 읽어보십시오.

두 번째 질문에 관해 제가 찾은 최고의 리소스는 다음과 같습니다.오픈 소스 대안. 이 웹사이트에는 상용 소프트웨어와 오픈 소스 대안이 나열되어 있습니다. 거의 모든 대안은 Linux 및 FreeBSD에서 실행됩니다.

답변3

아아아아아, 1위는 정말 대단한 분이군요. 이 목표를 달성할 수 있는 방법이 있는지 모르겠습니다. 다른 *nixes로 크로스 컴파일할 수 있습니다(약간의 두통과 함께) 개발 상자에 있지만 적절한 OS 및 아키텍처 없이 해당 코드를 정확히 어떻게 실행해야 합니까? 광범위한 진출이 이루어지고 있습니다.시스템 에뮬레이션하지만 궁극적으로 이것은 덩어리입니다. OS/아키텍처에서 소프트웨어를 테스트하려면 해당 OS/아키텍처에서 실행하세요!

반면에, 동일한 프로젝트를 광범위한 구성으로 간단하게 구축할 수 있는 도구가 있습니다. Cmake아마도 가장 잘 알려져 있고 잘 테스트된 것일 것입니다. 최소한 이는 다른 시스템에서 프로젝트를 테스트하는 데 도움이 되거나 다른 사람들이 대신 그렇게 하도록 권장할 것입니다.

운임으로 말하면 다른 운영 체제에서도 이것이 불가능하다고 확신합니다.

#2는 훨씬 더 쉽습니다

그리고 계속해서. 더 많은 도움을 드리고 싶지만 귀하의 질문에 대한 예리함은 급격히 떨어졌습니다.

답변4

모노개발개발 측면을 다루는 데 도움이 될 수 있어야 합니다.

MonoDevelop은 주로 C# 및 기타 .NET 언어용으로 설계된 IDE입니다. MonoDevelop을 사용하면 개발자는 데스크톱 및 ASP.NET 웹 애플리케이션을 신속하게 작성할 수 있습니다.리눅스, 윈도우그리고맥 OS X. MonoDevelop을 사용하면 개발자가 Visual Studio로 만든 .NET 애플리케이션을 Linux로 쉽게 이식하고 모든 플랫폼에 대해 단일 코드 기반을 유지할 수 있습니다.

(강조는 제가 했습니다)

관련 정보