HTML5 응용 프로그램을 데스크톱 응용 프로그램으로 배포하기위한 솔루션? [닫은]


141

HTML5 기반 데스크톱 응용 프로그램을 배포하기위한 솔루션은 무엇입니까?

HTML5 앱을 Windows, OSX 및 Linux에서 독립 실행 형 데스크톱 응용 프로그램으로 배포 할 수 있기를 원합니다. 사람들이 내 앱 아이콘 바로 가기를 두 번 클릭하여 프로그램을 실행할 수 있기를 바랍니다.

브라우저 창을 전혀 표시하지 않고 내 앱 만 표시하고 싶습니다. 이게 가능해?


4
Chrome + 전체 화면 잘 작동
— PostMan

2
Windows의 Chrome에는 도구 메뉴의 "앱 바로 가기 만들기"옵션이 있습니다. 주소 표시 줄없이 표준 창을 여는 링크가 데스크탑에 작성됩니다.
— 6502

3
로컬 파일에 액세스하거나 브라우저에서 일반적으로 불가능한 것들에 대한 다른 요구 사항이 있습니까?
— Tiemen

76
누군가이 질문이 왜 건설적이지 않은 것으로 표시되는지 설명해 줄 수 있습니까 ? 플랫폼이 있다면 그는 요구하고, 대답은 목표입니다 : 예 . 그리고 몇 가지 가능성으로 "구현 될"수 있는데, 왜 이런 식으로 표시되어 있습니까?
— 프란체스코 Belladonna

답변:


75

2014 년 HTML5 앱

크롬 / 웹킷 별 프레임

  • 전자 (이전의 Atom Shell)

    Electron은 HTML, CSS 및 JavaScript를 사용하여 크로스 플랫폼 데스크탑 응용 프로그램을 구축하기 위해 GitHub에서 개발 한 오픈 소스 라이브러리입니다. Electron은 Chromium과 Node.js를 단일 런타임으로 결합하여이를 달성하고 Mac, Windows 및 Linux 용 앱을 패키지화 할 수 있습니다. ( 소스 )

    github의 사람들은 이것을 사용하여 코드 편집기 Atom 을 앱으로 제공 합니다. 공식 원자 포럼에 문서화 된 api와 도움말 채널이 있습니다.

  • 가장 최소한의 접근 방식 인 Node-Webkit

    node-webkit은 Chromium 및 node.js를 기반으로하는 앱 런타임입니다. node-webkit을 사용하여 HTML 및 JavaScript로 기본 앱을 작성할 수 있습니다. 또한 DOM에서 Node.js 모듈을 직접 호출 할 수 있으며 모든 웹 기술로 기본 애플리케이션을 작성하는 새로운 방법을 사용할 수 있습니다.

    인텔은이 뒤에 있습니다 (?). 가장자리가 너무 거칠다는 말을 들었습니다.

  • Adobe 코드 편집기 (및 Adobe Edge 기반)의 샌드 박스 인 Brackets Shell

    참고 : brackets-shell은 Brackets 프로젝트에서만 사용하도록 유지 관리됩니다. 일부 사람들은 다른 프로젝트에서 앱 셸로 앱을 사용하여 성공을 거두었지만 공식적인 지원을 제공하지 않으며 앱 셸을 쉽게 재사용 할 수 있도록 많은 작업을 수행하지 않았습니다. 많은 사람들이 node-webkit과 같은 프로젝트를 사용하는 것이 더 쉽다는 것을 알게 될 것입니다.

    읽어보기를 말하지만 그럼에도 불구하고 많은 사람들이 있습니다.

프레임 워크 + 툴

  • 다른 답변이 제안한 바와 같이 Adobe AIR .

    개발자는 Adobe® AIR® 런타임을 사용하여 iPhone, iPad, Kindle Fire, Nook Tablet 및 기타 Android ™ 장치뿐만 아니라 Windows 및 Mac OS 데스크탑 용 기본 앱에 동일한 코드를 패키징하여 5 억 이상의 모바일 앱 스토어에 도달 할 수 있습니다 장치.

  • Sencha 는 html5 앱 개발 및 배포를 포함하여 앱 개발자를위한 도구를 판매하는 회사입니다.

