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.js2013 년 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.