Androidアプリの”買い物ランチャー”を作りました

欲しいものがある時に、Amazon・楽天などのショッピングサイトでまとめて検索したい時ってありませんか?それを簡単に実現できるAndroidアプリです。下記リンク先(Google Play)からインストールできます。

買い物ランチャー – Google Play の Android アプリ

いわゆる横断検索サイトのアプリ版みたいなものですね。ショッピングサイト横断検索補助アプリでしょうか。

技術的には、monaca (+ PhoneGap/cordova) + pure.css + jQueryで作っています。monacaで何か作ってみたかったので、とにかく手軽にできるものを作ってみました。開発は実質1時間くらいでしょうか。(外部サイトで開く処理で手間取りました…monaca.invokeBrowser()が動かない?)

これまでAndroidアプリをTitanium、Android Studioで作ってきましたが、それらに比べてmonacaは非常に手軽で良いです。
まずオンラインのIDEの起動が早い。Webアプリなのでインストールもアップデートも不要です。(Android Studioは進化が早くて、何ヶ月か触らないと色々変わってしまうので苦労しました。)
機能は限られているので、仕事でがっつり使いたい場合には足りないかもしれません。でもその分必要な機能が見つけやすいので、日曜プログラマには最適です。
また、デバッガをAndoridにインストールすれば、動作確認も簡単です。この手軽さは他のIDEも追随して欲しいです。
最初はonsen uiを使おうとも思ったのですが、習得に時間がかかりモチベーションが落ちるのを避けるため、使い慣れたHTML/jQuqeryにしました。

monacaの特徴の1つはAndroidアプリとiOSアプリ(とWindowsあぷりとChromeアプリ)が同時に作れてしまうことですが、実際には、Titaniumの時もそうだったのですが、細かい部分や、あるいはデザインなどで条件分岐が必要になり、別々に作った方がメンテナンス性が良い、ということになりそうです。

また、今回やっとpure.cssが使えたのですが、bootstrapよりも手軽でいいですね。Webkit/blink系だけを気にすれば良いスマホアプリには相性が良さそうです。

ということで、買い物ランチャー、使ってみてください。

Androidアプリ「3分タイマー」を作りました

とにかく簡単に使える3分タイマーのAndroidアプリ、その名も「3分タイマー」を作りました。自分自身が欲しかったので。

3分タイマー – Google Play の Android アプリ

上記リンク先にも書きましたが、できることは

  1. アプリを起動する(と同時に自動でタイマーがスタートする)
  2. 3分たつと、ブルブル震えて報せてくれる

あとは終了ボタンでアプリを終了するだけ。
(起動後のスタートボタンをタップするのさえ面倒だったのです。)
Androidに入れておけば、いつか役に立つと思います。1台に1つ、ぜひどうぞ。

 

技術的な話

ここからは技術的な話。
前作の+東京+通勤+道中+Androidアプリ版はTitanium Mobileで作りましたが、今回は普通にJavaで作りました。
きっかけはAndroid Studioの公開です。Android StudioはまだBeta版ですが、なかなか使いやすいと思います。Eclipseよりも、Titanium Studioよりも、Androidアプリを作るには適していると思いました。
Titaniumで原因不明の異常終了に悩むより、参考情報の多いJavaで作った方が精神衛生上良い気がします。

Javaを使うのはかなり久しぶりなので、頭がぎゅっぎゅっと締められる感じがしてなかなか良かったです。少し文法も変わったみたいです。
今後もAndroidアプリを作っていくなら、素のJavaというよりはオレオレライブラリ(フレームワーク?)を少しずつ作っていくと思います。きっともう定番処理詰め合わせのライブラリがあるんでしょうが、今はまだそれよりも小さな頭で悩みつつ進めるのが心地よさそうです。

また、今回は多国語化として英語にも対応しました。(アイコンのみ言語による切り替えが無いですが。)Android StudioもGoogle Playも、多国語化しやすいよう便利にできてます。Javaがもっと簡単に多国語化する方法をサポートしてればもっと良かったのですが。
ただ、一番の問題は、英語を書く力が足りないことでした…。

PHP製お手軽マスタ管理ツールをGithubで公開しました

Excelのように気軽に編集できて、Excelよりも縛りのある汎用的なマスタ管理用ツールが欲しかったので作りました。Mastersです。今回はGithubで公開しました。

RailsのScaffoldのように編集するたびに画面遷移するのが嫌なので、表上でダブルクリックで編集できるようにしました。検索も好きな項目を好きなだけ指定して絞り込めるようにしました。

TODOとしては、

  • 日付の入力補助用にDatepickerを付ける
  • 外部キーはIDではなくそれを表す名前を表示する(編集モードにすれば今でも確認できますが)

といったところでしょうか。

技術的な話をすると、内部的にはP3 Frameworkを使っていて、jscdnやBootstrapCDN経由でjQuery, Twitter Bootstrap, Bootswatch, Font Awesomeを使っています。

ところで、今回はSourceTreeを使い始めた記念でGithubで公開しました。最近は勉強がてらGitを使うようにしてるのですが、1人で開発することが多いせいか、いまだにSubversionの方が便利な気がしてます…。

PHPのスニペット集的ライブラリと、予約語取得スクリプトを公開しました

久しぶりの新作公開です。

痒い所に手が届く、PHPの文字列系関数を中心としたスニペット集的ライブラリのTe.phpと、PHPの予約語をまとめて取得するスクリプトを公開しました。

2012年も終わりですね。去年(2011年)はスマホ元年でしたが、来年(2013年)はタブレット元年です。Webの作り方も変わってくるでしょうね。何はともあれ、良いお年を!

Titanium Mobile用のライブラリ、Prometheus.jsを公開しました

iPhoneアプリもAndroidアプリもJavaScriptで手軽に作れるTitanium Mobileをさらに手軽にするライブラリ、Prometheus.jsを公開しました。

Ti.UI.createXxxx()の冗長さが嫌だった(Titaniujm Studioのコード補完を使うことを考えると、子要素のさらに子関数を呼び出すより、直接子関数を呼び出せる方が楽なのです)のと、後々のことを考えて各UIのデザイン設定を一括して変えられるようにしたかったのが主な作成の動機です。

これからもTitanium Mobileを使って行くなら、秘伝の鰻屋のタレのように、このPrometheus.jsに便利機能や備忘録的なTipsや手癖のようなスニペット等々を加えていく、かもしれません。

 

ちなみに、Titanium Mobileに神の火を! – Prometheus.jsのアイキャッチの画像は、無料素材・フリー素材|BEIZ Graphics Webで配布されているものです。カッコイイですね!よく見ていると、そこに人の顔でも浮かんできそうな、不思議な画像です。

PHPの関数1つでTwigやDjangoのようなセキュアで継承できるテンプレートエンジンを作ってみた

Twig風(あるいはDjango風)のテンプレートエンジンをPHPの関数1つで作る [ゼロと無限の間に]

作った時は満足だったけど、Wikiに書いてみるとずいぶん地味だった。サンプルページ作ってもあまり意味ないし。

TwigってDjango好きな人がPHPでも使いたいと思って作ったんだろうね。

地図上でホテル・旅館を検索できるサービスを作った

ホテル 旅館 × 地図から検索

主な機能

  • 地図上をクリックすることにより、その周辺の宿泊施設を探すことが出来る
  • 右上の検索窓からキーワードや住所で探すことも出来る
  • ホテル検索後には任意の地点からホテル(または任意の地点)までの徒歩または車でのアクセス方法を表示することが出来る
  • キーワードにより関連するホテルマップを日本地図上にマッピングできる

内部的にはGoogle Maps API V3を使ってます。