2008-10-06 6 views
11

작성자가 (잘하면) 도움을 줄 수있는 앱을 만들고 있는데, 어 .. 작성자 가지.완전히 오프 라인으로 실행할 수있는 웹 앱을 만든 사람이 있습니까?

위키와 비슷하지만 한 사람에게는 쿨하다고 생각합니다. 가능한 (대중적인) 대중에게 접근 할 수있는 사이트로 만들고 싶습니다. 그래서 웹 앱으로 만들 생각입니다.

확실히 그렇지 않아도 다른 사이트와의 통합은 없으며 소셜 기능이 없습니다. 그러나 양식에 정보를 입력해야하므로 신속한 구성을 위해 웹이 아마도 최고 일 것입니다.

그러나 실제로 직접 호스팅하고 싶지는 않습니다. 나는 그것을 감당할 수는 없지만, 이것을 사용하는 사람들이 다른 곳에 저장된 그들의 데이터를 원하지 않을 수도 있습니다. 이것은 그들이 작성하고있는 것에 관한 개인 정보이며, 나는 그들이 그것으로 나를 믿을 것이라고 기대하지 않을 것입니다. 그래서 두꺼운 클라이언트 응용 프로그램으로 만들 생각입니다.

그리고 거기에 문제가 있습니다. 양식 데이터 입력을 주로 잠재적 인 사용자 (예전 웹 앱)가 쉽게 사용할 수 있도록하는 방법을 만드는 방법뿐만 아니라 오프라인에서도 데이터를 완전히 제어 할 수 있습니다 (예 : 클라이언트 앱).

나는 다음과 같은 솔루션 참조 : 두꺼운 클라이언트 자바 애플 리케이션과 같은

  1. 빌드를 사람들이 전체 일을 다운로드하기 전에 함께 플레이 할 수있는 애플릿으로 그물에 cutdown 버전을 실행합니다.
  2. 온라인 용 Flex 앱과 오프라인 용 Air 앱 (기본적으로 동일한 소스 별 빌드 스크립트)으로 빌드하십시오.
  3. 표준 웹 응용 프로그램 (HTML, JS 등)으로 빌드 할 수 있지만 다운로드 가능한 버전을 사용하면 컴퓨터에 이라는 사이트를 완전히 실행합니다. 전혀 그물을 만지지는 않을 것입니다.

1과 2 (I는 별도로로 찾고 있어요) 무시, 나는 3가 포함 것이라고 생각 :

  • , 그게 내 코드가 작은 웹 서버를 포함 설치 준비까지 포장 운영.
  • mySQL과 같은 DB를 SQLite와 같은 것으로 다시 매핑합니다.
  • 서버를 실행하고 브라우저를 올바른 위치로 열었을 때 어쩌면 Prism과 같은 것을 사용하여 모든 broswer 물건을 숨길 수있는 일종의 기분 앱을 만듭니다.

그래서 예전에 이런 일을 해본 적이 있습니까?

만약 그렇다면 어떤 문제가 발생 했습니까?

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

(또한, Joyent Slingshot 또 다른 질문에 제안했지만, 그것은 내가 경험이없는의 RoR을 (의)와 나는 리눅스에서 실행되지 않습니다 99 % 확신, 그래서 그것은 나를 위해 옳지 않아 .)

답변

4

새 HTML5 오프라인 응용 프로그램 기능인 응용 프로그램 캐시, 클라이언트 측 데이터베이스 및 로컬 저장소 API를 사용하는 추가 옵션이 있습니다.

현재 Safari가 이들 중 하나를 지원하는 유일한 브라우저이며, 클라이언트 측 데이터베이스와 로컬 저장 장치 부분 만 지원한다고 생각합니다. 이러한 모든 기능은 파이어 폭스 나이틀리는 그들 중 많은 사람들을 지원하는 webkit nightlies 지원

(지금 아마 모든?) [편집 (olliej) : 수정, 파이어 폭스 3가 응용 프로그램 캐시를 지원하지만 슬프게도 클라이언트 쪽 DB]

2

저희 웹 사이트를 로컬로 테스트하기 위해 세 번째 옵션과 비슷한 것을 사용하고 있습니다. 잘 작동합니다.

우리의 패키지 웹 서버는 당신이 필요로하는 것을 달성하기에 충분히 작지는 않지만, 우리는 또한 그것을 작게 유지하려고 노력하지 않았습니다. 웹 서버 코드를 충분히 작은 패키지에 패키징 할 수 있다면이 접근 방식이 효과가없는 이유를 알 수 없습니다.

