HTML/CSS/JavaScript를 이용한 데스크톱 앱 개발 방법?
첫째, 저는 이것을 전문적으로 하는 것에 관심이 없습니다.저는 웹 개발자이며, 제 동료는 최근에 스포티파이로 떠났고 스포티파이 데스크톱 앱의 자바스크립트에서 주로 일할 것이라고 말했습니다.'크롬 프레임'을 사용하고 내부의 모든 것이 웹 앱(HTML/JS/CSS)처럼 이루어진다고 합니다.
데스크톱용으로 어떤 것도 만들지 않은 웹 개발자로서 이것은 아주 좋은 소식입니다.만약 제가 이미 알고 있는 기술들을 사용하고 그것들을 일종의 "프레임" 안에 구현할 수 있다면, 여전히 윈도우나 더 나은, 그러나 크로스 플랫폼 앱을 구축할 수 있습니다.
데이터베이스에 대해 아무런 언급을 하지 않았다는 것을 알고 있지만 웹 기술이 적용된 간단한 hello world 데스크톱 앱이라도 시작하면 좋을 것입니다.
그럼 어떻게 해야 할까요?정확히 제가 알아야 할 사항은 무엇입니까?
Titanium for Desktop Dev부터 시작할 수 있습니다.Crome Embedded Framework도 보실 수 있습니다.기본적으로 크롬 기반의 웹 브라우저 컨트롤입니다.
C++로 작성되어 있어 컨테이너 앱에서 원하는 하위 OS를 모두 수행할 수 있으며(으르렁, 트레이 아이콘, 로컬 파일 액세스, 컴포트 등), HTML/자바스크립트에서 모든 애플리케이션 로직과 gui를 수행할 수 있습니다.로컬 리소스를 제공하거나 사용자 지정 작업을 수행하기 위해 http 요청을 차단할 수 있습니다.예를 들어 http://localapp.com/SetTrayIconState?state=active 에 대한 요청을 컨테이너가 가로챈 다음 C++ 기능을 호출하여 트레이 아이콘을 업데이트할 수 있습니다.
또한 자바스크립트에서 직접 호출할 수 있는 함수를 만들 수 있습니다.
CEF에서 자바스크립트를 직접 디버그하는 것은 매우 어렵습니다.파이어버그와 같은 것은 지원되지 않습니다.
AppJS.com (데스크톱 애플리케이션을 구축하는 데 도움이 됨)을 사용해 볼 수도 있습니다.HTML, CSS 및 자바스크립트를 사용하는 Linux, Windows 및 Mac용)
또한 @Clint가 지적한 바와 같이, brackets.io (Adobe)의 팀은 Chrome Embedded Framework(크롬 임베디드 프레임워크)를 사용하여 훨씬 더 쉽게 시작할 수 있습니다.그것은 괄호 껍질이라고 불립니다: github.com/adobe/brackets-shell 그것에 대해 더 많이 여기서 알아보세요: clintberry.com/2013/html5-desktop-apps-with-brackets-shell
NW.js
(이전에는 노드-웹킷으로 알려짐)
NW.js는 Node를 잘 알고 있거나 자바스크립트를 사용해본 경험이 있다면 추천하고 싶습니다.
NW.js는 크롬과 node.js를 기반으로 하는 앱 런타임입니다.
특징들
- 현대 HTML5, CSS3, JS 및 WebGL로 작성된 앱
- Node.js API 및 모든 타사 모듈을 완벽하게 지원합니다.
- 좋은 성능:노드와 웹킷은 동일한 스레드에서 실행됩니다.함수 호출은 단순하게 이루어집니다. 개체가 동일한 힙에 있고 서로 참조만 할 수 있습니다.
- 앱의 패키지화 및 배포가 용이함
- Linux, Mac OS X 및 Windows에서 사용 가능
NW.js repo는 여기에서 찾을 수 있고 NW.js에 대한 좋은 소개는 여기에서 찾을 수 있습니다.Node.js를 배우고 싶다면 좋은 링크가 많은 SO 게시물을 추천합니다.
Awesomium을 사용하면 C++ 또는 C+에서 HTML UI를 쉽게 사용할 수 있습니다.NET 앱
갱신하다
전에 했던 대답은 이제 구식입니다.요즘에는 전자를 사용하는 것을 조사하지 않는 것이 미친 짓일 것입니다.그 위에서 많은 인기 있는 데스크톱 앱들이 개발되었습니다.
참고: AppJS는 더 이상 사용되지 않으므로 더 이상 권장하지 않습니다.
대신 NW.js를 보세요.
HTML/JS/CSS 데스크톱 앱을 위한 솔루션이 부족하지 않은 것 같습니다.
제가 방금 발견한 한가지 해결책은 Tide입니다.SDK: http://www.tidesdk.org/, 문서를 보니 매우 유망해 보입니다.
Python, PHP 또는 Ruby로 개발하여 Mac, Windows 또는 Linux용으로 패키지화할 수 있습니다.
거품을 터뜨려서 미안하지만 스포티파이 데스크톱 클라이언트는 웹킷 기반 브라우저일 뿐입니다.물론 구체적인 추가 기능을 제공하지만, JS 엔진과 크롬 렌더링 엔진이 있기 때문에 JS와 HTML/CSS만 실행할 수 있습니다.이렇게 하면 클라이언트 측 웹 앱을 코딩하고 여러 플랫폼에 배포하는 데 도움이 되지 않습니다.
사용자가 찾고 있는 것은 HTML5 앱을 iOS, Android 및 Blackberry 장치에 기본적으로 배포할 수 있는 프레임워크인 Senscha Touch와 유사합니다.기본적으로 특정 API 호출과 사용 가능한 장치별 기능 사이의 중개 역할을 합니다.
저는 앱셀러레이터에 대한 경험이 전혀 없지만, 정확히 그렇게 하고 있는 것 같습니다. 그리고 온라인에서 매우 호의적인 평가를 받습니다.(1999년으로 돌아가서 MS HTA를 사용하고 싶지 않았다면;)
저는 독립형 앱처럼 보이는 곳에 웹사이트를 로드할 수 있는 Fluid and Prism(다른 것들도 있고, 제가 사용하던 것도 있습니다)이 있다는 것을 알고 있습니다.
Chrome에서는 웹 사이트의 바탕 화면 바로 가기를 만들 수 있습니다.(Chrome 내에서 이와 같은 작업을 수행하므로 앱으로 패키지를 구성할 수 없습니다.) Chrome Frame은 다릅니다.
구글 크롬 프레임(Google Chrome Frame)은 오픈 소스 크롬 프로젝트를 기반으로 한 인터넷 익스플로러용 플러그인으로, 구글 크롬의 오픈 웹 기술을 인터넷 익스플로러에 적용합니다.
웹 앱에 그런 포장지가 있어야 하고, 나머지는 당신이 익숙한 웹 기술입니다.앱이 오프라인 상태일 때 HTML5 로컬 스토리지를 사용하여 데이터를 저장할 수 있습니다.SQLite와 함께 작업할 수도 있을 것 같습니다.
OS 고유의 기능에 어떻게 접근할지는 모르겠지만요.위에서 설명한 것은 일반적인 웹사이트와 동일한 한계를 가지고 있습니다.이것이 어디서부터 시작해야 할지에 대한 일종의 지침을 주기를 바랍니다.
Adobe AIR로 자바스크립트 앱을 만들 수 있습니다… http://www.adobe.com/products/air.html
CEF는 사용자 정의를 위한 많은 유연성과 옵션을 제공합니다.그러나 노드-웹킷을 신속하게 개발하는 것이 목적이라면 좋은 선택이기도 합니다.노드-웹 키트는 노드 모듈을 DOM에서 직접 호출할 수 있는 기능도 제공합니다.
Node-Webkit을 통합할 네이티브 모듈이 없다면 더 나은 마일리지를 제공할 수 있습니다.네이티브 모듈 C/C++ 또는 C#을 사용하면 CEF와 함께 더 좋습니다.
언급URL : https://stackoverflow.com/questions/12232784/how-to-develop-desktop-apps-using-html-css-javascript
'source' 카테고리의 다른 글
도커 구성품 단일 컨테이너 구축 (0) | 2023.11.05 |
---|---|
angular js에서 $parse 사용 (0) | 2023.11.05 |
MySQL Workbench: 쿼리 오류(1064):1행의 'VISIBLE' 근처에서 구문 오류가 발생했습니다. (0) | 2023.11.05 |
jQuery로 "바쁜" 표시기를 표시하는 방법? (0) | 2023.11.05 |
자바스크립트 라이브러리의 선두 세미콜론은 무엇을 합니까? (0) | 2023.11.05 |