ユーザーインターフェイスにHTMLとCSSを使用し、処理にpython / perl / c ++ / javaを使用するデスクトップアプリケーションを作成する方法

css html javascript python user-interface
ユーザーインターフェイスにHTMLとCSSを使用し、処理にpython / perl / c ++ / javaを使用するデスクトップアプリケーションを作成する方法

異なる言語には異なるGUIツールキットがありますが、HTMLとCSSを少ない労力で使用できる限り優れた魅力的なユーザーインターフェイスを実現することは非常に難しいようです。 javascriptでアプリケーションを実行しません。必要なライブラリがすべて揃っているかどうかは疑問ですが、pythonで実行したいのです。

Pythonでgecko、webkitなどのレンダリングエンジンを使用するにはどうすればよいですか? pythonを使用するのに適しているのはどれですか。javascriptを使用しない「html / cssのみ」のレンダリングエンジンはありますか。

DOMイベントのイベントハンドラを作成し、PythonでDOMを操作するのは簡単ですか?

  11  6


ベストアンサー

これについては、いくつかの方法があります。最も簡単な方法は、基本的にWebkitレンダリングエンジンであるhttp://www.adobe.com/products/air/[Adobe AIR]のようなものを使用することです。拡張されたJavaScriptエンジンを使用すると、より複雑な機能をプログラミングできます。

それ以外の場合は、http://www.kirix.com/labs/wxwebconnect.html [wxWebConnect]プロジェクトをチェックアウトできます。このプロジェクトは、「開発者が独自のアプリケーションに高度なWebブラウザー機能を迅速に統合できるようにする」ことを目的としています。また、wxWidgetsコントロールライブラリとして提供されます。これは、ほとんどのPython開発者が熟知している必要があります。 Mozilla Geckoレンダリングエンジンをアプリケーションに統合します。

1


Mozillaのhttps://developer.mozilla.org/En/XUL[XULプロジェクト]をご覧ください。 HTMLの使いやすさでアプリを構築し、実際のCSSでGUIを「スタイル」できます。

1


基本的にhttp://rctk.googlecode.com/[Remote Control Toolkit]がこれを行います。 ブラウザディスプレイでレンダリングするデスクトップ(プログラミング)スタイルのアプリケーションを作成できます。

html / css / jsの詳細を非表示にしようとしても、基本的にhtml(5)、css、jsが提供するすべてを使用して、新しいウィジェットでシステムを拡張したり、既存のウィジェットを拡張したりできます。

PajamasやGWTとは異なり、javascriptにコンパイルされません。 コードはサーバーサイドのままであり、基本的にあなたがすることは何でもできます(ファイルを開く、接続を開く、状態を保持するなど)

1


すでに他の人から与えられたオプションを補完するには:

いくつかのWebkitバインディング:

  • qtwebkit
    (pyqtまたはpysideの場合)

  • wxwebkit(まだ準備ができていませんが、
    wxpythonのプレリリースが利用可能です)

  • pywebkitgtk(方法がわからない
    Windowsで簡単に入手できます)

gecko / mozillaについては、おそらくhttp://pyxpcomext.mozdev.org/[pyxpcomext]からPyXPCOMを見ることができます。 ここでの違いは-私が正しく理解していれば-python内からmozillaを使用するのではなく、pythonがmozillaに埋め込まれることです。 ただし、Pythonを使用できるxulrunnerアプリケーションを作成することは可能です。

1


特に1つのバックエンド言語について質問した場合、本格的な質問ではなくコメントとしてこの回答を残していました。 しかし、質問は非常に広範です…​ * 4 *バックエンド言語の1つでのHTML / CSSインターフェースの使用について尋ねる。

そのため、次の一連のWeb検索を行う必要があります。

"html renderer" [insert-language-here]
  1. 利用可能なさまざまなオプションを閲覧するのに少し時間を費やします
    HTML / CSSインターフェースをバックエンド言語アプリケーションに埋め込むため。

最終的には、ほとんどの場合、MozillaのGeckoレンダラーを使用することになります…​ そのままの形で、または開発者向けのラッパーを提供する多数のライブラリのいずれかを介して間接的に。

Mozillaテクノロジーについて言えば、XULRunner(CSSとJavaScriptを使用してXMLを使用してUIを簡単に投げることができます)、またはPrism(HTTPサーバーで実行中のアプリを取得して、ユーザーに提示する)デスクトップアプリ)。

0


