윈도우 어플 만들기를 처음 시도해보려고 합니다.

gurugio의 이미지

사랑하지 않으면 떠나라.. 라는 책을 읽었습니다.

좋은 조언들을 많이 읽을 수 있어서 이틀동안 정신없이 읽었습니다.

그중에 공감이 가는 것이 제가 전혀 문외한인 분야에 대해서

체험을 배와야 하는 것이었습니다.

생각해보니 윈도우에서 어플을 만드는 것이 저한테 생소한 분야이더라구요..

윈도우 기반에서 네트워킹/데이터 베이스/GUI 프로그래밍을 연습해볼만한

프로그램이 뭐가 있을까요?

또 언어는 뭐가 좋을까요?

네트워킹되는 테트리스나 메신저 같은 것들을 하는것 들은적이 있는것 같은데

프로그래밍 연습을 위해 어떤 것을 해보면 좋을지 조언을 부탁드립니다.

그러고보니 습관처럼 kldp에서 글을 올리는데

윈도우에 대한 내용이네요... 혼내지는 마세요 ^^;;

Necromancer의 이미지

GUI -> 윈도프로그래밍 입문자라면 win32api가 무난. mfc는 처음 윈도프로그래밍하는 사람이 하기에는 장벽이 큼. 하지만 본인이 C++ 확실히 알고 주변에 사수 되는 mfc 전문프로그래머 있다면 mfc가 나을수도 있음.

네트웍 -> winsock. 근데 이거 알고보면 유닉스소켓 거의 그대로 베낌 MSDN에서 connect(), bind(), send(), recv() 찾아보시길. WSAxxxx류의 윈도우 전용함수도 있지만 얘네들은 iocp 등의 고급 기능 쓸때만 씀. (단 WSAStartup(), WSACleanup()은 윈속 초기화함수여서 예외임)

데이터베이스 -> ADO나 ODBC 사용. (odbc는 api 소개할때도 나오므로 api본다면 odbc 같이 따라 보게 될겁니다. 하지만 제가 주변에서 본 바로는 mfc 쓸경우는 ado를 많이 쓰는거 같더군요.)

** 추천할만한 책이라면 가*출*사에서 나오는 Win32API 정복이란게 있습니다. 나온지 꽤 오래되었지만 윈도우가 제공하는 거의 모든 기능별로 대표적인 API함수가 소개되어 있죠.

Written By the Black Knight of Destruction

Written By the Black Knight of Destruction

jachin의 이미지

WIN32API가 기본이죠. 위에서 언급하신 *남*판* 에서 나온 Win32API 정복을 보면 API 로 TCP/IP 소켓 까지 다루는 것을 볼 수 있습니다.
DB 를 하시려면 mysql-odbc-connector 를 설치하시는 것으로 MySQL 과 연동 가능한 프로그램도 만드실 수 있습니다.
윈도우즈용 프로그램... 자유소프트웨어 컴파일러와 라이브러리를 사용하면, 굳이 Visual Studio 같은 사용 IDE를 쓰지 않고도 만들 수 있죠.

MinGW 나 Qt Library 를 가지고...;;;
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

gurugio의 이미지


삼사년전에 회사에서 어셈블리로 WIN32API를 호출하는 어플을 한달정도

만들어본 적이 있는데 좀 큰 규모의 실무 프로젝트에서는 사용하기가 어려운게 아닌가 하는

생각이 들었습니다.

실무에서는 MFC를 더 많이 쓴다고 들은것 같기도 하네요.

꼭 WIN32API를 알아야 하나요? 윈도우에서 시스템 프로그래밍을 할 것도 아니고

그냥 윈도우 기반 응용 프로그램 개발을 경험해보려고 하는 건데요.

C#이나 D 같이 상위 레벨 언어는 어떤가요?

----
세상을 바꾸는 것은 단 한 사람. 오직 하나님의 사람뿐이다.

song9063의 이미지

제가 근무중인 곳에서는 거의 MFC를 사용합니다. 간혹 Win32API책을 펼칠때가 있습니다.(아예 배제할순 없더군요..)
웹 개발팀은 java를 사용하고 ERP쪽은 파워빌더, VB를 사용합니다.
소싱 업체쪽을 보면 vb로 꽤 큰 규모의 프로젝트를 진행하는 걸 봤습니다.
아직 제 주변에서 C#은 보지 못했으나 아마 많이 쓰이고 있으리라 생각됩니다.

안녕하세요?

puaxx의 이미지

뭐 다들 알고 계시겠지만 윈도즈는 win32 api를 기반으로 하니 그것부터 배우시고 MFC로 건너가시라고 하고 싶네요.
델파이로 짜던 VB로짜던 win32 api는 언젠가는 배울수밖에 없는 필수 불가결입니다.

