2015年12月16日水曜日

Titaniumで作ったサービス「たなごころ」の紹介。技術編

Appcelerator Titanium Advent Calendar 2015の16日目。今年開始したサービスの紹介。

保護者のスマホへ通知できて便利だよ。というサービス。

アプリは管理画面で承認しないとログインできないけど、スクリーンショットでだいたいのイメージは伝わると思う。

 
詳細は上記サイトを参照してもらうとして、今回は技術的な特徴を紹介。
  • 期間:約8カ月。ガラケー対応でプラス2カ月
  • 要員:私一人(画面デザインはデザイナーに依頼)
 
簡単なシステム構成図はこんな感じ。  



 
その他の特徴
  • 園ごとにWordPressを立てて、アプリをリリース
  • 園の運用に合わせてカスタマイズ(GitLab + Redmineで管理)
  • 仮想サーバー4台(プロキシ:1、管理画面:1、アプリAPI:2)借りてネットワークを構築。負荷を見ながら増やす予定
  • 現在位置を発信するアプリも作った。これは園のバスに乗る保育士さんに持ってもらってバスの現在位置を把握するため
 

Titaniumアプリ関連
  • Alloyは使ってない
  • AndroidとiOSでファイルを分けない。必要なときだけ分岐する
  • アイコンは全部ウェブフォント・・・にしたかったけど、一部ドロップシャドウがかかっているのは画像
  • Windowは起動してから1つだけ。ページっぽく見えるのはViewのvisibleで切り替えてるだけ
  • Android 2.3対応のために Titanium SDK 3.5.1.GAから上げれない


今後の技術的な課題など
  • Google Container Engineへ移行したい
  • ガラケーとAndroid2.3を切り捨てることができたらどんなに楽か
  • もっと自動化しないと私一人では耐えられない(深刻)


導入してもらった園には好評で来年度からは一気に増える。1法人で5施設契約してくれたところもある。
個人でも法人でも、技術セットが似てる方がいれば連絡ください。空いてる時間で手伝ってほしいです(切実)。


< Related Posts >




2015年12月9日水曜日

WordPress + WP-APIプラグイン + Titaniumアプリ

titanium_wordpress_wp-apiTitanium Advent Calendar 2015の9日目。WordPressとTitaniumアプリの連携。

TitaniumアプリからOAuth認証する方法を記事にしようと思ったけど、時間がなくなったので、WP-APIを使うと簡単にWordPressとやりとりできるよという話。

環境: CentOS 6.7, PHP 5.6.17, WordPress 4.3.1

 

目次

  1. WP REST API v2をインストール
  2. Titaniumアプリからデータ取得
  3. OAuth認証をしたい
  4. WordPress.org + Node.js

 

参考

 


1.WP REST API v2をインストール

ダウンロードしてきて、wp-content/pluginsに配置してアクティベートする。

管理画面のSettings → Permalinksで「Default」以外を選んでRewriteを有効にしておく。

これでREST APIが有効になったか確認。

http://dev.wordpress.com/wp-json/wp/v2/posts/

のURLにアクセスしてみるとJSON形式のデータを取得できる。

 


2.Titaniumアプリからデータ取得

Titanium Studioから新規アプリを作成してapp.jsを下記のように編集。

var win = Ti.UI.createWindow({
  backgroundColor:'#fff'
});

win.add(Ti.UI.createButton({
  title: 'Get data from WordPress'
}));
win.children[0].addEventListener('click', function() {
  var client = Ti.Network.createHTTPClient({
    onload: function(e) {
      console.log(JSON.parse(e.source.responseText));
    }
  });

  client.open('GET', 'http://dev.wordpress.com/wp-json/wp/v2/posts/');
  client.send();
});

// Open
win.open();

iPhone Simulatorで起動する。
$ ti build -p iphone -T simulator --sim-64bit --tall

ボタンを押すとWordPressから取得したデータをコンソールに出力する。

 


3.OAuth認証をしたい

ここからは覚書(というか途中で断念)。

WP-APIのドキュメントには、GitHubに公開されているプラグインを使うとOAuth認証が可能と書いてある。

しかし、アクティベートしてからトークンを取得するまでOAuthを理解していないときつい。いいサンプルが見つからなかった。

「WP OAuth Server」というプラグインを使うと簡単に実現できそう。

Titanium Mobileアプリのサンプルを公式サイトからダウンロードできる。

ライセンスキーを購入する必要があるみたいだけど、ソースコードがGPLで公開されているので改変して使えるかもしれない。

 


4.WordPress.org + Node.js

仕事ではサーバー側をNode.jsで作っている。最近WordPressがNode.jsに近づいている雰囲気なので、近い将来JavaScriptを知っていればアプリからサーバーまで完結できるかも。

 

 

< Related Posts >

Related Posts Plugin for WordPress, Blogger...

Blog Archives