.NET에 대한 의존성을 끝내는 방법은 무엇입니까? [닫은]


10

나는 수년 동안 Windows GUI 응용 프로그램을 개발해 왔으며 2005 년 초에 .NET으로 뛰어 들었습니다. .NET은 의심 할 여지없이 놀라운 플랫폼이며 여전히 사용하고 있지만 다양한 기술을 보유하고 있기를 원하지 않습니다. 이 캠프에 전념했습니다. GUI 응용 프로그램을 개발할 수있는 새로운 언어를 배우고 싶습니다.

Ruby를 배우고 방금 Python을 설치했습니다. Windows GUI 앱 개발을위한 프레임 워크 인 WxRuby에 대해 읽었습니다. 루비에서. 파이썬과 비슷한 프레임 워크를 찾고 있습니다.

그 외에도 프로덕션 레벨 GUI 앱에 어떤 언어가 더 적합한 지 알고 싶습니다. 루비 온 레일즈 (Ruby on Rails)의 매력으로 루비가 웹 플랫폼에 더 집중하고있는 것은 의심 스럽다.

나는 그 풍부한 .NET 클래스와 인상적인 Visual Studio IDE를 얻지 못할 수도 있지만 여전히 여행이 적은 길을 가고 싶습니다. IronPython 및 IronRuby와 함께 가고 싶지 않지만 나중에 언젠가는 손을 explore 수 있습니다.


5
마이크로 소프트가 IronPython과 IronRuby를 무작위로 버리기로 결정한 것은 부끄러운 일이다. 나는 그들이 그렇게하면서 어떤 종류의 방해 메시지가 업계 / 커뮤니티에 보냈는지 실제로 이해하지 못한다고 생각합니다.
Rei Miyasaka

2
@Mahmoud 그들은 그것에 돈을 지출을 중지; 그들은 단지 공동체가 지금 그것을 운영하게합니다. 수석 개발자 인 Jim Hugunin은 더 이상 Microsoft에서 작업 할 수 없었으므로 당연히 회사를 떠났습니다. hugunin.net/microsoft_farewell.html
Rei Miyasaka


9
@Thomas 아직도 도랑입니다. 내가 여자 친구를 버린다고해서 더 이상 존재하지 않거나 더 이상 생존 할 수 없다는 것을 의미하지는 않습니다.
Rey Miyasaka

2
@Rei, 당신이 걱정하는 한, 그녀는 더 이상 존재하지 않습니다 :) Ditched는 MSDOS, FoxPro, VB6, Silverlight, Flight Sim, IronPython 및 IronRuby와 어울릴 수있는 싱글 바에 대한 단방향 티켓입니다. 옛날에 얼마나 많은 사랑을 받았는지 이야기합니다.
gbjbaanb 2016 년

답변:


14

Qt를 확인하십시오.

아마도 .NET만큼 풍부하며 IDE (QtCreator)는 간단하지만 매우 강력합니다. 물론 네이티브 C ++에서 더 잘 사용되지만 Python 바인딩은 완전하고 최신 상태로 유지됩니다.

또한, 실제로 크로스 플랫폼이며 모바일 플랫폼도 포함합니다 :-)


1
Qt를 빌드하기 전에 별도의 컴파일러가 필요하다는 것을 감안할 때 Qt를 네이티브 C ++ 시스템이라고 부르기가 어렵습니다. 그래도 나쁜 시스템은 아닙니다.
Billy ONeal

1
"기계적 언어로 바로 컴파일되고 바이트 코드 / VM / JIT가 없다"는 "네이티브"도 아니라 "플랫폼 에뮬레이션 레이어가없고 결과 코드는 OS에 따라 다릅니다". moc프리 D 파일러는 일부 특정 코너에서 간단한 보이는 코드를 만들기 위해 더 신택스에 비해 아무것도 아니다 (주로 신호 처리); C 전처리 기와 거의 같은 위치에 컴파일 체인에 맞습니다. 특정 C ++ 기능이 컴파일러에서 안정화되기 전에 API 안정화의 역사적 유물입니다.
Javier

공정하게 말해서 moc은 요즘에도 C ++에없는 역 동성을 추가합니다.
Tamás Szelei

6

wxRuby는 멋진 크로스 플랫폼 GUI 툴킷 인 wxWidgets 에 대한 Ruby 바인딩 일뿐입니다 . wxPython이라는 Python에 대한 유사한 바인딩과 다른 많은 언어에 대한 바인딩이 있습니다.


위젯이 있지만 핵심 언어와 얼마나 완벽하게 통합됩니까? 커뮤니티는 얼마나 적극적으로 지원합니까?
RPK

