Firefox版. GoogleパーソナライズのWidgetでTODOと付箋があって便利そうなので、Webアプリに近い実装をしてみる。これにユーザ認証を実装すれば、ユーザ毎に付箋を作れるので便利かも。
Javascriptでリクエストを行うとき(conn.send)に分岐フラグを設ければ、cgiをひとつにできて保守しやすいと思う。
-bash-3.00$ cat save2.cgi
#!/usr/local/bin/ruby
require 'cgi'
cgi = CGI.new
# ファイル削除
idasta = cgi['idasta'];
Dir::glob(idasta + "*").each { |f|
File.delete(f)
}
# データ保存処理
data = cgi['memo']
filename= cgi['filename']
f = File.open(filename,"w", 0666);
f.puts(data);
-bash-3.00$ cat getfiledata.cgi
#!/usr/local/bin/ruby
require 'cgi'
cgi = CGI.new
filename= cgi['filename']
f = File.open(filename,"r", 0666);
print "Content-Type: text/plain\n\n"
for line in f.readlines()
print line
end
-bash-3.00$ cat getfilelist.cgi
#!/bin/sh
echo -en "Content-Type: text/plain\n\n"
ls widget*
-bash-3.00$ cat removefile.cgi
#!/usr/local/bin/ruby
require 'cgi'
cgi = CGI.new
# ファイル削除
filename= cgi['filename']
Dir::glob(filename + "*").each { |f|
File.delete(f)
}
DragAndDropなどはCSSとJavascriptを使い込んでいると感じた。GCCやApacheのように業界標準なUIツールキットが出てくれば使えるかもしれないが、情報を探してみると今は技術が乱立している状態に見える。今はJavaやC言語のようなローレベルライブラリから応用層のライブラリがどんどん作られているみたいなので今後に期待。
2000年ごろのブラウザ依存よりは標準化が進んで改善されているようだが、細かいところを積めるとブラウザ依存が出てくる。業務開発の場合は面倒くさいが、個人的にはこういう差異がやりがいがありそうで面白かった。
それとJavaのGUIが目指す方向性であるポータブルなUIが、AJAXで実現出来てしまっているし且つ開発しやすいので、Javaはひとつの言語で完結している以外のメリットが他にあるか考えてしまった。ここを読んでくれた方でGoogleパーソナライズ、スプレッド、カレンダを知らない方は是非試してみてもらいたい。
日本の業界の流れは、セキュリティ対策の関連で、サーバ管理するアプリが主流になるはず、其の後お約束のように、クライアントのCPUリソースが余っているので、その後にクライアントにインストールするアプリが出てくるのだろう。