완전히 오프라인으로 실행할 수 있는 웹앱을 만든 사람이 있나요?[닫은]

StackOverflow https://stackoverflow.com/questions/173378

  •  05-07-2019
  •  | 
  •  

문제

저는 작성자가 (희망적으로) 그들을 돕기 위해 사용할 수 있는 앱을 만들고 있습니다. 작가 것들.

위키처럼 생각하면 한 사람만을 위한 것이지만 더 멋집니다.나는 그것을 (잠재적으로) 좋아하는 대중이 가능한 한 접근할 수 있게 만들고 싶기 때문에 웹앱으로 만들까 생각 중입니다.

반드시 그럴 필요는 없습니다. 다른 사이트와의 통합도 없고 소셜 기능도 없습니다.그러나 양식에 정보를 입력하는 작업이 포함되므로 신속한 구축을 위해서는 웹이 아마도 가장 좋을 것입니다.

그러나 나는 실제로 그것을 직접 호스팅하고 싶지 않습니다.나는 그것을 살 여유가 없었지만 이것을 사용하는 사람들은 자신의 데이터가 다른 곳에 저장되는 것을 원하지 않을 수도 있다는 것이 대부분입니다.이것은 그들이 작성하고 있는 내용에 대한 개인 정보이고 그들이 나를 믿을 것이라고는 기대하지 않습니다. 그래서 저는 그것을 두꺼운 클라이언트 앱으로 만들까 생각하고 있습니다.

그리고 여기에는 주로 양식 데이터 입력에 중점을 두는 응용 프로그램을 잠재 사용자가 쉽게 사용할 수 있도록 만드는 방법(예, 웹 앱)과 오프라인에서도 사용자가 자신의 데이터를 완전히 제어할 수 있음을 알 수 있도록 만드는 방법(예, 두꺼운 클라이언트 앱)이 있습니다.

다음과 같은 해결책이 있습니다.

  1. 씩 클라이언트 Java 앱으로 구축하고 전체를 다운로드하기 전에 사람들이 사용할 수 있는 애플릿으로 인터넷에서 컷다운 버전을 실행합니다.
  2. 온라인용 Flex 앱과 오프라인용 Air 앱으로 빌드합니다(기본적으로 동일한 소스 다른 빌드 스크립트).
  3. 표준 웹 앱(HTML, JS 등)으로 구축하되 어떻게든 사이트를 실행하는 다운로드 가능한 버전을 갖습니다. 완전히 컴퓨터에서.네트에 전혀 닿지 않을 것입니다.

1과 2를 무시하고(따로 조사하고 있습니다) 3에는 다음이 포함될 것이라고 생각합니다.

  • 내 코드가 있고 실행할 준비가 된 작은 웹 서버가 포함된 설치를 패키징합니다.
  • mySQL과 같은 DB를 SQLite와 같은 것으로 다시 매핑합니다.
  • 다음과 같은 것을 사용하여 서버를 실행하고 브라우저를 올바른 위치로 여는 일종의 편리한 앱을 만듭니다. 프리즘 브라우저 전체를 숨기려고요.

그래서, 전에도 이런 일을 해 본 적이 있나요?

그렇다면, 어떤 문제에 직면했나요?

마지막으로, 내가 생각하지 못한 또 다른 해결책이 있습니까?'

(또한, 조이언트 새총 다른 질문에 대한 제안이었지만 RoR(저는 경험이 없습니다)이고 Linux에서 실행되지 않는다고 99% 확신하므로 저에게는 적합하지 않습니다.)

도움이 되었습니까?

해결책

추가 옵션이 있으며 이는 새로운 HTML5 오프라인 응용 프로그램 기능, 즉 응용 프로그램 캐시, 클라이언트 측 데이터베이스 및 로컬 스토리지 API를 사용하는 것입니다.

현재 Safari는이 중 하나를 지원하는 유일한 배송 브라우저라고 생각하며 클라이언트 측 데이터베이스 및 로컬 스토리지 부품 만 지원한다고 생각합니다. 그만큼 Webkit Nightlies 이러한 모든 기능을 지원하면 Firefox Nightlies가 많은 기능을 지원합니다 (아마도 지금?)