비활성 접근법

  • 2015 년 7 월 12 일에 중단 된 베타 버전 인 Tide SDK ( 2015-07-12에 archive.org에 보관 )

    http://www.tidesdk.org/

  • 모질라의 XULRunner가 당신을 대신 할 수 있지만 약간의 오버 헤드를 추가합니다.

  • app.js 는 2013 년 10 월 28 일 ( https://github.com/rogerwang/node-webkit)[node-webkit]을 능가하여 종료되었습니다 .

    단순하면서도 강력하기 때문입니다. AppJS를 사용하면 크로스 플랫폼 코딩이나 새로운 언어 및 도구 학습에 대해 걱정할 필요가 없습니다. 이미 HTML, CSS 및 JavaScript에 익숙합니다. 응용 프로그램 개발에서이 스택보다 나은 점은 무엇입니까? 또한 AppJS는 핵심에서 Chromium을 사용하므로 최신 HTML 5 API를 사용할 수 있습니다. 따라서 응용 프로그램이 수행해야 할 작업에 집중하십시오.

  • 모질라 프리즘 은 폐기되었으며, 슬러그 라인은 다음과 같습니다.

    웹 응용 프로그램을 데스크탑으로 가져 오기
    Prism은 사용자가 웹 응용 프로그램을 브라우저에서 분리하여 데스크탑에서 직접 실행할 수있는 응용 프로그램입니다.


7
모질라 프리즘이 현재 비활성화되었습니다
— Harshith JV

8
Adobe Air를 사용하면됩니다. 모든 종류의 자바 스크립트 템플릿 솔루션 (예 : 핸들 바, 콧수염)을 사용하려는 경우 새로운 function () javascript 호출과 관련된 보안 오류로 인해 대부분 작동하지 않습니다.
— James Parker

그 유용한 힌트에 감사드립니다! 불행히도 나는 위에 나열된 예제를 테스트 할 기회가 없었습니다. 나는 단지 연구를 통해 그것들을 수집했습니다.
— Samuel Herzog

응용 프로그램을 보안 샌드 박스보다 크게 만들 수 있습니다. Air에서 Titanium Desktop으로 전환했지만 TD의 Windows 웹킷 구현에 양식 요소 (입력 / 드롭 다운)에 심각한 문제가 있으므로 현재 대안을 찾고 있습니다. ).
— Vasco Costa

Sentenza Desktop 에서 HTML5 / CSS3 / JS 웹 응용 프로그램을 Mac OS X 응용 프로그램 (.app)으로 패키징 할 수 있습니다 . API 라이브러리도 제공됩니다. Adobe Air 또는 TideSDK와 같은 프레임 워크가 필요하지 않습니다. Mac App Store 배포가 지원됩니다.
— 베니

15

Nodejs 및 Chromium을 사용하는 AppJS를 사용하여 데스크탑 용 html5 앱을 빌드 할 수 있습니다. 그것을 확인하십시오 : http://appjs.com Github 링크 : https://github.com/appjs/appjs


1
비슷한 것은 node-webkit이며 v8 스냅 샷을 사용하여 자바 스크립트를 컴파일하는 것과 같은 멋진 기능이 있습니다. 링크
— 기둥 15

지원 중단 알림 AppJS 프로젝트는 몇 년 동안 활발히 개발되지 않았습니다. 대신 NW.js 또는 Electron을 확인하십시오.
— Aaron Franke

10

Mozilla의 XULRunner를보고 싶을 수도 있습니다. FireFox 브라우저는 10000 피트 수준에서 XULRunner 응용 프로그램입니다 (분명히 매우 정교하지만 ...). 그러나 XULRunner를 사용하면 Javascript 및 XML을 사용하여 응용 프로그램을 만들 수 있으며 브라우저 창은 이러한 구성 요소 중 하나이므로 기본 창을 가져 오면 원하는 거의 모든 작업을 수행 할 수 있습니다.

또한 응용 프로그램의 정교함에 따라 기본적으로 HTML 런타임 인 ​​여러 "위젯"프레임 워크 (예 : Mac의 대시 보드, Yahoo 위젯, Windows 가제트)가 있습니다.


2
XULRunner를 보는 것이 좋습니다. 당신이 묘사하는 것은 이상적이고 잘 문서화되어 있습니다. 크롬도 잘 작동한다고 생각하지만 크롬을 보지 않았습니다.
— Jared Farrish

XUL 러너는 훌륭한 프레임 워크이며 매우 유연하지만 말한대로 잘 문서화되어 있지 않습니다. 초보자는 일을 시작하기 위해 많은 고통을해야합니다.
— esafwan

10

확실히 티타늄을 확인하십시오 . 바로 오늘 저는 기능적인 HTML5 앱을 가져 왔으며 약간만 수정하면 티타늄에 드롭하여 Mac, Windows 및 Linux 용으로 패키지 할 수있었습니다.

또한 앱에 "서버 측"처리가 필요한 경우 PHP, Python 및 Ruby도 지원합니다.


사전 패키지 솔루션을 원한다면 이것이 답이라고 생각합니다.
— dylanized

15
티타늄에 대한 나의 경험은 끔찍했습니다. 외부에서는 훌륭해 보이지만 버그로 채워져 매우 빨리 사용하기가 어렵습니다. 추천 할 수 없습니다.
— 데미안

3
또한 이것이 좋은 선택이라고 생각했지만 1) Linux에서 간단한 "새 프로젝트 생성 / 실행"을 실행할 수 없었습니다 (우분투 11.10) 2) Titanium Desktop이 COmmunity-Driven Drive ( 누군가가 자신의 코드를 필요하지 않는 수단은, 그것은) 죽을 것이다
— 루이스 로보 Borobia

