3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DWRライブラリの気に入ってる点、不満な点

Last updated at Posted at 2016-02-28

業務ではDWRというAjaxライブラリを使って、Java/JavaScript間の通信を行っています。
で、そのライブラリの気に入ってる点、不満な点をまとめました。

というかTeratailに質問した内容とほぼ同じです。
https://teratail.com/questions/27804
DWR公式サイト

DWRの気に入っている点

以下の点が便利なので、DWRを使っています。

  • jQueryのようにGET/POST, timeout, URLなどを直接指定する必要がない。
    DWRのSample
//DWR
function handleGetData(str) {
  alert(str);
}
Remote.getData(42, handleGetData);
  • Java⇔JavaScriptの型変換を自動的に行ってくれる。
  • int
  • Collection
  • Mapなどなど
//Personオブジェクトを引数に持つJavaメソッドに対して...
public class Remote {
  public void doSomethingWithPerson(Person p) {
    // Some Java code that does something with Person p.
  }
}
public Person {
  private String name;
  private int age;
  private Date[] appointments;
  // getters and setters ...
}
//以下のJavaScriptコードから自動的にPersonクラスのフィールドに設定してくれる
var myJSPerson = {
  name:"Fred Bloggs",
  age:42,
  appointments:[ new Date(), new Date("1 Jan 2008") ]
};
Remote.doSomethingWithPerson(myJSPerson);

DWRの不満な点

探しているライブラリ

以下の条件を満たすライブラリを探しています。

  • Java/Javascript間のAjaxライブラリ
  • 私が「DWRで気に入っている点」を取り入れている
  • 最新のブラウザに対応するようなjavascriptで書かれている
  • 現在開発中

以下のサイトから、簡単にライブラリを探していましたが、
https://en.wikipedia.org/wiki/List_of_Ajax_frameworks

  • JavaからJavaScriptは自動生成する
  • タグライブラリからJavaScript/HTMLを自動生成する
    ようなライブラリばかりで、Java/JavaScript間だけのライブラリは見つかりませんでした。

私は、メインとなる部分(Ajax通信以外)のJavaScriptは、自動生成するのでなく直接書きたいです。

以上、便利なライブラリがありましたら教えてください。
よろしくお願いします。

補足情報(言語/FW/ツール等のバージョンなど)

  • Java7
  • Tomcat7
  • TERASOLUNA Server Framework for Java 2.0.5.3
  • DWR 3.0.1
  • 対象ブラウザ: Firefox / IE11
3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?