edit (olliej) : 수정, Firefox 3은 응용 프로그램 캐시를 지원하지만 클라이언트 측 DB는 아님

다른 팁

나는 당신이 봐야한다고 생각합니다 Tiddlywiki 영감을 위해.

단일 HTML 파일에 전적으로 독립적 인 자바 스크립트로 작성된 Wiki입니다. 파일로 브라우저에로드하여 /// URL이므로 서버가 필요하지 않습니다.

나는 다양한 주제에 대한 메모를 유지하기 위해 개인 위키로 사용합니다.

구글 기어 Google 앱 중 일부(Google 리더, Gmail, 문서 등)를 오프라인으로 제공하는 데 사용됩니다.

Google Gears란 무엇인가요?

Gears는 개발자가 오프라인으로 실행할 수있는 웹 응용 프로그램을 만들 수있는 오픈 소스 브라우저 확장입니다.Gears는 세 가지 주요 기능을 제공합니다.

  • 서버에 문의하지 않고도 애플리케이션 리소스 (HTML, JavaScript, 이미지 등)를 캐시 및 제공하는 로컬 서버
  • 브라우저 내에서 데이터를 저장하고 액세스하기 위한 데이터베이스
  • 웹 애플리케이션을보다 반응성있게 만들기 위해 작업자 스레드 풀

백그라운드에서 값 비싼 작업을 수행함으로써

Gears는 현재 초기 액세스 개발자의 릴리스입니다.현재로서는 아직 프로덕션 애플리케이션에서 실제 사용자가 사용할 수 없습니다.

귀하의 애플리케이션에서 Gears를 사용하는 데 관심이 있는 개발자라면 다음을 방문하세요. Gears 개발자 페이지.

컴퓨터에 Gears를 설치하려면 Gears 홈 페이지를 방문하세요.그러나 Gears는 아직 일반적인 용도로 사용되지 않습니다.

하지만 읽어보면 아직은 초기 단계입니다.

우리는 웹 사이트를 로컬에서 테스트하기 위해 세 번째 옵션과 유사한 것을 사용하고 있습니다. 잘 작동합니다.

포장 된 웹 서버는 필요한 것을 달성하기에 충분히 작지 않지만 다시 우리는 그것을 작게 유지하려고 노력하지 않았습니다. 웹 서버 코드를 충분히 작은 패키지로 패키지 할 수 있다면이 접근 방식이 작동하지 않는 이유는 없습니다.

나는 공기가 갈 길이라고 생각한다 ..

체크인 했습니까? Google 기어?

솔루션 3에 대한 일부 포인터 :

  • GUI 부분의 경우 extjs 정말 멋져 보입니다.

  • 스토리지 부분의 경우 다른 스토리지 백엔드를 추상화하는 멋진 JavaScript 라이브러리가 있습니다. persistjs.

persistjs를위한 지원되는 백엔드 :

  1. 플래시 : Flash 8 영구 저장소.
  2. 기어 : Google 기어스 기반 영구 스토리지.
  3. LocalStorage : HTML5 드래프트 스토리지.
  4. WHATWG_DB : HTML5 드래프트 데이터베이스 스토리지.
  5. GlobalStorage : HTML5 드래프트 스토리지 (기존 사양).
  6. IE : Internet Explorer userData 동작.
  7. 쿠키 : 쿠키 기반 영구 저장소.

또한, 나는 생각합니다 Moin Moin Wiki 소프트웨어는 다음과 같습니다 데스크탑 버전 여기에는 자체 웹 서버가 포함됩니다. 이 물건은 파이썬에서 쉽습니다 배터리가 포함되어 있습니다.

그들이 어떻게하는지 확인하고 싶습니까?

WebKit 또는 Firefox의 백본을 사용하여 전용 클라이언트를 만들 수 있습니다. 일부 게임은 예를 들어 UI에 해당 솔루션을 사용합니다.

