2011年10月14日

iPhoneアプリ開発のカタチ

iPhoneアプリ(というかスマートフォンアプリ)を、HTML+CSS+Javascript というWebアプリケーション技術で開発するというもの。
Webアプリ関連のライブラリやHTML5の技術などを活用して、iPhoneアプリとほぼ同等のものをWebアプリで実現してしまうための本です。ただWebサイトを構築するだけでなくオフライン時の動作なども載っているのでホントにアプリ開発って感じです。
またWebアプリとして開発したプログラムを、PhoneGapという開発ツールをつかってWEBアプリケーションをデバイスにインストールできるカタチのいわゆるネイティブアプリケーション化(この言葉初めて知った。。。(汗))してしまうという大技も載っており非常に勉強になりました。

Webプログラマーにとって、この技術はなかなか興味深いものです。なにしろHTMLの出力を基本としたWebの技術はどのスマートフォンでも共通であるわけなので、iPhone用、Android用、はたまたWindowsモバイル用(だっけ?)、、なんつって個別のアプリケーション開発がいらないわけです。

また、たぶんだけど開発工数などもものすごく削減できそう。

もちろん、デバイス特有の機能を活用したりといった事には制約はうけると思いますが、クラウドやWebアプリの開発時に操作端末としてスマートフォン用にちょっとしたアプリを入れたいという要望は、よくあると思いますので、そんなときはこの技術やくにたつのではと思います。

やばい、なんか作りたくなってきたけど、今の仕事がひと段落するまでガマン、ガマン、、、な今日この頃。

2011年9月16日

apacheの再起動をわすれずに。。。。

ひょんな事から、XAMPP環境での PHPからMS SQLServerへの接続をすることに。

ちょうどPEARのDBが入っていたので、いつものようにして、dsnの一番左側のあれを mssql とすればつながるだろうと思ったけど。。。エラー
いろいろ調べて、恥ずかしい失敗をしたあげく、ようやく繋げることができたので備忘録

1.XAMPP環境で SQLServerとPHPをつなげるときには、ntwdblib.dll のバージョンアップが必要。(ちょっと古いXAMPPだったので、新しいやつだとOKかも?)
  これは、検索するといろいろ出てくるので、ダウンロードして上書きするだけ。

2.dsn の書き方で迷ったのがDBサーバ名

mssql://username:password@hostspec/database_name

とやるんだけど、 SQL Serverのサーバ名が ●●●\▲▲▲  ←といったかんじでサーバ名とインスタンス名がバックスラッシュで区切られていました。バックスラッシュをそのまま書いていいものかどうか?と悩みましたが、結局そのままOKだったようです。(実際にはWindows環境なので、円マークでしたが)

さて、気を付ける点は以上の2点なんですが、これらをやってもつながらない。
コードを見直したり、コントロールパネルから、ODBCの設定しなおしてみてもつながらない。。。

さんざん迷った挙句、ふと、上記1の dllを更新したあとに、apacheの再起動をしていないことに気づいて、、、、、、やったら問題なくできましたとさ。。。メデタシメデタシ

多分、サーバいじる人にとっては、何かをやったら再起動。。当たり前のことなのだけど
普段、レンタルサーバなど出来上がった環境での、Web周りのことをやっていると、こういう初歩的な事が、身についていなくて。。反省でした。

2011年2月28日

YoutubeAPIとSimpleXML

ちょっときっかけがあったので、WordpressにYoutube動画を組み込む方法を研究してみた。
PHP5にはSimpleXMLという便利な関数(エクステンション?)がありますので、それを利用して試みた。

結果、ちょっと引っかかったのは名前空間の取得。普通に取得してもでてこなくて悩みました。
(media:groupとかのタグで囲まれたところを名前空間といいます。普段XMLにあまり触れないのでこういうところで無知をさらしてしまいます。名前空間の意味や定義はこれから勉強したいです。)

例えば、mediaという名前空間を取得するときは

$feed=simplexml_load_file($url);
$media=$feed->children('media',TRUE);

こんな感じで media:group 内をごっそり取得できます。

こちらのサイトが、そのものずばりでとても参考になりました。
【ぷぎえもん日記】
php:SimpleXMLで名前空間や属性を処理する

ありがたや、ありがたや。。。