likimda의 이미지

win32api 도 좋지만..
간단하게 장난감(?) 수준에서 접근을 해보시고 싶으시다면
C# .net 으로 시작해 보시는것도 좋습니다.
최근에 이리저리 만질 일이 많았는데..

쉽고 간단합니다. :wink:

-----
Know yourself - Temple of Apollo, Delphi

-----
Know yourself - Temple of Apollo, Delphi

pcpenpal의 이미지

GTK+나 Qt를 이용해서 MS 윈도우에서 쓸 GUI 어플을 만드는 것도 괜찮지 않을까요?
조금만 더 손보면 크로스 플랫폼 지원도 될테고 말이죠. :)

zepinos의 이미지

java 를 이용한 swt 프로그래밍도 있습니다. ^^

aswip의 이미지

윈도우 기반에서 네트워킹/데이터 베이스/GUI 프로그래밍을 모두 경험해 봐야 한다면 P2P가 좋을듯 합니다.

많은 분들이 API를 배우고 MFC로 건너가는게 좋다라고 말씀하셨는데
제 견해는 약간 다릅니다.

왜냐하면, MFC는 좀 더 화려한 UI를 구현하고 싶을 때 외에는 거의 사용하지 않거든요~
(Win32 api 만으로도 화려한 UI 구현이 가능하지만, MFC를 사용할 경우 그 작업이 다소 수월해지는 편입니다.)

만약, 화려한 UI가 필요없다면 Win32 api 만으로도 충분합니다.

정리하면 MFC는 UI 관련 작업 진행시에만 사용하고 (주로 눈에 보이는 부분)
내부기능은 결국 c++ 로 구현함. (주로 눈에 보이지 않는 부분)

- 인생은 스스로 -

gurugio의 이미지

P2P는 생각못했는데 생각해보니 P2P도 좋은 도전이 될것 같습니다.

네트워킹이나 GUI는 어디에 적용될지 알것 같습니다만

데이터베이스는 어디에 적용될까요?

사용자 관리나 공유 파일 리스트 같은 것들이 DB로 관리될까요?

----
세상을 바꾸는 것은 단 한 사람. 오직 하나님의 사람뿐이다.

gurugio의 이미지

C#을 말씀하시는 분이 별로 없네요?

세계적으로 많이 쓰이는 언어 순위라고 보니까
C++이 5위, c#이 8위던데 우리나라는 아직 C#을 많이 쓰지 않는건가요?

MFC는 예전에 시도해봤지만 개념이 너무 어지러워서 포기했었는데...

C#이나 D를 생각하고 있었는데 MFC가 필수일런지..

----
세상을 바꾸는 것은 단 한 사람. 오직 하나님의 사람뿐이다.

monovision의 이미지

글쎄요.. 윈도우 프로그래머들을 보면 대부분 Visual C++ 을 제일 좋아라 하더군요. 그외에는 델파이 정도 추천하고.
c# 은... 윈도우 프로그래머중 ASP.net 쪽을 다루시는 분들이나 실제 업무(상용 제품)에 쓴다고 들었습니다.
c# 자체가 사용은 쉬우나 성능이 꽤 딸린다고 하더군요. 그리고 c# 을 쓸빠에는 차라리 자바를 하는게 낫다는 소리도 들었습니다.
그리고... 취미로 하기에는 C# 이던 델파이던 VB 던 API 던 Vsiaul C++ 이던 상관이 없는데 후에 윈도우쪽을 직업으로 가질 것이라면 가능하면 MFC. 좀 더 가능하면 API 까지라고 하더군요.
중도를 유지하기에는 델파이가 좋다고 들었습니다. 취미 + 실업무(상용제품).
저도 학교 졸프를 하면서 처음으로 윈도우 시스템 플밍(USB device + SAM) 을 해봤었는데... GUI 가 들어가지 않을꺼면 그냥 차라리 Win32API 가 더 좋은듯 보였습니다.
MFC 가 익숙한 사람에게는 모르겠지만 처음 시작하는 저로서는 랩퍼형식으로 덕지덕지 쌓여져 있는게 싫더라구요.

하지만... 꼭 한 번은 MFC 를 해보고 싶다는 생각은 가지고 있습니다.
왜냐면... MFC 를 익숙하게 쓰는 사람은 델파이나 C#, VB 같은 언어보다 더 단순하고 더 간편하게 성능이 더 좋은 프로그램을 뚝딱뚝딱 잘 만들더군요.
어느 언어나 자기 손에 맞으면 최고인것 같습니다.