kilh

吉亨斗

  • スマートウォッチとMBassを連携したアプリの未来は明るい

    スマートウォッチアプリについて

    全画面_2015_07_21_15_14

     

    スマートフォンほどではないですが、世界的にスマートウォッチの普及率は急激に上がりつつあります。Apple Watchを例にすると1年間、3,600万台が売れたそうです。 http://japan.cnet.com/news/business/35064877/

    また、AppleとGoogleの中心としてスマートウォッチアプリ開発のプラットフォームが用意されていますのでアプリも簡単に作れます。わざわざスマートフォンをポケットから出さなくてもスマートウォッチでユーザーの要求を満たす時代はすぐ近くまで来ています。

    ということでスマートウォッチ(Apple Watch)とMBass(Parse)連携したアプリを作ってみることにしました。 Parseについてはこちら

     

    アプリを作ってみよう

     

    スマートウォッチから打刻をするアプリをいかに簡単につくれるのか紹介したいと思います。IOS開発経験者を対象に説明しますが、初心者でもすぐ理解できるレベルですのでぜひ最後までよんでみてください。

     

    開発環境

    • Xcode 6.4
    • IOS 8.4
    • Swift

     

    プロジェクト作成

    1. IOS用の新しいプロジェクト(Single View Application)を作成する。
    2.  Xcode > File > New > Targetを選択
    3. WatchKit App を追加

    add watchkit

     

     

    画面仕様

    Check Inボタンをクリックした時に画面1のインタフェースが呼ばれるようになっています。WatchKit Extentionフォルダ配下にCheckInControllerファイルを作成し、画面1に紐付けます。 ※Check Outも同様

    Interface_storyboard

     

     

    CheckInControllerを実装

    1. WatchKitフレームワークをインポート。
    2. WKInterfaceControllerクラスを継承します。
    3. CheckInControllerが呼ばれた時に最初に実行されるwillActivateメソッドを実装します。
    4. 現在の時刻を取得。
    5. ここがポイント! 処理内容を親アプリ(IPhone)に伝えます。

     

    ...
  • FuelPHP + Ansible で超ラクラク開発/運用 - FuelPHPのインストール編

    開発者でも簡単にインフラ構築できる時代が来ました。Ansibleという強力な環境構築ツールを利用すれば簡単に環境構築ができます。

    環境構築のツールはそのほかchef, puppet, dockerなど様々ですが、なぜAnsibleを選択したのかは以前筆者が書いた以下の記事を参考にしてください。

    Qiita ソフトウェアエンジニアからみた環境構築自動化ツールの比較、感想

    PHPのフレームワークも近年人気を増しているLalavel, 定番CakePHP, 超高速PhalconなどありますがなぜFuelPHPを選んだかというと機能が豊富なことと日本語の情報がたくさんあるからです。単純に好みです。

    これからFuelPHP + Ansibleを使った開発のノーハウを次のような順で紹介しようと思っています。

    • パート1:FuelPHPのインストール編
    • パート2:メンテナンスモード切り替え編
    • パート3:デプロイ編
    • パート4:開発/本番環境の運用時の構成、注意点

    以下の開発環境をベースに説明させていただきます。また、Ansibleの概念を知っている人向けです。

    • MacOS X 10.10.2
    • ansible 1.7.2
    • FuelPHP 1.7

    ※ ansibleのインストール手順はGoogle検索するとたくさん出てきますので割愛させていただきます。

    AnsibleでFuelPHPをインストールするPlaybookを実行するためには~/role/ロール名/配下にその手順をyaml形式で書く必要があります。以下、~/role/ロール名/task/main.ymlの処理内容です。

    - name: ①Copy the code from repository
    git: repo={{ repository }} dest={{ root_dir }} accept_hostkey=yes
    sudo: no
    
    - name: ②comporser self-update
    shell: php composer.phar self-update chdir={{ root_dir }}
    
    - name: ③comporser update
    shell: php composer.phar update chdir={{ root_dir }}
    
    - name: ④set fuel_env.
    shell: env FUEL_ENV=production php oil -v chdir={{ root_dir }}
    
    - name: ⑤create link.
    file: path={{document_root_path}} src={{fuel_public_dir_path}} state=link
    
    - name: ⑥db migrantion.
    shell: FUEL_ENV=production php oil refine migrate chdir={{ fuel_dir_path }}
    

    処理内で使用される {{ }} 中は変数名が入ります。 変数の定義は/role/ロール名/vars/main.ymlに記述します。上記の内容ですと

    ...