Planet Table Days

PT公式ブログ

「FoodQ(フードキュー)」アプリケーションの裏側をチラ見せ

プラネットテーブルでエンジニアをしている松本です。

 

弊社では、食のクラウド情報プラットフォーム「 FoodQ」 というサービスを運営しています。

今回は、サービスの紹介がメインではないので、「FoodQ」 がどんなサービスなのか気になる方は、下記のページをご覧ください。

http://planet-table.com/service-foodq/

 

「FoodQ」 には現在、Web 版iPhone アプリAndroid アプリがあります。

 

今回は、iPhone 版アプリを作成する際に使用した、オープンソースのライブラリを紹介したいと思います。

使用している言語は、Objective C です。(ホントは swift で作りたかった…)

ライブラリの管理には、CocoaPods を使用しています。

  • AFNetworking
    HTTP 通信するアプリでは必須ですね。
  • RestKit
    RESTful な API サーバとの通信に使用しています。
  • ICViewPager
    Android の ViewPager + TitlePageIndicator と同様の機能を実現するために使用しています。

    f:id:planet_table:20160415112826p:plain

  • PKRevealController
    Android の DrawerLayout + NavigationView と同様の機能を実現するために使用しています。

    f:id:planet_table:20160415112847p:plain

  • SDWebImage
    画像を非同期でダウンロードしてくれる便利なやつ。
    Android の Glide と同様の機能を実現するために使用しています。
  • SHEmailValidator
    新規登録画面のeメールアドレス入力時の validation に使用しています。

    f:id:planet_table:20160415112515p:plain

  • UITextFieldWithLimit
    質問や回答の入力欄の文字数制限に使用しています。
  •  HPGrowingTextView
    質問や回答の入力欄を、入力した文字数に応じて縦幅を伸縮させるために使用しています。
    f:id:planet_table:20160415112928p:plain
  • TTTAttributedLabel
    質問や回答内に含まれている、URL をクリックしてブラウザで開けるようにするために使用しています。

    f:id:planet_table:20160415113017p:plain

  • CTCheckbox
    なんと標準の UiKit にはチェックボックスが無い… ということで使用しています。
  • CustomIOSAlertView
    チェックボックスが並んだ AlertView を表示するために使用しています。

    f:id:planet_table:20160415113045p:plain

 

Android アプリと平行して開発していると、Android では当たり前のように用意されているものが iOS では無かったり(逆に iOS にあって、Android に無いケースも有りますが)、

標準で用意されているものが使いにくかったり、機能が足りなかったり、といったことが少なからず発生すると思います。

そういった時に、オープンソースのライブラリをうまく活用することで、工数を抑えて問題を解決することができるので、どんどん活用していきたいです。

 

次回は、「FoodQ」 の Android アプリを作成する際に使用した、オープンソースのライブラリを紹介したいと思います。