4
나는 이것이 오래되었다는 것을 알고 있지만, 나는이 답변을 읽었으며 티타늄 데스크탑이 죽었다는 것을 알 때까지 시간을 보냈습니다. 따라서 더 이상 옵션이 아닙니다. BTW, github이 Windows 용 도구에서했던 것처럼 c #과 크롬이 내장 된 무언가를 만들 생각입니다.
— NicoGranelli

6
티타늄 데스크톱이되었다 TideSDK tidesdk.org
— Peacemoon



3

Adobe AIR 는 데스크톱 응용 프로그램을 제공하면서 주로 HTML, CSS 및 JavaScript로 작업 할 수 있도록합니다. (주의 : 나는 실제로 그것을 직접 사용하지 않았습니다.)


1
AIR의 통합 브라우저는 오래되어 업데이트되지 않으므로 권장하지 않습니다 (더 많은 프로젝트에서 사용)
— simion314

@ simion314 : AIR이 진행중인 프로젝트이기 때문에 브라우저가 "절대로"업데이트되지 않는 이유가 궁금합니다.
— TJ Crowder

참조 forums.adobe.com/message/6177332을 어도비 AIR의 모바일 부분에 대해 더 작동하고, 모바일에 그들이 StageWebView를 사용하고 그들이 AIR의 웹킷 엔진을 업데이트하지 않습니다는 stagewebview은 그냥 경우, 예를 들어 물건을 표시 제한됩니다 ckeditor 4와 같은 복잡한 자바 스크립트 라이브러리 또는 애플리케이션을로드하려고합니다. 웹킷 엔진과의 일부 비 호환성 (일부는 샌드 박싱과 관련이 있지만 전부는 아님)으로
— 인해 실패합니다.


2

흠 ... HTML5 / CSS / JS 용 가상 머신은 브라우저처럼 들립니다. :)

어도비 AIR는 리치 인터넷 앱을 데스크탑으로 가져 오는 아이디어를 기반으로하기 때문에 트릭을 수행 할 수 있습니다. 그러나 나는 그것을 사용한 적이 없다.

사전 포장 된 웹 브라우저 컨트롤을 사용하는 매우 기본적인 데스크톱 앱을 개발하는 것이 한 가지 방법입니다 (예 : Mac 용으로 개발하는 경우 WebView를 창에 드롭하고 기본 코드를 추가하여 앱에 HTML을로드하십시오) 시작).





1

현재 답은 각 플랫폼마다 다른 솔루션입니다.

  • MAC OSX의 경우 UIWebView를 사용하여 Cocoa Desktop 앱을 만듭니다.
  • Windows의 경우 브라우저 구성 요소가있는 .NET 데스크톱 앱을 만듭니다.

브라우저 구성 요소가있는 창을 사용하는 것에는 몇 가지 제한 사항 (파일 시스템에 액세스하거나 팝업을 표시 할 수 있음)이 있다고 생각합니다.이 방법을 사용하는 것보다 어떤 프로젝트를 알고 있습니까? ...
— clagccs

최고의 답변이며 아무도 인정하지 않습니다. 대부분의 하이브리드 솔루션은 대부분 브라우저처럼 동작하는 웹뷰 구성 요소를 사용합니다. 이것은 당신이 필요로하는 것입니다, 웹뷰를 얻으십시오, html / css / js 및 voila를로드하십시오!
— Dan Ochiana

1

Tomcat 또는 Apache와 같은 내장 서버를 사용할 수 있습니다.

완전한 Java 웹 응용 프로그램에 tomcat을 사용합니다. 브라우저 내부에서 실행하지만 응용 프로그램을 설치해야합니다. 앱을 시작하고 서비스를 시작한 후 브라우저를 여는 바로 가기입니다.

또는 웹킷을 사용해보십시오


1

조금 늦었지만 휴대용 Chrome 버전을 사용하고 작은 Windows 앱을 만들어 설치 한 다음 --kiosk 및 앱 모드에 대한 .ink 바로 가기를 만들 수 있습니다.
크롬 응용 프로그램 바로 가기를 좋아하지만 크롬을 설치하는 곳.


1

Windows에만 필요하다면 HTML 응용 프로그램 (HTA)을 고려해야합니다. IE 5 (10 년 이상) 이후 Internet Explorer의 일부였습니다.

서버 불필요, 완전한 HTML 형식, 로컬 리소스 (COM / USB 포트 포함)에 대한 모든 액세스, 대단합니다. 또한 Visual Studio로 쉽게 디버깅하고 MSHTA.exe에 바인딩하면됩니다.

다음 메타 태그를 사용하여 HTA에서 HTML 5를 활성화 할 수 있습니다.

<!-- enable html5 features --> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>

+1 Linux 및 Mac 지원도 찾으십시오 :)
— Bhargav Nanekalva
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.