-1

위의 내용을 위 제안한대로 Wiki 시스템을 사용하여 문제를 해결하는 것이 좋습니다. 이제 문제가 될 수 있습니다.

Trac을 사용할 수 있습니다. 매우 간단하며 GUI를 사용자 정의 할 수 있습니다. 그러나 좀 더 진보 된 것을 선호한다면 MoinMoin을 사용하십시오. 나는 수년간 그것을 사용했고, IMO는 아주 훌륭하고 강력한 위키 시스템입니다.

위키를 선택하면 처음부터 웹 응용 프로그램을 작성하는 것을 잊지 마십시오. yor 질문에 따르면 최선의 접근 방식은 작동하고 사용자 요구에 맞게 사용자 정의/수정하는 것을 선택하는 것입니다.

+0

위키 시스템이라고 말하진 않았지만 wiki 시스템과 같았습니다. 실제로는 같은 목표를 달성 한 것처럼 영혼을 의미했습니다. 나는 위키가 내가 달성하려고하는 것에 대해 생각할 수있는만큼 가깝기 때문에 그런 식으로 표현했다. 내 제품을 설명하는 번거 로움을 원치 않는다 :-) – SCdF

5

Google Gears은 Google Apps (Google 리더, Gmail, 문서 도구 등) 몇 개를 오프라인으로 제공하는 데 사용됩니다.

Google Gears 란 무엇인가요?