_update:これは古い答えです。今日では、アプリに組み込みのブラウザー(* webkitプロジェクトなど)を使用したいと考えていますが、執筆時点ではそのようなテクノロジーは存在していませんでした。 ただし、パッケージ化されたアプリに数メガバイトを追加したくない場合でも、答えは有効です。

” ” ‘

軽量サーバー、またはそれ以上-アプリケーションに*埋め込み*します。 それでおしまい。

Javaには、httpを提供するためのクラスがあります。 Pythonもうまくやっています。

mercurialのhg serveの仕組みをご覧ください。 [python]

私はかつて、Javaのlocalhostでhttprequestクラスを使用してhttp経由でaspellスペルチェックを提供する小さなアプリを作成しました。 [winとlinuxで作業]

いくつかのhtmlを出力し、POSTを使用してアクションを実行するサーバーとしてアプリケーションを作成します。 インターフェイスのことはHTML + CSS + JSで行います。 素敵で簡単です。

実行後、ユーザーにlocalhost:somesillyportをポイントさせるか、ブラウザーでlocalhost:somesillyportを開いてトリガーします。

0


Javaで作成する場合は、JavaFXをご覧ください。 公式ウェブサイトから:

__
組み込みブラウザを使用すると、JavaFXアプリケーションで次のタスクを実行できます。

Render HTML content from local and remote URLs

Obtain Web history

Execute JavaScript commands

Perform upcalls from JavaScript to JavaFX

Manage web pop-up windows

Apply effects to the embedded browser

__

0


Windowsに移植する場合は、http://www.terrainformatica.com/htmlayout/ [HTMLLayout]を強くお勧めします。

  1. UIをHTMLとCSSで記述することができます。
    C ++でコードを処理して処理します。

  2. また、TIスクリプト(Javaなどの検証スクリプトを記述することもできます。
    スクリプト)入力を処理する前に検証します。

  3. バイナリサイズは1MB未満であったため、簡単に圧縮できます
    あなたのバイナリで。

  4. オープンソース/無料で使用できました。

  5. また、TIScript / CSSベースのアニメーションを実行できます。

私の知る限り、WindowsでのGUIアプリケーションの開発に最適です。

0


Sciterを確認してください。これは、デスクトップアプリケーションのUIレイヤーとして使用される埋め込み可能なHTML / CSS /スクリプトエンジンとして設計されています。

CodeProjectのhttp://www.codeproject.com/Articles/859098/Sciter-multiplatform-embeddable-HTML-CSS-scripting[Sciter technology Introduction]の記事も役に立つかもしれません。

Sciterには、ほぼ「PythonでJavaScriptシンタックスを使用」したhttp://www.codeproject.com/Articles/33662/TIScript-Language-A-Gentle-Extension-of-JavaScript[TIScript]が搭載されています。

0


HTML5 + CSS + JavaScriptで構築されたGUIを表示するJava Swing / JavaFX DesktopアプリケーションにWebブラウザコンポーネントを埋め込むことができます。 これを行う方法を説明した記事は、http://java.dzone.com/articles/htmlcssjavascript-gui-java-0で見ることができます。

ChromiumをJavaアプリケーションに埋め込むことができるJava Swing / JavaFXライブラリの1つは、http://www.teamdev.com/jxbrowser [JxBrowser]です。 JxBrowser APIを使用して、任意のWebページをロードし、そのDOMおよびJavaScriptを操作できます。 JavaScriptコードからJavaメソッドを呼び出したり、その逆も可能です。 例えば:

import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.BrowserFunction;
import com.teamdev.jxbrowser.chromium.JSValue;
import com.teamdev.jxbrowser.chromium.events.FinishLoadingEvent;
import com.teamdev.jxbrowser.chromium.events.LoadAdapter;

public class JavaScriptJavaSample {
    public static void main(String[] args) {
        Browser browser = new Browser();
        browser.registerFunction("MyFunction", new BrowserFunction() {
            public JSValue invoke(JSValue... args) {
                for (JSValue arg : args) {
                    System.out.println("arg = " + arg);
                }
                return JSValue.create("Hello!");
            }
        });
        browser.addLoadListener(new LoadAdapter() {
            @Override
            public void onFinishLoadingFrame(FinishLoadingEvent event) {
                if (event.isMainFrame()) {
                    Browser browser = event.getBrowser();
                    JSValue returnValue = browser.executeJavaScriptAndReturnValue(
                            "MyFunction('Hello JxBrowser!', 1, 2, 3, true);");
                    System.out.println("return value = " + returnValue);
                }
            }
        });
        browser.loadURL("about:blank");
    }
}

0


タイトルとURLをコピーしました