11

私は、作成者が (願わくば) 彼らを支援するために使用するアプリを構築しています。

wiki のように考えてみてください。私の(潜在的な)熱狂的な大衆にできるだけアクセスできるようにしたいので、ウェブアプリにすることを考えています.

もちろんそうである必要はありません。他のサイトとの統合やソーシャル機能はありません。ただし、フォームに情報を入力する必要があるため、迅速な構築にはおそらく Web が最適です。

しかし、私はそれを自分でホストしたくありません。買う余裕はありませんでしたが、ほとんどの場合、これを使用する人々は自分のデータを他の場所に保存したくないと考えています. これは彼らが書いていることに関する個人情報であり、彼らが私を信頼してくれるとは思えないので、シッククライアント アプリにすることを考えています。

そこに問題があります。主にフォーム データ入力に焦点を当てたアプリケーションを潜在的なユーザーが簡単に利用できるようにする方法 (イェーイ Web アプリ) だけでなく、データを完全に制御していることをオフラインでも確認できるようにする方法 (イェーイ シック クライアント アプリ) です。

次の解決策が表示されます。

  1. それをシック クライアント Java アプリとして構築し、縮小バージョンをアプレットとしてネット上で実行して、ユーザーが完全なものをダウンロードする前にプレイできるようにします。
  2. オンライン用の Flex アプリとオフライン用の Air アプリとしてビルドします (基本的に同じソースの別のビルド スクリプト)。
  3. 標準の Web アプリ (HTML、JS など) としてビルドしますが、ダウンロード可能なバージョンを使用して、コンピューター上でサイトを完全に実行します。ネットには一切触れません。

1と2を無視して(私はそれらを別々に調べています)、3には以下が含まれると思います:

  • 私のコードを実行する準備ができている小さな Web サーバーを含むインストールをパッケージ化します。
  • DB を mySQL などから SQLite などに再マッピングします。
  • サーバーを実行し、ブラウザーを適切な場所に開く何らかの便利なアプリを作成します。おそらく、Prismのようなものを使用して、ブラウザー全体を非表示にします。

それで、あなたは今までにこのようなことをしたことがありますか?

もしそうなら、どのような問題に遭遇しましたか?

最後に、私が思いつかなかった別の解決策はありますか? '

(また、Joyent Slingshotは別の質問に対する提案でしたが、これは RoR (私は経験がありません) であり、Linux では動作しないと 99% 確信しているので、私には適切ではありません。)

4

17 に答える 17

6

インスピレーションを得るには、 tiddlywikiを参照する必要があると思います。

これは、単一の html ファイルに完全に自己完結型の JavaScript で書かれた wiki です。これを file:/// URL としてブラウザーにロードするため、サーバーは必要ありません。

さまざまなテーマについてメモを残すための個人的な wiki として使用しています。

于 2008-10-06T08:19:10.597 に答える
5

Google Gearsは、いくつかの Google アプリ (Google リーダー、Gmail、ドキュメントなど) をオフラインで提供するために使用されます。

Google Gears とは何ですか?

Gears は、開発者がオフラインで実行できる Web アプリケーションを作成できるオープン ソースのブラウザー拡張機能です。Gears には、次の 3 つの主要な機能があります。

  • サーバーに接続する必要なく、アプリケーション リソース (HTML、JavaScript、画像など) をキャッシュして提供するためのローカル サーバー
  • ブラウザ内からデータを保存およびアクセスするためのデータベース
  • Web アプリケーションの応答性を高めるためのワーカー スレッド プール

バックグラウンドで高価な操作を実行することによって

Gears は現在、早期アクセスの開発者向けリリースです。現時点では、本番アプリケーションで実際のユーザーが使用することはまだ意図されていません。

アプリケーションで Gears を使用することに関心のある開発者の方は、Gears 開発者ページにアクセスしてください。

コンピュータに Gears をインストールする場合は、Gears のホームページにアクセスしてください。ただし、Gears はまだ一般的な使用を想定していないことに注意してください。

しかし、あなたが読んでいるように、それはまだ初期段階です.

于 2008-10-06T07:14:14.270 に答える
4

追加のオプションがあります。それは、新しい HTML5 オフライン アプリケーション機能、つまりアプリケーション キャッシュ、クライアント側データベース、およびローカル ストレージ API を使用することです。

現在、これらのいずれかをサポートする出荷ブラウザは Safari だけであり、クライアント側のデータベースとローカル ストレージ部分のみをサポートしていると思います。Webkit ナイトリーはこれらの機能のすべてをサポートし、Firefox ナイトリーはそれらの多くをサポートします (おそらくすべてをサポートしますか?)

[編集 (olliej): 修正、Firefox 3 はアプリケーション キャッシュをサポートしていますが、残念ながらクライアント側の DB はサポートしていません]

于 2008-10-06T07:04:25.817 に答える
2

AIRが一番だと思います。

于 2008-10-07T02:05:52.580 に答える
2

3 番目のオプションと同様のものを使用して、Web サイトをローカルでテストしています。うまく動作します。

