2008-09-29 6 views
3

저는 현재 SuSE 및 Windows에서 모노를 사용하고 테스트하는 C#으로 데스크톱 응용 프로그램을 개발하고있었습니다. 이 개념은별로 중요하지 않지만 웹 사이트를 스캔하고 보안 및/또는 브라우저 호환성을 통해 가능한 문제를 반환하는 "웹 린트 (lint)"프로그램입니다. 그러나 여러 플랫폼에 바이너리를 제공 할 수 있기를 원합니다. Mono와 함께 있어야할까요, 아니면 Mac, Windows, Linux 및 다른 플랫폼 (모바일 플랫폼 일 가능성이 있습니다)과 같은 플랫폼의 더 나은 가용성을 제공하는 다른 플랫폼이 있습니까?다중 플랫폼 개발

답변

2

C# 및 Mono는 대부분의 데스크톱 환경에서 충분히 크로스 플랫폼입니다. 트릭은 "모바일 플랫폼"요구 사항입니다.

모바일 운영 체제는 매우 다양하며 일반화하기 위해 할 수있는 일이 많지 않습니다. 일부는 블랙 베리와 같은 Java를 사용합니다. C#을 사용하면 Windows Mobile 기반 플랫폼으로 이동할 수 있습니다. iPhone은 자신의 일을합니다. 당신은 꽤 많은 플랫폼을 골라야합니다. 결국 데스크톱 플랫폼 선택에 대한 정보가 제공 될 수 있습니다.

1

Java는 Windows, Linux 및 Mac에서 실행됩니다. C#에서 전환하기 쉬워야합니다. - 스캐닝중인 웹 콘텐츠를 잡기 위해 Apache HTTPClient를 사용하고, 스캐닝 코드가 어느 정도 동일해야합니다. 그러나 단점은 사용자가 Java 런타임을 설치해야한다는 것입니다.

파이썬은 또 다른 옵션입니다. Windows 용 독립 실행 파일을 빌드 할 수 있으며, 기본적으로 대부분의 Linux 배포판과 Mac OS X (표제 필요)가 함께 제공됩니다.). 이것은 Windows 사용자에게 훨씬 덜 번거 롭습니다 (언어는 실행 파일로 컴파일되고 다른 다운로드는 필요하지 않습니다).

모노가 Mac OS X에서 실행되는 경우 반드시 좋은 플랫폼이라고 할 수 있습니까?

3

글쎄, 항상 모든 플랫폼에 실제로 존재하는 언어를 사용하는 것이 가장 좋습니다. 그 말은 보통 Java를 의미합니다. 심지어 Perl조차도 모바일 플랫폼 (문제의 모바일 플랫폼에 따라 다름)에 대한 맛이 있습니다.

저는 C와 Perl에서 크로스 플랫폼 작업을 대부분하지만, C (많은 ifdef의 것)가있는 두통이 있으며, 펄은 모바일 플랫폼에 없을 수도 있습니다 (아직). 타겟으로하고 싶은 모든 플랫폼에 공통적 인 언어/컴파일러/인터프리터를 평가 한 다음 해당 목록에서 선택해야합니다. 이러한 플랫폼의 전체 목록을 모르는 상태에서 우리는 사용하기에 어려움을 겪을 것입니다. Java는 강력한 후보가 될만한 윙윙 거리는 단어입니다.

0

정말로 원하는대로 달라집니다. 웹 개발의 경우, HTML/JavaScript가 충분하다면 계속 사용하십시오. 만약 당신이 이미 알고 있기 때문에 당신은 Mono와 ASP.NET을 사용했을 것입니다. (여기서 Visual Studio를 사용할 수 있습니다.)

Silverlight를 사용하는 다른 옵션 (C# 개발자이므로)이 될 수 있습니다. Windows 및 Mac 플랫폼이 제공되며, 나중에 Moonlight이 Linxu 플랫폼을 지원합니다. Visual Studio 및 Expression Blend는 여기에서 사용할 수 있습니다.

데스크톱 응용 프로그램이 필요한 경우 C#을 이미 알고 있으므로 Java가 가장 쉽습니다. 그러나 C/C++를 알고 있다면 예를 들어 wxWidgets을 살펴보십시오.

3

C++에서 알 수 있듯이 Qt에는 많은 플랫폼이 포함됩니다.

2

Mono에 충실하기 만하면 Gendarme 코드 검사기 (Mono 용 FxCop)에서 코드의 이식성 문제를 확인했는지 확인해야합니다.

0

전통적인 C#/Java로 제한하는 이유는 무엇입니까?Adobe AIR 및 Microsoft SilverLight 살펴보기