HTML / CSS / JavaScript를 사용하여 데스크탑 앱을 개발하는 방법은 무엇입니까? [닫은]
첫째, 나는 이것을 전문적으로하는 것에 관심이 없다. 저는 웹 개발자로 최근 Spotify로 떠난 동료이며 Spotify Desktop 앱용 JavaScript로 주로 작업 할 것이라고 말했습니다. 그는 "Chrome frame"을 사용하며 내부의 모든 것은 웹 앱 (HTML / JS / CSS)과 같이 이루어 졌다고 말했다.
데스크톱 용으로 아무 것도 만들지 않은 웹 개발자로서 이것은 좋은 소식입니다. 기술을 사용할 수 있다면 이미 알고 있고 어떤 종류의 "프레임"안에서 구현하고 여전히 창이나 더 나은 크로스 플랫폼 앱을 만들 수 있습니다.
데이터베이스에 대해서는 언급하지 않았지만 웹 기술이 적용된 간단한 hello world 데스크톱 앱조차도 훌륭 할 것입니다.
그렇다면 어떻게해야할까요? 정확히 무엇을 알아야합니까?
데스크톱 개발을 위해 Titanium으로 시작할 수 있습니다. Chromium Embedded Framework도 살펴볼 수 있습니다 . 기본적으로 크롬을 기반으로 한 웹 브라우저 컨트롤입니다.
C ++로 작성되었으므로 컨테이너 응용 프로그램에서 원하는 모든 저급 OS 항목 (Growl, 트레이 아이콘, 로컬 파일 액세스, 포트 등)을 수행 한 다음 html / javascript의 모든 응용 프로그램 논리 및 GUI를 수행 할 수 있습니다. 로컬 리소스를 제공하거나 일부 사용자 지정 작업을 수행하기 위해 http 요청을 가로 챌 수 있습니다. 예를 들어 컨테이너 가 http://localapp.com/SetTrayIconState?state=active에 대한 요청을 가로 챈 다음 C ++ 함수를 호출하여 트레이 아이콘을 업데이트 할 수 있습니다.
또한 JavaScript에서 직접 호출 할 수있는 함수를 작성할 수 있습니다.
CEF에서 직접 JavaScript를 디버깅하는 것은 매우 어렵습니다. Firebug와 같은 것은 지원하지 않습니다.
AppJS.com (HTML, CSS 및 JavaScript를 사용하여 Linux, Windows 및 Mac 용 데스크탑 응용 프로그램을 작성하는 데 도움이 됨)을 사용해 볼 수도 있습니다 .
또한 @Clint가 지적한대로 brackets.io (Adobe) 팀은 Chromium Embedded Framework를 사용하여 시작하기가 훨씬 쉬운 멋진 쉘을 만들었습니다. 괄호 셸이라고합니다 : github.com/adobe/brackets-shell 여기에서 더 자세히 알아보십시오 : clintberry.com/2013/html5-desktop-apps-with-brackets-shell
NW.js
(이전의 node-webkit)
Node에 익숙하거나 JavaScript에 익숙한 경우 NW.js를 제안 합니다.
NW.js는 Chromium 및 node.js를 기반으로하는 앱 런타임입니다.
풍모
- 최신 HTML5, CSS3, JS 및 WebGL로 작성된 앱
- Node.js API 및 모든 타사 모듈을 완벽하게 지원합니다.
- 좋은 성능 : Node와 WebKit은 동일한 스레드에서 실행됩니다. 함수 호출은 간단합니다. 객체는 동일한 힙에 있으며 서로를 참조 할 수 있습니다.
- 손쉬운 앱 패키징 및 배포
- Linux, Mac OS X 및 Windows에서 사용 가능
당신은 NW.js가 REPO 찾을 수 있습니다 여기에 , 그리고 NW.js 좋은 소개 여기 . 당신이 학습 공상하는 경우 Node.js를을 내가 추천 이 좋은 링크의 많은 SO 게시물을.
Awesomium 을 사용하면 C ++ 또는 .NET 앱에서 HTML UI를 쉽게 사용할 수 있습니다.
최신 정보
이전 답변이 구식입니다. 요즘에는 Electron 을 사용하지 않는 것이 좋습니다 . 많은 인기있는 데스크탑 앱이 그 위에 개발되었습니다.
참고 : AppJS 는 더 이상 사용되지 않으며 더 이상 권장되지 않습니다.
대신 NW.js 를 살펴보십시오 .
HTML / JS / CSS 데스크탑 앱용 솔루션이 부족한 것 같습니다.
내가 방금 접한 한 가지 해결책은 TideSDK : http://www.tidesdk.org/ 입니다. 설명서를 보면 매우 유망한 것으로 보입니다.
Python, PHP 또는 Ruby로 개발하여 Mac, Windows 또는 Linux 용으로 패키지 할 수 있습니다.
거품이 터져서 죄송하지만 Spotify 데스크톱 클라이언트 는 웹킷 기반 브라우저 입니다. 물론 특정 추가 기능을 제공하지만 JS 엔진과 Chromium 렌더링 엔진이 있기 때문에 JS를 실행하고 HTML / CSS 만 렌더링 할 수 있습니다. 클라이언트 측 웹앱을 코딩하고 여러 플랫폼에 배포하는 데 도움이되지 않습니다.
찾고있는 것은 HTML5 앱을 iOS, Android 및 Blackberry 장치에 기본적으로 배포 할 수있는 프레임 워크 인 Sencha Touch 와 유사 합니다. 기본적으로 특정 API 호출과 사용 가능한 장치 별 기능 사이의 중개자 역할을합니다.
나는 appcelerator에 대한 경험이 없으며 비트가 정확히 그렇게하는 것처럼 보이며 온라인에서 매우 유리한 리뷰를 얻습니다. 1999 년으로 돌아가서 MS HTA로 롤백하고 싶지 않다면, 당신은 그것을 포기해야한다 .
거기에 대해 내가 아는 유체 와 프리즘 독립 실행 형 응용 프로그램의 모양으로 웹 사이트를로드 할 (내가 사용하는 데 사용되는 하나 즉, 다른 사람이 있습니다).
Chrome에서는 웹 사이트에 대한 바탕 화면 바로 가기를 만들 수 있습니다. (Chrome에서 그렇게하면 앱과 함께 패키지 할 수는 없습니다) Chrome 프레임은 다릅니다.
Chrome 프레임은 오픈 소스 Chromium 프로젝트를 기반으로 Internet Explorer 용으로 설계된 플러그인입니다. Chrome의 공개 웹 기술을 Internet Explorer에 제공합니다.
웹 응용 프로그램과 같은 종류의 래퍼가 있어야하며 나머지는 익숙한 웹 기술입니다. 앱이 오프라인 일 때 HTML5 로컬 저장소 를 사용 하여 데이터를 저장할 수 있습니다 . SQLite로 작업 할 수도 있다고 생각합니다.
그래도 OS 특정 기능에 액세스하는 방법을 모르겠습니다. 위에서 설명한 내용은 "일반"웹 사이트와 동일한 제한 사항이 있습니다. 바라건대 이것은 어디서 시작해야하는지에 대한 일종의 지침을 제공합니다.
Adobe AIR를 사용하여 Javascript 앱을 만들 수 있습니다… http://www.adobe.com/products/air.html
CEF는 사용자 정의를위한 많은 유연성과 옵션을 제공합니다. 그러나 의도가 신속하게 노드 웹킷을 개발하는 것이라면 좋은 옵션입니다. 노드 웹 키트는 DOM에서 직접 노드 모듈을 호출하는 기능도 제공합니다.
If there aren't any native modules to integrate Node-Webkit can offer better mileage. With native modules C/C++ or even C# it is better with CEF.
참고URL : https://stackoverflow.com/questions/12232784/how-to-develop-desktop-apps-using-html-css-javascript
'IT' 카테고리의 다른 글
JSON 파싱 된 개체를 인쇄 하시겠습니까? (0) | 2020.05.15 |
---|---|
LINQ에 대한 학습 (0) | 2020.05.15 |
Java (0) | 2020.05.15 |
머큐리얼 이클립스 플러그인 (0) | 2020.05.15 |
virtualenv가 글로벌 사이트 패키지에서 특정 패키지를 상속 받도록하십시오. (0) | 2020.05.15 |