태그 보관물: gui

gui

여전히 데스크톱 GUI 개발을 배울 가치가 있습니까? [닫은]

지난 몇 년 동안 내가 작업 한 모든 심각한 프로젝트는 웹 기반이거나 그래픽이 아닌 사용자 인터페이스 (서비스, 명령 줄 스크립트 등)를 사용했습니다. WinForms 앱을 함께 던지거나 필요할 때 간단한 WPF를 수행 할 수는 있지만 MFC 또는 QT와 같은 하위 수준 API에 대해서는 결코 탐구하지 않았습니다.

나는 이것이 상황에 달려 있다는 것을 이해하지만 일반적으로 데스크톱 개발을 잘 배우는 데 시간이 걸리거나 응용 프로그램이 웹과 모바일 장치로 빠르게 이동 하여이 지식을 덜 관련 시키는가? 또한 함께 일하는 개발자가 데스크탑 GUI 전문 지식을 갖기를 기대하십니까?



답변

나는 그렇다고 말할 것입니다. 프로그램 개발에는 일종의 진자 효과가 있습니다. 먼저 모든 것이 컴퓨터에서 직접 실행되었습니다. 그런 다음 컴퓨터가 여러 프로그램을 실행하기에 충분히 강력 해지면 바보 터미널이있는 메인 프레임이 생겼습니다. 그러나 멍청한 단말기는 사용성 측면에서 정말 빨라서 컴퓨터가 단말기 크기의 시스템에 적당한 양의 하드웨어를 넣을 수있을만큼 강력 해지 자마자 개인용 컴퓨터를 얻었고 모든 것이 컴퓨터에서 직접 실행되었습니다.

그런 다음 월드 와이드 웹을 발명했으며 메인 프레임 (서버)과 벙어리 터미널 (브라우저)로 돌아 왔습니다. 그러나 벙어리 터미널은 여전히 유용성 측면에서 엉망이되어 사람들은 30 년 전에 교훈을 다시 배우기 시작했습니다. , 우리는 다시 그 추세를 쫓고 있습니다. 요즘 가장 많이 개발 된 것은 로컬로 실행되지만 기능을 향상시키기 위해 특정 목적으로 인터넷에 연결할 수있는 데스크톱 (또는 모바일) 앱을위한 것입니다.


답변

데스크톱 개발을하지 않더라도 웹 클라이언트를 통해 데스크톱 솔루션을 사용하는 것이 더 나은시기에 대해 충분한 정보를 얻을 수있는 충분한 경험을 얻을 것을 제안합니다.


답변

네,하지만 당신이 생각하는 방식이 아닙니다.

GUI 프로그래밍은 더 이상 어렵지 않으며 GUI 프로그래밍 인터페이스에 익숙하지 않은 전문 기술이 필요하지 않습니다. 버튼과 창 및 컨트롤을 연결하는 것은 그리 어렵지 않으며 MFC와 같은 것들로 초기에 비해 현대적인 프로그래밍 환경에서는 매우 쉽습니다. GUI 프로그래밍은 필요할 때 배우기 매우 쉬운 것들입니다.

그러나 버튼과 텍스트 상자를 연결하는 것은 매우 쉽고, 언제 어디서 단추를 배치 해야하는지 알며 , 사람이 사용할 GUI를 디자인 하는 것은 매우 어렵습니다. 그것은 매우 소중하고 중요한 기술입니다. 그러나 기본 인터페이스와 웹에 적용되는 디자인 원칙은 매우 유사합니다.

따라서 효과적이고 사용자를 혼동하지 않는 우수한 사용자 인터페이스를 디자인하는 방법을 배우면 무료로 프로그래밍에 익숙해 질 것입니다.


답변

실제로 상황에 따라 달라질 것입니다. 최근에 웹 응용 프로그램을 데스크톱 응용 프로그램 (SmartClient / Click-Once)으로 다시 변환하는 여러 프로젝트가있는 Fortune 500 대 기업에서 근무했습니다. 특정 상황에서는 기존 앱이 겪는 여러 가지 유용성 문제를 제거하고 의미가있었습니다.

정규 직원이고 회사에서 일반적으로 데스크톱 앱을 디자인하지 않는 경우 Winforms 또는 WPF를 완전히 숙지하는 것이 의미가 없습니다. 그러나 컨설턴트 인 경우 고객에게 다른 서비스를 제공하고 싶을 경우 아프지 않을 수 있습니다.


답변

흠, Gmail, Stack-Exchange 및 은행의 홈 뱅킹 외에도 하루 종일 웹 이외의 소프트웨어를 사용합니다. 이제 스마트 폰과 태블릿이 등장하면서 웹 응용 프로그램의 매력이 떨어졌습니다 (스마트 폰 Facebook 클라이언트 사용). 그것은 사용자 측입니다.

개발자 쪽 : 지난 10 년 동안 나는 웹 이외의 소프트웨어에서만 일했고 (소프트웨어 컨설턴트로 일하면서 경력이 매우 다른 여러 영역에 걸쳐 있었으며) 앞으로는 웹 트렌드가 보이지 않습니다.

예, 여전히 데스크톱 GUI 환경을 학습 해야 합니다.


답변

물론 “의존”-하지만 당신의 경험이 일반적이라고 생각합니다. 필자가 작성한 응용 프로그램에 대해 씩 클라이언트를 만들어야하는 경우는 거의 없었습니다. 클라이언트가 데스크톱에서 연결해야하는 특별한 이유가 없다면 (연결 문제 또는 3D 게임 등) 개발자와 관리자가 응용 프로그램의 “인스턴스”를 유지하는 것이 더 쉽다고 생각합니다. 웹 응용 프로그램을 디자인하는 기술을 보유하고 있다면 일반적으로 데스크톱 응용 프로그램 영역으로 이동하는 것이 좋습니다.

사실 나는 두꺼운 클라이언트 개발자가 웹 애플리케이션 프로그래밍을 배우는 것이 더 중요하다고 생각합니다. 패널의 컨트롤).

잊지 마십시오-Silverlight 및 Adobe Flex / AIR와 같은 기술을 사용하여 데스크탑 / 웹 응용 프로그램 사이의 경계를 넘을 수 있습니다.


답변

IE9 팀에 따르면 :

기본 앱과 웹 앱간에 차이가 없어야합니다. HW 가속, 빠른 JS 및 사이트 고정으로 시작

이 기술들이 서로 더 가까워 질 것이 안전하다고 생각합니다. 자바 개발자라면 데스크탑 앱 개발과 웹 앱 개발 (GWT 사용) 사이에는 차이가 거의 없습니다. 점점 더 많은 “데스크톱”개발 플랫폼이 브라우저 엔진을 목표로 삼을 것으로 기대하는 것은 무리가 없습니다. 점점 더 많은 데스크톱 앱이 웹과 같은 배포 모델 (백그라운드에서 자동 업데이트, 크롬과 같은 샌드 박스 실행)을 갖기를 기대하는 것도 무리가 없습니다.