1
@RPK-Python 또는 Ruby와 함께 지정된 GUI 툴킷을 사용하는 상당히 작은 커뮤니티가 있습니다. wxPython 커뮤니티는 Ruby보다 큽니다. Ruby의 커뮤니티는 현재 Rails가 지배하고 있지만 Python에는 더 많은 다양성이 있습니다.
Jeremy

@Jeremy Ruby의 커뮤니티는 Rails가 지배하지 않지만 그것이 부끄럽다는 인식을줍니다.
대안

5

귀하의 질문이 Ruby 또는 Python이 더 나은지 또는 Windows GUI 응용 프로그램을 개발하기 위해 일반적으로 배우고 싶은 다른 언어를 묻는 지 여부로 결정되는지 확실하지 않습니다. 나는 후자를 가정하고 있습니다.

Java, Delphi 또는 기본 Win32 프로그래밍도 있습니다. 이 중 하나는 Windows에서 GUI 앱을 개발하는 데 적합합니다. 네이티브 Win32 코드는 여전히 Visual Studio를 통해 작성할 수 있지만 .NET 종속성은 없습니다.


4
델파이 +1 .NET 수하물없이 빠르고 고유 한 32 비트 Windows 앱을 빌드하십시오. 64 비트 버전은 2011 년 언젠가 출시 될 예정입니다.
tcrosley

1
자바 GUI는 느리다? 그게 어디에서 증명 되었습니까?
Tim Williscroft

9
@Tim Williscroft-SWT는 빠르지 만 대부분의 Swing 앱은 다소 느립니다. 나는 그것을 증명할 필요조차 상상조차 할 수 없다.
제레미

1
@Jeremy 나는 당신의 우수한 지식에 절한다. 나는 너무 당황해서 몇 년 동안 잘못하고 있지만 지금은 알고 있습니다.
Tim Williscroft

2
네이티브 win32는 괜찮습니다. 빠른 개발에는 좋지 않지만 그리 어렵지 않습니다.
Paul Nathan

5

HTML5 및 JavaScript.

나는 농담 있었으면, 하지만 난 아니에요 .

반년 전에 아무도이 답을 얻지 못했다고 생각하는 것은 무섭습니다.

슬퍼...


1 년 전쯤, 나는 Microsoft가 VB6를 목욕물과 함께 버리고 .NET에서도 똑같이 할 수 있다고 프로그래머에 대해 언급했습니다. 누군가 나에게 응답하고 MS가 결코 .NET을 버리지 않을 것이라고 썼다. 깜짝 놀라게! 그래서 저는 자유 소프트웨어와 오픈 소스 커뮤니티를 고수합니다. .NET이 오픈 소스라면 커뮤니티가 프레임 워크를 발전시킬 수 있었기 때문에 MS의 행동은 그다지 중요하지 않았습니다.
systemovich

1
모노가 크게 따라 잡았다. 문제는 주변의 낙인과 정치로 인해 다른 회사가 편하게 입양 할 수 없다는 것입니다. 같은 이야기는 자바에 적용 입니다 썬은 구글을 고소하려고 노력으로, 오픈 소스. 차이점은 구글이 썬이 고소를 기대하지 않았다는 것이다. 누구나 Microsoft가 소송을 제기하기를 기대하므로 맹세하더라도 .NET / Mono / ECMA C #을 피하십시오. 실제로 이것은 오픈 소스와 다른 것에 관한 것이 아닙니다. MS가 머리를 완전히 잃어버린 것입니다. 거의 모든 소프트웨어가 주요 공헌자가 미치거나 지루하거나 개방되거나 열릴 위험이 있습니다.
Rei Miyasaka

+1 브라우저에서 HTML5 및 JS를 기본 데스크톱 애플리케이션으로 바로 이식 할 수 있기 때문에 +1입니다. 이제 웹, 모바일 ( PhoneGap 사용 ) 및 Windows 8이 모두 하나의 오픈 소스 플랫폼 아래에 있습니다!
Raynos 2016 년

1
이 기사의 끝 부분에서는 MS 거대한 개발자 기반을 포기하거나 HTML5 + JS로 모든 코드를 만들지 않을 것이며, 이는 다른 어떤 것보다 PR 개프에 가깝다 것을 암시합니다 .
Scott Whitlock

@ScottWhitlock은 Microsoft가 기존 도구에 대한 지원을 중단하거나 중단하지 않고 사용할 수있는 도구를 확장하는 것입니다. 더 많은 개발자를 Microsoft 에코 시스템으로 끌어들이는 좋은 방법입니다.
Raynos 2016 년

4

