195

まず、私はこれを専門的に行うことに興味がありません。私は Web 開発者です。私の同僚は最近 Spotify に移りました。彼は主に Spotify デスクトップ アプリの JavaScript で作業すると言いました。「Chrome フレーム」を使用しており、内部はすべて Web アプリ (HTML/JS/CSS) のように行われているとのことです。

デスクトップ用に何も構築したことがない Web 開発者として、これは素晴らしいニュースです。私がすでに知っているテクノロジーを使用して、ある種の「フレーム」内にそれらを実装できれば、Windows またはクロスプラットフォーム アプリを構築することができます。

データベースについては何も触れていませんが、Web テクノロジを備えた単純な Hello World デスクトップ アプリでさえ、うまくいくでしょう。

では、これについてどうすればよいのでしょうか。正確に何を知る必要がありますか?

4

9 に答える 9

76

デスクトップ開発用のチタンから始めることができます。また、Chromium Embedded Frameworkもご覧ください。基本的には、クロムに基づく Web ブラウザー コントロールです。

これは C++ で記述されているため、必要なすべての低レベル OS の機能 (Growl、トレイ アイコン、ローカル ファイル アクセス、COM ポートなど) をコンテナー アプリで実行し、すべてのアプリケーション ロジックと GUI を html/javascript で実行できます。これにより、http リクエストをインターセプトして、ローカル リソースにサービスを提供したり、カスタム アクションを実行したりできます。たとえば、http://localapp.com/SetTrayIconState?state=activeへの要求はコンテナーによって傍受され、C++ 関数を呼び出してトレイ アイコンを更新する可能性があります。

また、JavaScript から直接呼び出すことができる関数を作成することもできます。

JavaScript を CEF で直接デバッグするのは非常に困難です。Firebug のようなものはサポートされていません。

また、 AppJS.com (HTML、CSS、JavaScript を使用して Linux、Windows、Mac 用のデスクトップ アプリケーションを構築するのに役立ちます) を試すこともできます。

また、@Clint が指摘したように、brackets.io (Adobe) のチームは、Chromium Embedded Framework を使用して、簡単に開始できる素晴らしいシェルを作成しました。これはブラケット シェルと呼ばれます: github.com/adobe/brackets-shell詳細はこちら: clintberry.com/2013/html5-desktop-apps-with-brackets-shell

于 2012-09-02T08:48:51.287 に答える
16

注:AppJSは非推奨であり、推奨されなくなりました。

代わりにNW.jsを見てください。

于 2012-09-02T01:43:07.090 に答える
9

HTML/JS/CSS デスクトップ アプリのソリューションは不足していないようです。

私が見つけた 1 つの解決策は TideSDK: http://www.tidesdk.org/で、ドキュメントを見ると非常に有望に思えます。

Python、PHP、または Ruby で開発し、Mac、Windows、または Linux 用にパッケージ化できます。

于 2013-11-29T06:24:44.793 に答える
3

バブルを破裂させて申し訳ありませんが、Spotifyデスクトップクライアント単なるWebkitベースのブラウザです。もちろん、特定の追加機能を公開しますが、JSエンジンとChromiumレンダリングエンジンを備えているため、JSを実行してHTML/CSSをレンダリングすることしかできません。これは、クライアント側のWebアプリのコーディングと複数のプラットフォームへのデプロイには役立ちません。

探しているのはSenchaTouchに似ています。これは、HTML5アプリをiOS、Android、Blackberryデバイスにネイティブにデプロイできるようにするフレームワークです。これは基本的に、特定のAPI呼び出しと利用可能なデバイス固有の機能の間の仲介役として機能します。

私はappceleratorの経験がありませんが、それはまさにそれを行っているようです-そしてオンラインで非常に好意的なレビューを得ています。あなたはそれを試してみる必要があります(1999年に戻ってMS HTAで転がりたい場合を除いて;)

于 2012-09-02T07:45:30.400 に答える
1

Adobe AIR で Javascript アプリを構築できます… http://www.adobe.com/products/air.html

于 2013-05-21T19:04:20.643 に答える
1

FluidPrism (他にもありますが、私が以前使用していたものです) があることを知っています。これにより、Web サイトをスタンドアロン アプリのように見えるものに読み込むことができます。

Chrome では、Web サイトのデスクトップ ショートカットを作成できます。(Chrome内からそれを行います。アプリにパッケージ化することはできません/すべきではありません)Chromeフレームは異なります:

Google Chrome Frame は、オープンソースの Chromium プロジェクトに基づいて Internet Explorer 用に設計されたプラグインです。これは、Google Chrome のオープン Web テクノロジを Internet Explorer にもたらします。

Web アプリケーションには、そのようなある種のラッパーが必要です。あとは、使い慣れた Web テクノロジです。アプリがオフラインのときに、HTML5ローカル ストレージを使用してデータを保存できます。SQLite を操作することもできると思います。

ただし、OS 固有の機能にアクセスする方法はわかりません。上で説明したことには、「通常の」Web サイトと同じ制限があります。うまくいけば、これがどこから始めるべきかについての何らかのガイダンスを提供します.

于 2012-09-02T01:42:17.017 に答える
0

CEF は、カスタマイズのための多くの柔軟性とオプションを提供します。ただし、迅速に開発することが目的の場合は、node-webkit も適切なオプションです。ノード Web キットは、ノード モジュールを DOM から直接呼び出す機能も提供します。

Node-Webkit を統合するためのネイティブ モジュールがない場合は、マイレージが向上します。ネイティブ モジュール C/C++ または C# では、CEF の方が適しています。

于 2013-11-24T14:49:57.683 に答える