| 原作者 | エムウェブ |
|---|---|
| 初回リリース | 1.0.0 / 2005年12月 |
| 安定版リリース | 4.11.1 [1]
/ 2024-11-05; 27日前 |
| リポジトリ | github.com/emweb/jwt |
| 書かれた | ジャワ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | ウェブフレームワーク |
| ライセンス | デュアルライセンス: GNU 一般公衆ライセンスまたは商用ライセンス |
| Webサイト | ウェブツールキット |
JWt (発音は「ジェイウィッティ」) は、 Emweb が開発したJava プログラミング言語用のオープンソースの ウィジェット中心のWeb アプリケーション フレームワークです。確立された GUI アプリケーション開発パターンを使用する API を備えています。プログラミング モデルは、Swingに似たコンポーネント ベースでイベント駆動型です。
このライブラリの目的は、従来のモデル・ビュー・コントローラ(MVC) モデルの代わりに、デスクトップ アプリケーション API で使用されるステートフル コンポーネント モデルを Web 開発に適用して、そのメリットを享受することです。ページ レベルで MVC を使用するのではなく、MVC は個々のコンポーネント レベルにプッシュされます。
ライブラリはデスクトップ アプリケーション開発モデルを使用しますが、セマンティック URL、ブラウザー履歴ナビゲーション サポート、国際化、テーマ、スタイル設定などの Web 固有の機能もサポートしています。
このライブラリのユニークな機能は、ブラウザ レンダリング モデルの抽象化レイヤーです。ライブラリは、 Ajax 対応ブラウザとの通信にAjax を使用し、他のユーザー エージェント (アクセシビリティと検索エンジン用) にはプレーン HTML フォーム ポストバックを使用します。プログレッシブ ブートストラップ メソッドを使用すると、ユーザー インターフェイスは最初にプレーン HTML としてレンダリングされ、Ajax 対応ブラウザの場合は、対話性を高めるために Ajax を使用するように自動的にアップグレードされます。
JWt は jar ファイルとして配布されます。JWt アプリケーションは、標準に準拠したサーブレット コンテナーにデプロイされる war ファイルです。
主な特徴
より詳細な概要については、プロジェクトのホームページの機能リストを参照してください。[2]
- 自動的なグレースフルデグラデーションとプログレッシブエンハンスメント
- すべての最新ブラウザでは、JWt アプリケーションは単一ページ アプリケーションであり、進む/戻るやブックマークのナビゲーションを完全にサポートしますが、SEOも完全にサポートされています。
- サーバー開始イベント ( Comet ) をサポートし、Servlet 3.0 コンテナー内にデプロイされた場合は非同期 I/O を使用します。
- java.awt.Graphics2D と互換性のある統合 2D レンダリング API (SVG/HTML5 キャンバス/VML/PDF)
- ウィジェット、グラフィック(チャート)、HTML/CSSの統合PDFレンダリングによりレポートを生成
- クライアント側とサーバー側の検証
- クロスサイト スクリプティングやCSRF の脆弱性を回避するためのさまざまな自動組み込みセキュリティ機能。
- CSSまたはBootstrapによるテーマのサポート
- 利用可能なウィジェットはウィジェットギャラリーに表示されます
- WebGL レンダリング用の 3D ペイント API。サーバー側の GPU アクセラレーション レンダリングにフォールバックします。
- 選択、交差点の強調表示、高さマップ、等値線などをサポートする 3D チャート API (サーフェス、ポイント、棒グラフなど)。
コード例
Hello World! [3]完全なソースコードの例[4]
/ *
* イベントに反応し、入力を読み取り、フィードバックを返す方法を示すシンプルな Hello World アプリケーション クラス。
*/ public class HelloApplication extends WApplication { public HelloApplication ( WEnvironment env ) { super ( env ); setTitle ( "Hello world" );
getRoot (). addWidget ( new WText ( "お名前をお願いします?" )); final WLineEdit nameEdit = new WLineEdit ( getRoot ( )); nameEdit.setFocus ();
WPushButton button = new WPushButton ( "Greet me." , getRoot ()); button . setMargin ( 5 , Side . Left );
getRoot ()。addWidget ( new WBreak ());
最終的なWText のgreeting =新しいWText ( getRoot ());
button.clicked ( ) . addListener ( this , new Signal.Listener () { public void trigger ( ) { greeting.setText ( "こんにちは、" + nameEdit.getText ( ) ); } } ) ; } }
参照
- ウェブフレームワークの比較
- Wt、JWt の派生元である C++ プロジェクト
参考文献
- ^ 「リリース 4.11.1」。2024年11月5日。 2024年11月23日閲覧。
- ^ 「JWt、Java Web Toolkit — Emweb」。www.webtoolkit.eu 。 2019年10月27日閲覧。
- ^ 「JWt、Java Web Toolkit — Emweb」。www.webtoolkit.eu 。 2019年10月27日閲覧。
- ^ 「HELLO WORLD の例のソース コード」。www.webtoolkit.eu。
外部リンク
- JWt プロジェクト ホームページ
