source

HTML/CSS/JavaScript를 이용한 데스크톱 앱 개발 방법?

factcode 2023. 11. 5. 15:00
반응형

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

반응형