Gears는 개발자가 오프라인으로 실행할 수있는 웹 응용 프로그램을 만들 수있는 오픈 소스 브라우저 확장 프로그램입니다. 저장, 서버

  • 에게 데이터베이스에 연락 할 필요 및없이

    • 로컬 서버, 응용 프로그램 리소스 (HTML, 자바 스크립트, 이미지 등)를 캐시 및 봉사 : 기어는 세 가지 주요 기능을 제공합니다 브라우저
    • 작업자 스레드 풀 내에서 데이터에 액세스은에 비싼 작업을 수행하여 더 많은 반응

    웹 응용 프로그램을 만들려면배경은

    입니다. Gears는 현재 초기 개발자 용 릴리스입니다. 현재 프로덕션 응용 프로그램의 실제 사용자가 사용하기위한 것은 아닙니다.

    응용 프로그램과 함께 Gears를 사용하고자하는 개발자는 Gears Developer Page을 방문하십시오.

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

  • 하지만 당신은 아직 초기 단계의 읽을.

    +0

    Google Gears는 SilverLight와 Flex에 대한 독자적인 확장 인 html5는 수년간 우리가 벗어나려고 시도해 왔던 벤더 잠금 기능이없는 경우와 동일한 기능을 제공합니다. 예, 모든 브라우저가 아직 html5를 지원하지는 않지만 실현 될 것입니다 (IE는 제외) – olliej

    +0

    Safari 3.1이 클라이언트 사이드 데이터베이스를 지원한다는 사실을 알 수 있습니다 (크롬은 분명히 기어를 사용하지 않았지만) 나는 각자의 유치원이 모든 것을지지한다고 생각한다. – olliej

    +0

    Google Gears 링크의 시작 부분에서 'G'를 놓쳤습니다. :-) –

    0

    또한, 나는 moin moin wiki 소프트웨어는 자신의 웹 서버를 포함하는 desktop version을 가지고 생각합니다. 이 내용은 파이썬에서 쉽습니다. 이후 batteries are included입니다.

    어떻게하는지 확인할 수 있습니다.

    0

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

    아니면 약간의 웹 서버를 만들 수는 (내가 비슷한 목적을 위해 사용 루아에있는 작은 웹 서버, libaries 모든과 함께 몇 megas있다). 그러나이 경로를 고려해야 할 가장 큰 문제는 웹 서버가 환경 변수에 의존하는 것을 원하지 않는다는 것입니다. 완전히 자율적으로 사용하기를 원합니다. 당신은 모든 변수 토아 설정 파일을 분리하는 것을 시도해야하며 (번들 스타일)

    아니면 웹 페이지

    또는 GoogleGears를 표시하는 자바 클라이언트 응용 프로그램을 사용할 수와 함께 할 수 있지만,이 (거의)와 동일합니다 플렉스 + 에어. 그건 당신이 당신은 언어를 지정하지 않은

    0

    잘 알고있는거야하지만 몇 년 전 Karigell 보았다 그래서 만약 플렉스 + 공기를 선택합니다. Django 또는 TurboGears와 비슷한 Python 웹 프레임 워크이지만 프레임 워크의 오버 헤드가 없습니다.

    내 주위에서 어지럽 혀지면서, 그것이 당신의 목적을 위해 작동하는 것처럼 보입니다. 내장 된 웹 서버가 있습니다 (원하는 모든 서버를 사용할 수 있지만). 파이썬이 지원하는 데이터베이스를 사용할 수 있습니다.

    게다가 Python은 Linux에서 잘 작동합니다. :)

    0

    앱에 클라이언트 측 기술 (DHTML과 Google Gears 등을 사용하여 데이터를 오프라인으로 저장하는 방식)에 의존하는 일반 웹 앱을 만들었다면 한 번 열었을 때 서버를 사용하면 아마도 비용이 많이 들지 않는 기본 공유 호스팅 계정에서 호스팅 할 수 있습니다. 다른 운영 체제와의 호환성, 설치 패키지화 등과 같은 데스크톱 응용 프로그램의 모든 문제에 대해 걱정할 필요가없는 가장 쉬운 출발점 일 수 있습니다.하지만 그 뒤에 대규모 서버 리소스가 필요하지는 않습니다.

    0

    당신은 어도비 AIR에서 HTML, JS와 어떤 다른 사용할 수 있습니다 그리고 당신도 로컬에 데이터를 저장하는 옵션을 많이해야합니다.

    +0

    감사합니다.하지만이 대화에 AIR를 별도로보고 있으므로 옵션 3에 대한 생각을 실제로 찾고 있습니다. – SCdF

    6

    영감을 얻으려면 tiddlywiki을 봐야한다고 생각합니다.

    JavaScript로 작성된 위키는 단일 HTML 파일에 완전히 포함되어 있습니다. 브라우저에 file : /// URL로로드하면 서버가 필요 없습니다.

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

    0

    자바 세계에서 당신은 데이터베이스로 좋아하는 프레임 워크 및 사용 HSQLDB를 사용하여 웹 응용 프로그램을 구현, 서버에 대한 부두를 사용할 수 있습니다 - 그것은 당신의 용기 (부두)에서 완전히 살고있다. 웹에 미리보기 응용 프로그램을 배포하고 다운로드 가능한 오프라인 버전 패키지를 설치할 수 있습니다.

    2

    내가 AIR가 갈 수있는 방법이라고 생각 ..

    0

    또한 XULRunner가 또는 프리즘

    그들은 파이어 폭스, 썬더 버드와 주스가 내장 된 오픈 소스 기술을 것

    를 사용하여 고려할 수,과 같은 작업을 수행 할 수 있습니다 파이어 폭스 자체가 가지고있는 동일한 리치 API에 대해 XML과 자바 스크립트로 앱을 개발하십시오. 물론이 크로스 플랫폼도, 그래서 더 많은 정보를 원하시면 여기를 ... 맥/리눅스/윈도우에

    확인 작업 것 :이 같은 자신을 일을 생각하고 있었는데 https://developer.mozilla.org/en/XULRunner

    0

    . 내 계획은 django를 사용하여 응용 프로그램을 작성하고 django의 테스트 서버를 시작하고 지정된 포트에서 기본 브라우저를 여는 스크립트를 작성하는 것이 었습니다. 내 계획은

    또한

    , 하나 개의 패키지로 포장하는 것이 좋을 것이다 ... SQLite는 사용하는 것이었다 그래서 어떤 dependecies없이 응용 프로그램을 실행할 수 있습니다 설치 장고없는 사용자 ... 솔루션 3

    1

    일부 포인터 : GUI를 부분에 대한

    • ExtJS는 정말 좋은 것 같습니다.

    • 저장소 부분에는 다른 저장소 백엔드를 추상화하는 멋진 자바 스크립트 라이브러리가 있습니다 (PersistJS). PersistJS에 대한

    지원 백엔드 :

    1. 플래시 : 플래시 8 영구 저장소.
    2. 기어 : Google Gears 기반 영구 저장 장치.
    3. localstorage : HTML5 임시 보관함.
    4. whatwg_db : HTML5 초안 데이터베이스 저장소.
    5. 글로벌 저장소 : HTML5 드래프트 스토리지 (구 사양).
    6. 즉, Internet Explorer 사용자 데이터 동작입니다.
    7. 쿠키 : 쿠키 기반 영구 저장소.