プライム会員になって、Kindle読み放題、ジャズ聴き放題となりました。Fireは画期的です。田舎だと手に入らない専門書やCDが瞬時に届けられる。古典的なアルバムなら無料でダウンロードできます。プライム・リーディングで電子書籍の図書館にもなります。アニメも無料で視聴できます。日本の再販制度の裏をかき、商習慣を破壊しに来てるなあ。
Webアプリを作る
GooglePlayもAPKPureも経由しません。メーカーが自サイトに用意するものを厳選しました。探せばあるものですね。有名どころのWebブラウザばかりです。Beta版とNighty版がインストール...
さて、そんなKindleFireを触っていて、ローカルにあるHTMLファイルをOperaブラウザで開けることに気づきました。fileプロトコルが有効です。Silkでも閲覧できます。
すると、HTMLでWebアプリを作れば、ローカルで実行できるわけです。自分のほしいアプリを自分のために作ることができる。これがそれか。いま第三の目が開きました。
エディタの骨組み
まず手始めにエディタを組んでみます。基本形は下記のとおり。viewportをタブレットに合わせ、textareaの幅を100%にしているだけですけどね。これで字が書ける。
<meta name=viewport content=initial-scale=1>
<style>
#editor{width:100%;height:100%;white-space:pre-wrap;}
</style>
<textarea id=editor></textarea>
Jotaで登録
Jota text editorを起動し、上記スクリプトを貼り付けます。そしてメニューの「ファイル」から「他のアプリで開く」を選び、ブラウザを起動すれば出来上がり。最初はOperaをお使いください。ブックマークしておけば何度でも呼び出せます。
途中でファイル保存を尋ねてきます。そのときファイル名を editor.html にしてください。あとで使い回しします。わかりやすいよう Documentsフォルダに保存しましょう。
editor.html を改良
ただ字が書けるだけなら、わざわざ作ることはありません。このブログらしくスライドカーソルをつけてみます。スワイプするとそれに応じてカーソルが動く機能です。
あと、localStorageも使えることを発見しました。いろいろ応用できそうですが、とりあえず自動保存機能として実装。最後に閉じたときの状態を記憶します。
<meta name=viewport content=initial-scale=1,user-scalable=no>
<title>Editor</title>
<style>
body{color;black;background:ivory;}
#editor{font-size:20px;background:none;width:100%;height:100%;border:0;white-space:pre-wrap;}
</style>
<textarea id=editor></textarea>
<script>
editor.value = localStorage.editor || "";
editor.onblur=function(){
localStorage.editor = editor.value;
}
x0=0;
document.ontouchstart=function(e){
x0=e.touches[0].pageX;
};
document.ontouchmove=function(e){
x=e.touches[0].pageX;
d=document.getSelection();
if(x-x0>8){
d.modify("move","right","character");
x0=x;
}
if(x0-x>8){
d.modify("move","left","character");
x0=x;
}
}
</script>
まとめ
毎月プライムデーがあって、KindleFireが値引きされます。7月は16日。プライム会員に引き込む罠です。ここから逃れるのは困難を極める。石飛道子さんの『スッタニパータ』をオーナーライブラリ(月一冊UnlimitedのKindle本が対象)で借りてしまいました。うちは「ジャズと読書」なのに、どちらもFireがカバーしてしまう。
さらにプログラミングもできると「出口なし」です。この沼は深そうだ。