私たちのパッケージ化されたウェブサーバーは、あなたが必要とするものを達成するのに十分なほど小さくはありません. Web サーバー コードを十分に小さいパッケージにパッケージ化できる場合、このアプローチが機能しない理由がわかりません。

于 2008-10-06T06:52:40.163 に答える
1

Google Gearsにチェックインしましたか?

于 2008-10-06T07:10:26.383 に答える
0

XULRunnerまたはPrismの使用を検討することもできます

これらはFireFox、Thunderbird、Joostが構築されているオープンソース技術であり、FireFox自体が持っているのと本質的に同じリッチAPIに対してXMLとJavaScriptでアプリを開発することができます。そしてもちろん、これはクロスプラットフォームでもあるので、Mac / Linux/Windowsで動作します...

詳細については、こちらを確認してください: https ://developer.mozilla.org/en/XULRunner

于 2008-10-22T12:50:37.470 に答える
0

Webkit または Firefox のバックボーンを使用して専用クライアントを作成できます。たとえば、一部のゲームでは、そのソリューションを UI に使用しています。

または、小さな Web サーバーを作成することもできます (Lua には小さな Web サーバーがあり、同様の目的で使用しています。ライブラリとすべてを備えた数メガしかありません)。ただし、このルートを使用する場合、考慮すべき最大の問題は、Web サーバーを環境変数に依存させたくないということです。完全に自律的にする必要があります。すべての変数を構成ファイルに分離して、それで完了するようにする必要があります (バンドル スタイル)。

または、Java クライアント アプリケーションを使用して Web ページを表示することもできます。

または GoogleGears ですが、これは Flex+Air と (ほぼ) 同じです。慣れている場合は Flex+Air を選択してください

于 2008-10-06T07:32:34.357 に答える
0

自分でこんなことをしようと思っていました。私の計画は、django を使用してアプリを作成し、django のテスト サーバーを起動し、指定されたポートで既定のブラウザーを開くスクリプトを作成することでした。私の計画はSQLiteを使用することでした...

また、django をインストールしていないユーザーが依存関係なしでアプリを実行できるように、1 つのパッケージにまとめておくとよいでしょう...

于 2008-10-27T23:27:25.787 に答える
0

Javaの世界では、サーバーにjettyを使用し、お気に入りのフレームワークを使用してWebアプリケーションを実装し、hsqldbをデータベースとして使用できます.hsqldbは完全にコンテナ(jetty)に存在します. プレビュー アプリを Web 上に展開し、ダウンロード可能なオフライン バージョンをパッケージ化できます。

于 2008-10-06T09:12:52.780 に答える
0

Adobe AIR では HTML や JS などを使用でき、データをローカルに保存するオプションも多数あります。

于 2008-10-06T08:14:37.733 に答える
0

Apache/MySQL/PHP のポータブル ディストリビューションがあります (USB キーに配置するため):

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

これは、ニーズに合わせて簡単に調整できます。

于 2008-10-06T09:47:21.463 に答える
0

また、 moin moin wikiソフトウェアには、独自の Web サーバーを含むデスクトップ バージョンがあると思います。電池が含まれているので、これは Python では簡単です。

彼らがどのようにそれを行うかをチェックしたいかもしれませんか?

于 2008-10-06T07:17:10.673 に答える
0

あなたは言語を指定していませんでしたが、私は数年前にカリゲルを見ました。Django や TurboGears に似た Python Web フレームワークですが、これらのフレームワークのようなオーバーヘッドはありません。

いじってみると、あなたの目的には合っているようです。組み込みの Web サーバーがあり (必要なほとんどのサーバーを使用できますが)、Python がサポートする任意のデータベースを使用できます。

さらに、Python は Linux とうまく連携します。:)

于 2008-10-06T07:58:05.210 に答える
0

アプリをクライアント側のテクノロジに大きく依存する通常の Web アプリ (既に提案されているように、DHTML やGoogle Gearsなどを使用してデータをオフラインで保存する) を作成した場合、一度開くと、サーバーとのやり取りはほとんどありません。それほど費用がかからない基本的な共有ホスティング アカウントで物事をホストします。さまざまなオペレーティング システムとの互換性、インストールのパッケージ化など、デスクトップ アプリに関するすべての問題を心配する必要がないため、これが最も簡単な出発点かもしれません。また、その背後に大量のサーバー リソースも必要ありません。

于 2008-10-06T08:09:14.127 に答える
-1

上で指摘したように、私の提案は、Wiki システムを使用して問題を解決することです。ここでの質問は次のようになります。

Tracを使用できます。非常にシンプルで、GUI をカスタマイズできます。しかし、より高度なものを好む場合はMoinMoinを使用してください。私はそれを何年も使用しており、IMO は非常に優れた強力な wiki システムです。

どのウィキを選択しても構いませんが、Web アプリをゼロから作成することは忘れてください。あなたの質問によると、最善のアプローチは、機能するものを選択し、ニーズに合わせてカスタマイズ/変更することです。

于 2008-10-06T07:12:35.130 に答える