2009-07-30 4 views
0

현재 .Net 프로젝트에서 일하고 있지만 대학에서는 Java에 대한 좋은 배경이 있습니다. 최근에 다중 플랫폼 언어 (예 : Java 또는 Scala 기반 VM)가 증가하지 않고 있다면 자신에게 묻습니다.멀티 플랫폼 언어 (데스크톱)가 증가하고 있습니까?

때문에 특히 데스크톱 응용 프로그램이 있었다 과거에 한 번 태양 WORA 쓰기를 보라 어디 한 번 쓰기로 다시 표현했다 원칙, 사방 TEST를 실행할 수 있습니다/여전히 Windows 도메인입니다. 그러나 마지막 년은 매우

  • 리눅스 같은 몇 가지 변화가
  • 네이티브보기 & 자바
  • 에 대한 SWT/JFace는 덕분에 기분이
  • 맥 OS 더욱 인기를 얻고있다 드라이버 지원 및 usabilty에서 상당히 개선이 있었다 많은 시간을 절약하고

그래서 풍부한 경험을 제공

  • 리치 클라이언트 프레임 워크 (RCP와 넷빈즈), 멀티 plattforms에 대상 응용 프로그램을 만드는 것은이어야한다 합리적인 방법. 예를 들어, 중소 기업이 Linux를 사용할 수있는 경우 Windows/Mac에 많은 돈을 지불해야하는 이유는 무엇입니까? (정직하게 말하자면, 게이머가 아닌 경우 Windows가 필요하지 않습니다.)). 그리고 그 회사는 자기 회사에서 운영하는 소프트웨어를 선호 할 것입니다 (예를 들어, CEO는 맥을 가질 수 있습니다. 왜냐하면 그 회사는 감당할 수는 있지만 동일한 앱이 필요하기 때문입니다). Eclipse RCP는 예를 들어 제공 할 수 있으며 실제로는 WORA입니다.

    저는 C#에서 일하는 것을 좋아하지만, 1-2 년 동안 저는 작은 회사를 원할 때 리눅스를 사용할 것입니다. 개발은 아마도 방금 작성한 것에 집중할 것입니다. 다른 사람들이 생각하고있는 것을 알고 싶을뿐입니다 (어쩌면 마음이 바뀔 수도 있습니다).

    Linux 대 Windows vs Mac에서 전쟁을 시작하지 마십시오. 처음 두 개는 사용합니다. 멀티 플래트 폼이 미래를위한 좋은 방법 일 경우 또는 단일 플랫폼 (특수 기능)의 장점으로 더 많은 이득을 얻는 경우에만 해당됩니다.

  • +0

    "멀티 플랫폼 언어 (예 : Java 또는 Scala와 같은 VM)가 데스크톱 영역에서도 증가하지 않는다고 생각합니까?" 그건 진짜 문장이 아니에요. 그리고 이것은 커뮤니티 위키이어야합니다. – samoz

    +0

    동의, 커뮤니티 위키. – CookieOfFortune

    +0

    커뮤니티 - 위키? 내가 어떻게 할 수 있니? – lostiniceland

    답변

    4

    몇 년간 멀티 플랫폼 응용 프로그램을 작성한 Qt 컨설팅 회사에서 일하고 있으며 Windows/Linux/Mac 용 클라이언트를 제공하는 회사에서 OSX 및 KDE의 포트에서 일하고 있습니다.여러 플랫폼을 지원에서 얻을

    명백한 이점은 다음과 같습니다 그들이 그렇게 당신이 모집 할 수 원하는대로 플랫폼 (입 지원의 블로그, 워드 포함) 틈새 지역 사회에서

    • 친선는
    • 귀하의 개발자가 작업 할 수 있습니다 그들보다 쉽게 ​​
    • 여러 플랫폼

    단점에 테스트 할 것 같은 아마 약간 덜 버그가 될 것입니다 귀하의 응용 프로그램 :

    • 포장/유통/지원 당신은뿐만 아니라
    • 서면 만약 OS의 백엔드 기능에 훅하는 경향이하지 않는
    • 일부 플랫폼은 쉽게 무시 얻을 수있는
    • 고통의 큰된다 GUI 응용 프로그램을 사용하면 플랫폼 별 조정 작업이 많거나이 작업에 도움이되는 툴킷을 사용하지 않는 한 어떤 플랫폼의 HIG도 실제로 충족시키지 못하는 무언가로 끝나기 쉽습니다. Qt)

    나는 아직도 가치가 있다고 생각하며 응용 프로그램의 미래라고 생각합니다. 실제로, 시장을 단일 플랫폼의 사용자로 제한 할 필요가 없으며 신흥 시장에서 Linux가 거대하기 때문에 시간이 지남에 따라 애플리케이션을 실행할 수 있다는 점을 감안할 때 충분하고 우수한 고급 기술이 있습니다. . (

  • Qt는
  • 자바
  • 웹 응용 프로그램 (.NET 또는 모노로)

    • 어도비 에어
    • C 번호 :

      크로스 플랫폼 솔루션은 내가 좋은 효과를 사용 봤어요 분명히)

  • +0

    덕분에 특히 dowsides. – lostiniceland

    +0

    문제 없습니다. 나는 세 가지 플랫폼을 모두 일과 게임을 위해 정기적으로 사용하므로 조금 배웠다. 이 점에 대해 더 많이 말하고 싶다면 이메일로 큰소리로 말하십시오 (프로필에서 링크 된 내 웹 사이트에서 세부 정보를 찾을 수 있습니다). –

    0

    체크 아웃 모노 http://www.mono-project.com/Main_Page을 당신이 자바

    YMMV

    +0

    Mono는 실제 .NET 3.5에 상당히 뒤쳐져 있습니다. (최신 릴리스는 .Net 2.0 기능을 갖추고 있습니다) – lostiniceland

    +0

    나는 여전히 "상승 중"으로 간주 될 수 있다고 생각합니다. –

    +0

    사실 :. MS가 자신에게이 작업에 약간의 노력을 기울이는 것은 좋을 것입니다. 그러나 물론 주요 수익은 운영 체제를 판매하여 생성됩니다 – lostiniceland

    0

    당신이 개발 수십만 달러 (또는 수백만) 지출하려는 경우 선호하는 경우 C#

    사용 SWT (http://www.eclipse.org/swt/)를 좋아하는 경우 응용 프로그램의 경우 가능한 한 많은 시스템에서 실행될 수 있어야합니다. 불과 몇 년 전, 플랫폼은 플랫폼에 따라 많은 기능을 가지고 있었지만, Mono와 같은 플랫폼 간 컴파일러의 가용성으로 이러한 구별은 급속히 사라졌습니다.

    0

    모두 당신이 개발하는 소프트웨어의 활동 영역에 달려 있습니다 ... 최종 사용자가 멀티 패턴을 사용하려고 계획 중이거나 그렇게 할 계획이라면 신경 써야합니다! 그렇지 않은 경우 고객이 사용하는 판재를 사용하여 개발할 수 있습니다.

    물론 모든 고객이 Windows에 있더라도 MacOS에서 더 많은 생산성을 발휘할 수 있습니다.하지만 다른 질문입니다!

    1

    그래,이 일이 일어나고 있지만 매우 느린 과정입니다.

    추세를 UCSD Pascal P 시스템으로 추적 할 수 있습니다. 90 년대에는 JVM이 있고 naughties에는 CLR이 있습니다. 이 새로운 VM은 각각 제 3 자의 많은 언어를 지원합니다. 예를 들어 Python은 오랫동안 자체 VM을 보유하고 있었지만 Jython이라는 JVM에서 실행되는 버전과 .NET의 CLR에서 실행되는 Iron Python이라는 버전으로 제공됩니다.

    여러 언어로 타겟팅되는 다른 VM이 있습니다. Parrot VM은 처음에 Python 및 Perl 6 용으로 작성되었습니다. Reia 언어는 Erlang의 BEAM VM에서 실행됩니다. 나는 다른 예제가 있다고 확신한다. 그 꼭대기에

    , 10 년 두에 대한 크로스 플랫폼이었다 스몰 토크와 같은 많은 언어 등 펄, 루비,

    의 초기 버전이이 장기의 모든 종류입니다 지각 변동. 컴퓨터가 더 빨라지고 컴퓨터를 사용하는 많은 작업이 빨라질 필요가 없다는 사실에 힘 입은 것입니다. 그래서 우리는 고급 언어를 사용하여 과거에 의미가 없었던 이러한 작업을 수행하는 프로그램을 작성할 수 있습니다.80 년대 초, 성공적인 새로운 워드 프로세서는 어셈블리 언어로 작성되었습니다. 90 년대에는 C. 투데이, 자바 스크립트.

    0

    일반적으로 사용자는 네이티브 애플리케이션처럼 보이고 작동하는 앱을 선호합니다. 많은 크로스 플랫폼 프레임 워크는 네이티브 을 모방하는데 매우 뛰어납니다.. 앱이 네이티브를 느끼지 않는다면 (비평가 툴킷에서 약간의 특이점을 통해), 평론가가 당신을 그것에 대해 영원히 이길 것입니다.

    또한 플랫폼 간 툴킷 사용의 문제는 실제로 타겟팅하는 응용 프로그램 도메인에 따라 다릅니다. 예를 들어 동영상으로 작업하는 경우 사용자 환경이 우수한 교차 플랫폼 앱을 만드는 것이 매우 어렵습니다. 반면 기업 내부에서 일반적으로 사용되는 CRUD (Create-Update-Delete) 앱은 크로스 플랫폼 언어/툴킷으로 개발하기에 적합한 후보입니다.

    또한 내부에 배포 된 응용 프로그램에 Java가 널리 사용되는 이유 중 하나는 Java Web Start를 통해 업데이트를 쉽게 배포 할 수 있다는 것입니다. C#에도 비슷한 업데이트 기술이 있다고 생각합니다. 그러나 일단 비즈니스 영역을 벗어나면 대부분의 사용자는 Java Web Start 응용 프로그램에서 벗어날 것입니다.

    관련 문제