또는 약간의 웹 서버를 만들 수 있습니다 (LUA에는 비슷한 목적으로 사용하는 Lua에 작은 웹 서버가 있습니다. 그러나이 경로를 취하면 가장 큰 문제는 웹 서버가 환경 변수에 의존하기를 원하지 않는다는 것입니다. 모든 변수 TOA 구성 파일을 분리하고 수행해야합니다 (번들 스타일).

또는 Java 클라이언트 응용 프로그램을 사용하여 웹 페이지를 표시 할 수 있습니다.

또는 Google 기어스이지만 Flex+Air와 거의 동일합니다. 그러니 당신이 익숙한 것이라면 Flex+Air를 선택하십시오.

당신은 언어를 지정하지 않았지만 내가 보았습니다 카리겔 몇 년 전. Django 또는 Turbogears와 유사한 Python Web Framework이지만 해당 프레임 워크의 오버 헤드는 없습니다.

내 엉망으로부터, 그것은 당신의 목적에 효과가있는 것처럼 보입니다. 내장 웹 서버가 있으며 (원하는 서버를 거의 사용할 수 있지만) Python이 지원하는 데이터베이스를 사용할 수 있습니다.

또한 Python은 Linux에서 잘 작동합니다. :)

앱을 클라이언트 측 기술에 크게 의존하는 일반적인 웹 앱 (DHTML 및 좋아요 Google 기어 이미 제안 된대로 데이터를 오프라인으로 저장하려면) 일단 열린 일단 서버와의 상호 작용이 많지 않았을 것입니다. 아마도 그다지 비용이 많이 들지 않는 기본 공유 호스팅 계정에서 물건을 호스팅 할 수 있습니다. 다른 운영 체제와의 호환성, 설치 포장 등과 같은 데스크탑 앱의 모든 문제에 대해 걱정할 필요가 없으므로 가장 쉬운 출발점 일 수 있지만 그 뒤에 거대한 서버 리소스가 필요하지 않습니다.

HTML, JS 및 Adobe Air에서 다른 것을 사용할 수 있으며 로컬에서 데이터를 저장하는 많은 옵션이 있습니다.

Java World에서는 서버에 Jetty를 사용하고, 좋아하는 프레임 워크를 사용하여 웹 앱을 구현하고 HSQLDB를 데이터베이스로 사용할 수 있습니다. 컨테이너 (Jetty)에 전적으로 남아 있습니다. 웹에서 미리보기 앱과 패키지 다운로드 가능한 오프라인 버전을 배포 할 수 있습니다.

APACHE/MYSQL/PHP의 휴대용 분포가 있습니다 (USB 키에 배치) :

http://portableapps.com/apps/development/xampp

이것은 귀하의 요구에 쉽게 적응해야합니다.

Xulrunner 또는 Prism 사용을 고려할 수도 있습니다

이들은 Firefox, Thunderbird 및 Joost가 구축 된 OpenSource 기술이며, Firefox 자체와 동일한 풍부한 API에 대해 XML 및 JavaScript에서 앱을 개발할 수 있습니다. 물론 이것은 크로스 플랫폼이므로 Mac/Linux/Windows에서 작동합니다 ...

자세한 내용은 여기를 확인하십시오.https://developer.mozilla.org/en/xulrunner

나는 이런 일을 스스로 할 생각이었다. 내 계획은 django를 사용하여 앱을 작성하고 Django의 테스트 서버를 시작하고 지정된 포트에서 기본 브라우저를 열는 스크립트를 작성하는 것이 었습니다. 내 계획은 sqlite를 사용하는 것이 었습니다 ...

또한 하나의 패키지에 포장하는 것이 좋을 것이므로 Django가 설치되지 않은 사용자는 부근없이 앱을 실행할 수 있습니다 ...

위에서 지적했듯이 내 제안은 위키 시스템을 사용하여 문제를 해결하는 것입니다. 이제 질문은 다음과 같습니다.

당신이 사용할 수있는 트랙, 매우 간단하고 GUI를 사용자 정의 할 수 있습니다. 하지만 더 진보 된 것을 선호한다면 사용하십시오 모인 모인. 나는 그것을 몇 년 동안 사용했고, IMO는 매우 훌륭하고 강력한 위키 시스템입니다.

Depiste wich Wiki를 선택할 것입니다. 처음부터 웹 애플을 쓰는 것을 잊어 버리십시오. YOR 질문에 따르면 가장 좋은 방법은 작동하는 것을 선택하고 필요에 맞게 사용자 정의/수정하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top