하드 코어가 아닌 Microsoft 이외의 비 Apple 사용자는 명령 줄 기반이며 GUI 디자인은 그다지 쓸모가 없습니다. 그들은 어느 정도까지 HTML로 GUI를 손상시키고 브라우저에 의해 소비 될 것이지만, 그것은 클라이언트를위한 것이지 스스로를위한 것이 아닙니다.

GUI 세계에 머물러 있다면 Apple을 보거나 Windows에서 .NET을 유지하고 싶을 것입니다.

맞는 말이다?

HTH


4
이것은 사실이 아닙니다. * nix 세계에서 우리는 GUI를 매우 광범위하게 사용하고 있습니다.
greyfade

@Christopher : 알고 있고 절대적으로 알고 있습니다. 예를 들어, Oracle을 생각해보십시오. 그들은 매우 느린 HTML GUI를 내놓았습니다. 나는 부정적인 것을 찾고 있지 않습니다. 아마도 오라클은 명령 줄을 통해 잘 관리 될 수 있습니다.
RPK

@RPK : IIRC, Oracle 9i에는 GUI 데스크탑 앱인 훌륭한 관리 도구가있었습니다. 나는 그것을 명령 행 관리보다 선호했다. Oracle 10g는 웹 페이지로 구현했지만 거의 좋지 않았습니다.
David Thornley

1
GTK는 Linux 데스크톱에서 매우 인기가 있으며 다른 GUI 툴킷이 있습니다. 많은 작업에 터미널을 사용하더라도 GUI없이 데스크탑을 실행하는 것이 일반적이라고 생각하지 않습니다. * nix 서버이지만 일반적으로 명령 줄을 통해 모든 작업을 수행합니다.
제레미

2
그 말과 비슷하기 때문에 +1입니다. 일반적으로 GUI 프로그래밍은 웹 응용 프로그램과 관련이 있습니다. 나는 직관적이고 단순하며 명백하게 만들어서 디자인 정도를 작동시키기 위해 의식적인 노력을 기울이고 있지만 내 자신의 컴퓨팅 경험은 80 % 이맥스, 15 % 브라우저, 6 % 기타 (1 %의 마진) .
Inaimathi

3

귀하의 상황에서 Java를 권장합니다.

원인:

  • .NET을 알고 있다면 Java에 비교적 익숙 할 것입니다 (C #은 주로 Java에서 영감을 얻었으며 많은 규칙과 라이브러리 이름은 매우 유사합니다)
  • Java에는 인상적인 GUI 기능이 있습니다 (일반적으로 널리 인정되지는 않더라도). 최고의 크로스 플랫폼 GUI 툴킷은 Swing (일관된 모양과 느낌을 가진 완전히 크로스 플랫폼 임)과 SWT (이클립스에서 사용되는 기본 구성 요소를 사용함)입니다. JavaFX 2.0은 미래에도 유망한 것으로 보입니다.
  • 둘 다를위한 많은 "GUI builder"유형 도구가 있습니다 (일반적으로 Netbeans 또는 Eclipse 용 IDE 플러그인으로 사용 가능)
  • 아마도 개인적인 취향의 문제 일 수도 있지만 Netbeans 또는 Eclipse는 Visual Studio보다 전반적으로 더 나은 IDE이며 다른 언어 또는 플랫폼보다 볼 수 있습니다.
  • Java 플랫폼 / 생태계는 특히 오픈 소스를 선호하는 경우 매우 다양한 라이브러리 및 도구가 될 수있는 훌륭한 장소입니다.

또는 모험심이 느껴지면 Scala 또는 Clojure와 같은 새로운 혁신적인 JVM 언어 중 하나를 사용해보십시오.


3
또한 Java 개발자는 소프트웨어를 작성하는 올바른 방법을 더 많이 사용하는 경향이 있으며, 더 많은 .NET 직원은 디자인 패턴, SOLID 등을 적용하지 않고 코드를 슬링합니다.
Wayne Molina

-1

파이썬은 GUI에서 잘 작동합니다. PyQt, PyGTK, WxPython 등을 살펴볼 수 있습니다. GUI 개발 (Linux에서)에 적극적으로 사용되고 크로스 플랫폼이라고합니다.


-4

IronRuby 및 IronPython과 같이 .Net 런타임에서 작동하는 다른 프로그래밍 언어를 살펴보십시오. 그런 다음 모노 프로젝트를 확인하십시오 .

이 단계는 .Net 컴포트 영역을 벗어나 Linux에서 개발하는 데 도움이됩니다. 거기서부터는 완전한 유닉스 스타일 개발로의 작은 도약입니다.


5
-1 "IronPython 및 IronRuby와 함께 가고 싶지 않다"라는 질문에 언급되어 있기 때문에
Inaimathi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.