.Net / Mono에서 GUI로 웹킷


12

데스크톱 응용 프로그램 (Windows, iOS, Linux)이 서버와 통신하고 사용자 데이터를 동기화하는 웹 사이트가있는 크로스 플랫폼 응용 프로그램을 만들고 싶습니다.

지금까지 내가 본 옵션은 다음과 같습니다.

  • 3 개의 OS 각각에 대해 기본 GUI를 작성하므로 3 개의 GUI 코드베이스 (및 단일 백엔드 시스템)를 갖습니다
  • GTK와 같은 것을 사용하여 모든 언급 플랫폼에서 하나의 시스템을 지원할 수 있습니다.

그러나 세 번째로 많은 정보를 찾을 수 없었던 세 번째 (아직 C # 및 .Net을 처음 접할 때 올바른 용어를 검색하지 않을 수도 있음)는 내장 된 WebKit 인스턴스가있는 창을 내장하는 것입니다 웹 사이트에 사용하는 것과 동일한 GUI 시스템을 사용할 수 있습니다. 그러면 클라이언트 앱과 웹 사이트가 가능한 한 서로 가깝게 보이므로 사용자가 인터페이스에 익숙해집니다.

WebKit의 마지막 옵션이 그럴듯합니까? 나는 이미 JavaScript / HTML을 잘 알고 있으며 그 지식을 사용하여 인터페이스를 만들 수 있다면 좋을 것입니다. 또한 사용자가 플러그인으로 인터페이스를 사용자 정의하고 로컬에서 웹으로 UI 기본 설정을 동기화 할 수있는 좋은 방법입니다.


이런 종류의 작업을 위해 Sencha ExtJS를 조사하고 있지만 이것이 아직 사용하기에 가장 좋은 방법이라고 확신하지 않습니다.
jfrankcarr

답변:


10

이유를 알 수는 없지만 대신 "창 없음"모드에서 Chrome을 실행하거나 "hta"모드에서 IE를 실행할 수 있습니다 (웹 기술을 사용하여 데스크톱 앱을 작성하여 10 년 전 Windows에서 hta로 배포).

오늘 저는 IE / IIS없이 무언가를하고보다 인터랙티브 한 경험을 위해 웹 소켓을 사용합니다.

C # 앱에 내장 된 웹킷을 허용하는 구성 요소가 있습니다. SO에서이 게시물을 참조하십시오 (합의는 Webkit.NET 을 사용하는 것임 )

또한 QtWebkit 구성 요소를 대신 사용하고 웹 GUI를 포함하는 경량의 단일 Qt 기반 크로스 플랫폼 '데스크톱'앱을 작성합니다.


흠, 이것은 확실한 대답처럼 보입니다. 답변으로 표시하기 전에 누군가가 소리를 내는지 조금 기다릴 것입니다. 그러나 Webkit.Net은 작업을 수행하는 것처럼 보입니다. 링크 된 SO 질문의 링크 중 하나는 크롬 인스턴스가 포함 된 github repo CefSharp로 이동합니다. 웹킷에 비해 전체 브라우저가 필요한지 확실하지 않습니다. 더 살펴 봐야 겠어
skift

'오늘 나는 IE / IIS없이 무언가를하고보다 대화적인 경험을 위해 웹 소켓을 사용할 것입니다.' 모노를 사용하고 싶기 때문에 .net을 사용하고 크로스 플랫폼을 지원할 수 있으며 모노 지원이있는 경우 nginx 또는 cherokee와 같은 사이트에서 사이트를 호스팅 할 수 있습니다. IIS와 Windows 관리자는 충분히 알지 못하지만 Linux 웹 서버는 알고 있습니다. 지금까지는 실제 사용자와 사용자의 상호 작용이 없으므로 웹 소켓이 필요하지 않습니다. 그리고 DB 동기화는 couchdb를 사용합니다. 좀 더 고급
스러운

웹 개발의 경우 Linux 스택에 충실하면 Windows는 웹 개발 시장에서 2 위입니다. 노벨이 쓰러 졌을 때 떨어졌기 때문에 모노를 무시합니다. 죽은 기술이라고 말하고 다른 크로스 플랫폼 기술 중 하나를 고수하는 것이 Linux에 대한 더 나은 개발자 경험을 제공합니다. 모노 지원 및 향후 업데이트에 의존하는 것은 내 취향에 약간 위험합니다.
gbjbaanb

그래도 보통 내 장점은 아닙니다. 나는 자바 스크립트와 node.js를 선호합니다. 그러나 나는 일을 위해 c # /. net을 배워야하므로 그것을 배우기 위해 작은 프로젝트를 만들 수도 있다고 생각했습니다. 나는 주로 Windows 개발과 웹을하고 있다면 .Net에는 멋진 기능이 있다고 생각합니다. 그래서 웹과 데스크톱 응용 프로그램이 혼합 된 직장에서 사용할 것으로 알고있는 것을 사용하려고합니다.
skift

0

나는 당신과 같은 프로젝트를위한 응용 프로그램 프레임 워크에서 일하고 있습니다. 크롬 함량 프레임 워크를 기반으로합니다. 응용 프로그램의 GUI를 html / css / js / svg 등으로 구현하고 응용 프로그램 논리를 javascript 또는 c #으로 구현할 수 있습니다.

저의 목표는 웹 기술을 사용하여 여러 플랫폼에 걸쳐 서버 측을 필요로하지 않는 풍부하고 완전한 기능을 갖춘 '두꺼운'데스크탑 응용 프로그램을 개발하는 것입니다.


서버 측에서 일을하고 싶지만 (사용자가 중앙 서버와 데이터를 동기화하고 온라인으로 앱을 사용할 수 있기 때문에) 크롬을 어떻게 사용하는지 알고 싶습니다. 저에게 데스크탑 버전은 기본적으로 서버에있는 것의 복사본이므로 더 빨리 실행되고 업데이트를 기다릴 필요가 없으며 오프라인에서 사용할 수 있습니다.
skift
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.