sifue's blog

プログラマな二児の父の日常

スマートフォン向けの片手でできる乳幼児用育児日誌 babenote(ベイブノート)をオープンソース化しました


スマートフォン向けの片手でできる乳幼児用育児日誌 babenote(ベイブノート)をオープンソース化しました。
使い方は、Tumblr にて。動作サービスは、GAEのbabenote にて。公開されたソースは、Github にてダウンロードすることができます。使い方は簡単で、日々の授乳、ミルク、排尿、排便、睡眠とコメントを時間単位でスマートフォンを使ってクラウド上に記録できます。SafariChrome上からも動きます。ライセンスはcharabotの時と同じく、GPLv3です。いじってウェブサービス作る分には自由ですが、求められたら由来部分のソースを公開してねといういつものあれです。
なおこのWebアプリ、ちょうど今年の1月ごろに社内の勉強会の実装サンプルとして作って、奥さんに娘の育児用に使ってもらおうと思って作ってものでしたが、奥さんの「iPhoneのネイティブアプリのように早く立ち上がらないと育児で使い物にならない」の一言により一蹴され、更に、気がついたら娘が大きくなり授乳時間やおむつ替えの時間を記録しなくてもよいほどに成長していたためオープンソース化に至りましたw
なお、使っているフレームワークは、Google App Engine/Java、Silm3。あと今回はじめて使ってみたSenchaTouchとなります。まあ結論からなのですが、SenchaTouch重いです。CSS削ったり、処理工夫したりどんなに頑張っても、iPhone3GsやiPhone4で高速回線でも8秒ほど起動に時間がかかるというのが感想です。iPadでも遅い。ExtJS系は今のデスクトップマシンではとても便利なライブラリですが、スマートフォンでの使い方はまだまだ難しいなと感じます。今後に期待。当分の間は、スマートフォンアプリとしは、JSのWebアプリよりもネイティブアプリの方がスピードとして強力であると感じます。
なおサーバーのリソース節約にめちゃくちゃ苦心しているcharabotに比べると、アプリとしては全く難しいことはしていませんが、SenchaTouchを使ったスマートフォン上での使い心地などには、いろいろと手を入れました。
メインとなるLogEditorというUIのソース
https://github.com/sifue/bebenote/blob/master/war/js/log-editor.js
が、Ext.List及びExt.data.StoreとJSON通信まわりの実装サンプルとして役立つのではないかと思います。サーバーサイドは、Slim3JSONICを使った単純なやり取りと分かりやすいデータモデルになっています。
何か質問などありましたら、このブログのコメントにでもよろしくお願いします。