40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

Titanium Mobile

新着順 人気順

イベントハンドラが肥大化しつつあるのでStateパターン適用について考えてみた

左上にボタンを配置してそれをタッチすることで、左側にメニュー一覧が表示され、同時にメインのTableViewがスライドするUIを最近よく見かけると思います ※例えばこのような感じのUI 現在の自分のやり方としては、上記のUIの実装をするのにTi.App.Properties…

033-今度はUnable to parse JSON stringのエラーにはまる

Unable to parse JSON string MongoDBに格納した情報を、Sinatra + mongoidでJSON形式で出力するところまでは出来たので、これを読み込むような処理をするためにこんなコードを書きました var Blogger = function(){ this.httpclient = Titanium.Network.cre…

045-MVCのControllerの役割を見直すその4

まず現在のJSONフォーマット 以前書いたエントリでは投稿した日付をIDとして活用すればいいかなぁと考えていたものの、何となく処理をやりづらそうな何とも言えないモヤモヤ感がしてました。twitterのAPIで返すJSON形式を眺めていたら、下記のような形式が良…

画面遷移で最初・最後のページにたどりついた処理に悩み中

前回のエントリから2週間近く更新滞った理由というのは画面遷移で最初・最後のページにたどりついた処理に悩んでいるから。ButtonBarとして配置したボタンをクリックした時にイベント発火されて、該当のページに遷移するんだけど、そのページの表示が完了し…

敵機の配置と移動するアニメーション解説

自機から発射される弾道処理について解説すると前回触れていましたが、敵機の動きについて解説する資料が先に出来たのでそっちについて触れることにします 敵機の配置について 今回は画面上に敵機を5機配置するようにしてますが、GameViewのonloadイベント…

QuickTiGame2dのBox2Dの機能ちょっと使ってみた

やっと意図通りに動作するクローラー出来たー。後はこいつをさくらVPSで動作させるように設定しないといけないけど、キリがよいから今日はここまでにしよ— hiroshi oyamada (@h5y1m141) April 2, 2012 と、ここ最近、Rubyでクローラー開発してたので、Titani…

017-YQL

ブログ本文はHTTPClient使えば取得できるのはわかったのですが、その中で必要な箇所だけ抜き出すとなると面倒かなと思っていました。 ただ、なんとなくYQL使えばいけそうかなーと漠然と思っていたのと、前回のエントリを読んでいただいたdonayamaさんからア…

tweetaniumのソースコードリーディング

自分が作ってるアプリの参考になるかと思ってtweetaniumのソース読んでいました。全部をくまなく読んだわけではないものの、最終的には自分のアプリで応用するのは難しいかなぁと判断しました。ただせっかく読んだソースなので理解した内容をまとめようかと…

tweetaniumのソースコードリーディング:model.js編

@donayamaさんに褒められたのでtweetaniumのソースコードリーディングの続き書くことにしましたwwUI部分についてこれ以上書けるほどのネタがないので、Modelに関連する所ちょっと取り上げようと思います ベースとなるmodel.js 「tweetaniumはTwitterクライ…

勉強会用のサンプルアプリで簡易Webブラウザ作りました

はじめようTitanium+JavaScriptでスマホアプリ開発カフェという形で、全6回にわたる勉強会をやることにしました 勉強会やることにした背景 今回参加者で想定してるのはHTML/CSSはわかるというWebデザイナーな人でこういう方に、少しでもスマフォアプリ開発…

Google Reader用のTitanium モジュールをJavaScriptで作り始めました

タイトルそのままですが、CommonJSなスタイルになれる勉強も兼ねて作り始めました。前回のエントリで assetsフォルダ配下に、com.twitter.h5y1m141.googleaccount.js作ってコードを書く。 ということを書いていましたが、上記のcom.twitter.h5y1m141.googlea…

はじめようTitanium+JavaScriptでスマホアプリ開発カフェ勉強会Vol.2をやりました

さっき帰ってきて、かなりエネルギー消耗して疲労困憊な感じはあるけど、終わった後の充実感もあるし、アンケート結果見てて「資料わかりやすかった」というコメントを貰うと、かなりの時間かけて準備したかいがあるなぁーという気持ちになるので、これを糧…

Titanium + CoffeeScript + jasmine の環境構築出来ました

Qiitaのビューワーアプリを作ってのですが、Qiita APIから情報取得する部分の処理等、自分の中での仕様が曖昧になりつつあり、なんとなくモヤモヤしてました。 "すでにあるtitanium-jasmineをCommonJS化し、ディレクトリ構造を綺麗にしました。" ほぉーこれ…

Titanium もくもく会 #4でLTしてきました

何故LT? イベントリスナーを多様せずにスライドメニューのUI実装する方法というエントリを少し前にも書いたように、GoFのデザインパターン(Stateパターン、Commandパターン)での実装方法について色々試行錯誤してます。 この辺りの情報交換をもくもく会で出…

TitaniumでTabGroupを使ってる状態でナビボタンの背景色を変更する方法

小ネタですが地味にやり方がわからなかったので、まとめておきます Flat UIっぽくしたいために、ナビゲーションバーの色を白ベースにしました。 ナビボタンの背景色を変更しないといけなくなった事情 メイン画面から詳細画面に遷移した場合に、こんな感じで…

Titanium Studio の設定がうまくいかないのでBoxenで環境構築するのを諦めました

以前、Boxen使ってMountain Lionの環境構築した感想と作業記録というエントリ書いた時に Titaniumの環境構築、Genymotion・・・と細かいものは手を付けてないですが、作業の流れはこれで理解出来ましたなので、残りのアプリについてもBoxen使って設定しよう…

TitaniumでのAndroid開発3ヶ月経験者が過去のつまづきを振り返る

Titanium™ Advent Calendar 2013 5日目です。 Titaniumを2010年12月から利用し始めて気づいたら3年弱位のお付き合いになります。 趣味と実益を兼ねて、これまではiPhone向けアプリのみに注力し、おかげさまで今年は以下2本アプリをリリースできました。 Qiit…

忘年会の余興採点アプリでACS活用した話

Titanium™ Advent Calendar 2013 14日目です。 CraftBeerFanのAndroid版をリリースした後に、ここ最近実施してなかったStreetAcademyでのTitaniumワークショップを再開しようと思っていたのですが、忘年会の余響採点アプリを作ることになって、Appcelerator …

Node.js勉強したことで得られた気づきを今後まとめていきます

先月の中旬から、社内向けにスマフォアプリを作っていたため、ブログの更新が滞りがちでしたが、そちらのリリースを昨日行い、一段落しました。 社内利用限定ですが、気合を入れて、アプリのアイコンも作りました。 ちなみにアプリのコンセプトが、 「てくて…

NHK 番組表 API を触る為のTitaniumMobile版クライアントをちょっと作ってみた

NHK 番組表 API を触る為の Ruby クライアント作ったというエントリを見てて気になったので、Titanium Mobileで同じようなことが実現できなかなぁと思ってちょっとチャレンジしてみました。NHK番組表 APIのラッパー的なものを作りつつ、それを使ってこんな感…

非エンジニアな人におくるJavaScriptの基礎:(5)ファイル分割のためのCommonJSのお話

はじめに 例えば、Ti.UI.LableのようなUIを複数利用する場合、それぞれに、幅、高さ、色、位置という値を適宜設定する必要があるため、それなりの量のソースコードになってきます。 var win, label1, label2, label3 win2; win = Ti.UI.createWindow({ title…

Alloy本格的にはじめました

現在、作業が比較的落ち着いてるのと、先々考えても、Alloyはひとまず抑えておいたほうがよいかと思って、やや食わず嫌い気味だったAlloyを最近本格的にいじりはじめました。 過去何度かトライはしていたのですが、自分が欲しいサンプルアプリ(まずは画面遷…

Alloyで簡易のスライドメニューを実現する方法

前回書いたエントリが意外と注目を集めたので、続編というわけではないのですが、Alloyで簡易のスライドメニューを実現する方法についてまとめておこうと思います。 目次 これから作るアプリのイメージ ソースコード index.coffee index.jade index.tss ソー…

アプリの解析にNewRelicのモジュールを利用する

現在AppStore公開中のCraftBeerFanというアプリでは、Ti.Google.Analyticsというモジュールを使ってユーザさんがどの機能を使ってるのかおおまかに把握してます。 ※Ti.Google.AnalyticsについてはQiitaのTitaniumでGoogle Analyticsに利用手順がまとまってる…

002-Titanium Mobileの環境構築

Titanium Mobileの環境構築と思ったら・・・ TitaniumでiPhoneアプリ開発しようと思ったけど、冷静に考えたらiPhoneSDKインストールしてなかったので、まずはSDKのダウンロード・・思ったら、iOS SDK 4.xは、Snow Leopardじゃないとダメなんでしたね。Snow L…

007-Mac標準で利用できるsqlite3を使ったデータベース接続処理はこう書く

再度問題点を整理 昨日書いたエントリで 日本語が含まれるsqlite3のデータベースからデータを読み込む方法について書きたい と最後書きましたが、とりあえず現状の問題点を整理 出来ていること sqlite3に日本語のテストデータを登録するまでは出来ている。 T…

009-TitaniumのユニットテストでQUnitを使う

Titaniumでユニットテストがものすごく参考になったので、こちらを読みながらひとまずQUnitというものを使うことにしました。 準備 Titaniumから利用しやすいものをlukasoさんという方がいて、ソースがgithubにあったのでダウンロード ダウンロードしたもの…

011-ユニットテスト実行時の別ファイルからオブジェクトを読み込む処理にはまる

インスタンス化に失敗 ユニットテストでQUnitを使うというの書きましたがあの時のテストコードは実際の開発をする上ではあまり意味をなさないものだったので本格的にテストコード書き始めました。 こんな感じのテストコードを準備 //db_connection.js module…

013-JazzRecord(ActiveRecord for JavaScript (ORM)検証その1

JazzRecord(ActiveRecord for JavaScript (ORM)のソースは自分の中では結構読み易いから、自分が作っているアプリで参考になりそうなので気がしてます。JazzRecordのページには A JS ORM for Google Gears, Adobe AIR, and Appcelerator TitaniumJazzRecord …

018-JavaScriptの変数のスコープについて

年末年始は、なるべく育児と家事をしようと思っていたのと、ファイルサーバとして利用していた旧MacbookのHDDがクラッシュして自宅のネットワーク環境を再整備するのに時間をとられて開発の時間があまり取れませんでしたが、今日から再び開発再開していこう…