[질문] 윈도우 폼 개발 언어 선정에 도움을 얻고 싶습니다
안녕하세요!
계속 리눅스만 다뤄오다 이번에 윈도우 어플을 개발해야 할 일이 생겨서 고민중입니다.
처음엔 아무생각 없이 요즘 C#이 좋다고 하니 C#으로 하면 되겠지.. 란 생각으로 바로 C#으로 개발을 했습니다.
그런데 어느정도 완성하고 다른 컴터에 테스트하려고 돌려보니 닷넷 프레임워크란게 필요하더군요.
뭐 자동 설치까지 해 주긴 하지만 설치하는데 10분은 족히 걸리는것 같습니다.
( 테스트용 컴퓨터는 사양이 좀 낮아서 그런지 2~30분 넘게 걸렸습니다. )
그래서 언어를 바꾸려고 하는데.. 무엇으로 해야 할 지 상당히 고민 되네요.
리눅스는 콘솔만 개발했어서.. 그냥 파이선이나 C/C++로 개발하면 됐었는데.. 윈도우는 그게 아닌가보네요..ㅠㅠ
이번 언어를 선정할땐 좀 신중히 결정을 하려고 합니다.
현재 윈도우XP만 지원하도록 일단 개발을 해 놓고 차차 Vista나 이번에 나올 window7까지 개발을 해야 되는데요.
검색을 해보니 윈도우XP라고 하더라도 홈 에디션과 프로페셔널로 나눠지고 간간히 홈 에디션에선 돌아가는데
프로페셔널에선 돌아가지 않는다는 글도 보이네요..
일단 제가 검색해 보고 대충 훑어본 바로는..
자바는 자바가상머신이 설치되어야 하고 ( 자바 가상머신은 닷넷프레임워크보다는 설치속도가 상당히 빠른것 같네요 )
자바가상머신만 설치되어있으면 어느 플랫폼이던간에 호환성이 보장 된다. 라 해서 이클립스와 visual editor를 설치해 이용해 봤더니
visual studio보다 상당히 불편한 폼 디자인이 좀 거슬리네요.
이제 c++ builder와 mfc를 한번 테스트 해 볼 생각입니다.
긴 글 읽어주셔서 감사하구요. 마지막으로 제 질문을 정리하자면 1. C#으로 무턱대고 개발했다 닷넷프레임워크라는 벽을 만나 고전중입니다. 2. C#을 대체할 다른 언어를 찾고있는데 자바는 좋긴 하지만 윈폼 디자인 하는게 상당히 불편합니다. 3. 현재는 윈도우XP만 지원 할 생각이지만 점차 vista나 window7등 지원을 해줘야 하는 상황이라 os버젼이 올라가도 어느정도는 호환이 되어주는 언어였으면 좋겠습니다. 다시한번 제 글을 읽어주셔서 감사합니다..ㅠ.ㅠ
?????
1. 일단 닷넷 프레임 워크가 왜 벽인지를 이해할수가 없구요. 설치 속도라고 하신다면야, 실행 할때 마다, 설치하는 것도 아니고, 사용자도, 한번만 깔면 되는 거 아닌가요??
2. 파이썬으로 코딩 하셨다고 하니, VS에서 아이언 파이썬을 사용하시거나, GTK+ 등으로 UI를 만드시면 될 것 같네용.
3. 이것을 효과적으로 해결하기 위해서, 닷넷 프레임 워크 위에서 어플리케이션이 동작하는 것인데요..
열심히 써주시긴
열심히 써주시긴 했는데 목표환경을 visualplus님 본인도 명확히 정의해 놓고 계시진 않은 것 같습니다.
먼저 그것부터 명확히 하셔야할 듯 한데요.
1. 크로스플랫폼이어야 하는가
2. 자유소프트웨어이여도 괜찮은가 (개발 하려는 프로그램이 상업용인지)
3. 부담되는 부분이 설치.배포인지 아니면 프로그램 사이즈인지.
4. Rad 개발이 반드시 필요한가 (C# 처럼)
5. GUi의 퀄리티
대충 이정도 조건만 매치시켜 보면 답이 나올 것 같습니다.
쓰신 글들에서 어느정도 유추가 되긴 하는데, 제가보기엔 "되면 더 좋고" 정도 수준에서 머무르고 계신 것 같습니다.
참고로 C++빌더 같은 경우는 라이센스 당 가격이 200만원이 넘습니다.(대략)
화이팅(fighting) 말고 화이트닝(whitening) 하면 안되나요.
GTK#에 Monodevelop ....
GTK#에 Monodevelop .... =333 리눅스에서 개발해서 윈도로 배포하는겁니다!! 핵심 장점은... 싸고... 폼 그리는게 잘되어있습니다. 편하더군요...
자바는 자바 가상머신 설치할 필요도 없이 아예 프로그램 배포시에 자바 가상머신을 설치 프로젝트에 포함해서 배포해버려도 됩니다.
실행 자체는 레지스트리 안건드립니다. jar파일 실행할때 더블클릭으로 실행 할 경우에야 설치 하면 좋지만 아닌경우에는 환경변수만 잡아주고 실행용 배치파일이나 실행용 프로그램 하나만 넣어주면 돌아가는걸로 알고있습니다. 보통 이런 무식한 방법은 잘 안쓰긴하는데 귀찮으면 이런방법도 있지요.... 오라클 같은경우가 자바 가상머신을 설치중에 같이 설치합니다...
간단하게 설치중에 검사해서 안깔려있으면 깔래말래 물어보던지 설치프로그램에 포함된 자바를 깔아버리던지 하면 되니까요
같은 맥락으로 닷넷도 설치프로그램에서 모노 프레임워크 업어다가 같이 돌리면 돌아갈꺼같습니다... 대신에 Winform보다는 GTK#등을 써야겠죠~ =333 mono랑 gtk# dll 등등 들고다닐수 있는거 다 들고다니는겁니다... 요즘 저장매체 값도 싼데 다 바리바리 싸들고 가면되지요....... 닷넷프레임워크는 설치가 아니라 파일만 업어가면 안될꺼같아서 모노로 추천드립니다.... =33
아니라면 C++ & QT도 있구요 실행파일이랑 DLL만 들고 배포하면되니.....
그런데.... Vista와 Windows 7은 각각 기본으로 .net framework 2.0과 3.5가 깔려있는걸로 알고있습니다... =_=a
XP만 깔면 되요............
헉..
헉.. 이럴수가--;;
그럼 윈도우XP만 지원하는것에서..
윈도우XP 이하 os를 지원하지 않는걸로 샤바샤바하면............
좋은 힌트 감사합니다^^
아.. 질문이 좀 애매했네요
제 글에 답변주신점 정말 감사합니다.
다시한번 답변 주신점 감사합니다^^
Rad 개념.
RAD, Rapid Application Development 약자라고 알고 있습니다.
VB가 뜨면서 델파이가 뜨면서, 방법론이 바뀌었습니다.
요건정의 --> 분석 --> 설계 --> 구현에서
분석 --> 바로코딩 으로 바뀌었지요.
첫번째는, 이것의 기본 개념에는 VB의 OLE 컴포넌트 혹은 ActiveX 컴포넌트가 복잡하거나 어려운 부분은 해결해 준다.(가져다 쓴다.)
두번째는, 사용자 화면이 곧 설계이고 자료구조이다
이 두가지 개념으로 분석(사용자 요구사항 --> 어떻게 화면을 구성할래?) --> 바로 코딩(복잡한 코딩은 컴포넌트로 해결) 입니다.
RAD개념은 규모가 작을수록 더 맞습니다. 왜냐하면 작은 규모일수록 표준이나 규약 같은 것이 상대적으로 중요하지 않고 사용자의 편리함과 쓰임이 중요하니깐요..
그리고, RAD 개념은 툴의 발달을 가져 왔고, 직관적인 논리에 의해서 개발할수 있는 그래서 덜 전문적이어도 프로그래밍할 수 있는 요건의 토대를 마련했습니다.
흔히들, VB를 언어도 아니다 혹은 약점이 너무 많아서 쓸수가 없다 등등 등한시 되나,, 사실은 VB이후에 거의 모든 개발이 툴의 개념으로 바뀌 었습니다. 그전만 해도 전문 개발 컴파일러 및 라이브러리의 조합으로 개발 했으나, VB이후부터는 는 개발을 툴로서 하는 즉, 코딩 중심이 아닌 목적 중심의 툴 개념으로 개발하도록 바뀌었습니다.(물론 gcc는 여전히 사용된다고 반박할수도 있습니다.)
VB가 컴퓨터 프로그래밍의 역사에서는 사실상 기점이라고 볼 만큼 전환점을 가져온건 사실입니다.(대중적으로나 개념적으로나)
(언어 및 라이브러리 중심의 프로그래밍에서 목정 중심의 프로그래밍, 단적인 엑셀의 VB스크립트와 VB프로그래밍이 같다..엑셀 프로그래밍?)
머..역시 그래도 이렇게 이야기들 하지요.
"나 Visual C++ 전문으로 쓰는 사람인데, 내가 컴포넌트 안만들어 주면, VB는 아무것도 아니야.."
제가 말한 Rad 는
제가 말한 Rad 는 디자인타임 개발환경의 완성도, 즉 말씀하신 '폼 디자인이 거슬린다' 라는 말과 맥락을 같이해서 언급한 말이었는데 정확히 전달이 안된 것 같군요.
또한 윈도우 운영체제 버젼끼리의 호환성은 '크로스플랫폼'이라고 부르지 않습니다.
사실 C#(닷넷) 정도의 높은 GUI 퀄리티와 간편한 디자인타임 개발(Rad) 환경을 갖춘 프레임워크가 흔치 않고,
크로스플랫폼을 필요로 하시는게 아니므로, 추천한다면 닷넷도 충분히 후보에 올릴만 하지만, 가상머신인데다가 응용 프로그램의 크기가 작다면 배보다 배꼽이 큰 모양새인 것은 확실히 틀리지는 않는 것 같군요.
닷넷이 영 거슬리신다면 두가지를 더 추천해드립니다.
하나는 볼랜드사의 VCL. (C++빌더나 델파이 등. 라이센스 필요)
다른 하나는 WxWidgets 입니다.
VCL은 퀄리티도 높고(네이티브 look), 닷넷만큼이나 직관적인 폼 디자인이 가능합니다. 결과물은 정적링크시 대략 500k ~1M 정도로 추가 라이브러리 없는 네이티브 코드가 생성됩니다. 또한 닷넷과 같이 상업용 개발이 가능한 프리웨어버젼이 존재합니다.
WxWidgets 은 애초에 크로스플랫폼을 위해 나왔고 많은 폼 디자이너가 존재하며 그중 어떤 것은 상용 프로그램 못지 않게 편리합니다. 라이센스도 LGPL과 비슷하여 상업용개발도 가능합니다.
다양한 언어 바인딩과 IDE가 있는데, 윈도우즈 개발에 사용하실 것이므로 저는 그 중 wxDevC++ 을 추천합니다. 디자이너가 아주 직관적이고 한글화가 잘 되어 있습니다.
결과물의 크기는 정적링크시 대략 2~3M 정도 나오는 걸로 알고 있습니다.
굳이 이런 질문을 윈도우개발 커뮤니티가 아닌 이곳에서 하신 것을 보니 아마 이런쪽 라이브러리를 염두에 두신거라 생각이 들어서 특히 강추합니다.
화이팅(fighting) 말고 화이트닝(whitening) 하면 안되나요.
댓글 달기