Shoichi Matsuda's diary

このブログは移転しました。 https://shoma2da.net/ が新しいブログです。

アプリ開発者じゃなくてもわかるクックパッドアプリ勉強会まとめ #potatotips #android #ios

クックパッドでは月に一度、potatotipsという名で社外の開発者も招いてアプリ勉強会を行っています。 詳細としては発表者だけが参加できる、持ち時間1人5分のtips共有会です。発表内容はiOS/Androidに関するTipsとされています。 これまでに3度開催されました。

まとめ

早速まとめていきます。 発表内容とその簡易的な説明をしていきます。 各タイトルの頭にAndroidならA:、iOSならI:を付けます。

(詳細な資料があるもののみをまとめの対象とさせていただきます。)

第一回

発表内容一覧 です。

  • A:No More 手書きViewHolder
    →Andoridのリスト表示の際にはパフォーマンス向上のための"おなじみの仕組み"を毎回実装することが多いがこれを簡単にする方法について

  • I:No More いろんなサイズの画像(スノーマンから始めよう)
    →ユーザの端末(iPadやiPhoneなど)の画面サイズはそれぞれ違うのでいろいろな大きさの画像が必要になってしまう。この問題に対する文字のパスを取得し、ベクター画像のように扱う方法の提示

  • I:Downloadable Storyboards!
    →iOSアプリの見た目を作成するためのファイル(通常はアプリに含まれます)をアプリの実行時にダウンロードして使う方法

  • I:5分で分かるiBeacon
    →Bluetoothを使った位置や距離感をつかむための最新技術について、その概要や実装について

  • I:UINavigationBarの隅々までタップしたい
    →通常、iPhoneの上部のバーのタップ領域は限られているが、この領域の拡張方法とライブラリ化について説明

  • A:Anroid Design Guide 3つのポイント
    →Androidの画面デザインについて。色、部品の大きさ、文字

  • I:ユーザービリティ向上ネタ
    →アプリを提供する上でのユーザビリティ向上策について11個。画像取得タイミングやタイトル表示、階層の行き来の仕方など

  • A:Development, Staging, Production...
    →アプリの配布環境ごとのビルドの自動化についてその実例

  • I:Switching Icon.png depending on each enviroment
    →本番用と開発用のアプリのアイコンを変える試みとスクリプトによる自動化

  • I:Debugger の Tips
    →デバッグ時に使用するコンソールを便利に使うための設定

  • I:iOS 7 compatibility issues (UITextView)
    →iOS7のテキスト表示部品に残っているバグに対する対処方法。また、拡張されたテキスト表示部品の実装と公開

  • I:AVSpeechSynthesizerとロケール
    →音声読み上げの際の簡単な言語判定方法

  • A:Android SDK Toolsのおさらい
    →Android開発環境に含まれるコマンド24個について

  • I:5分でわかるiOS7のiAdとTips
    →iOSで使える広告iAdの使い方

  • I:iOSでジオコーディング
    →緯度経度と住所の変換方法。サーバサイドの負荷に注意。

  • A:New Android Bootstrap
    →Webでは有名なBootstrap、そのAndroid版について設定方法や実装方法について

第二回

発表内容一覧です。

  • I:Xcode 5 & iOS 7でカバレッジを取る話
    →最新の開発環境を使ったテストカバレッジの取得

  • A:ActiveAndroidの初期化にかかる時間を4分の1にする
    →DB入出力に係る時間コストを抑える方法

  • I:Objective-CでRAII便利最高 →オブジェクトとリソース管理のパターンについて

  • I:XXXKit ~ それははしかのような物 ~
    →画像をグリッジ(画面のチラツキ)させるライブラリの紹介と、Objective-Cのカテゴリ機構について

  • A:ViewStickerを作りました
    →iOSと同様なリストセクションの表示ができるようになるライブラリの作成

  • I:~時には起こせよエクセプション
    →例外処理をさまざま試すことでクラッシュを防ぐコードを書いていこうという試み

  • A:Custom Lint Check
    →不具合を発見するためのツールにおける設定を自作

第三回

発表内容一覧です。

  • I:下位互換コード隠蔽のストイシズム
    →バージョン対応のコードをいかにして自然に実装するか

  • A:アプリの評価を良くするということについて考える →Android/iOSのストア評価について。ライブラリの紹介など

  • I:便利なSyntax及びUnicodeを使ってアイコンを出す方法
    →便利なブロック文法説明、Unicodeでアイコン表示、三項演算子の使用方法について

  • A:アプリでもオブジェクト指向エクササイズ ★おすすめ!★
    →オブジェクト指向を身につけるための強力なコーディング規約について紹介

  • I:Provisioning Profileファイルを活用してみる!Tips
    →アプリを端末に入れる際に必須である設定ファイルの便利な活用方法について

  • I:iOS 7 なMessage Appの作り方
    →LINEのようなアプリをiOSでどのような実装で作れるかの紹介

  • A:ちょっと優しい入力項目
    →決定ボタンを押した際の挙動など、こまかな入力項目に関する実装方法

  • I:やはりお前らのiOS7対応は間違っている
    →多く語られるiOS7の対応方法についての誤解と好ましい実装方法について

  • I:Secrets of launch arguments
    →実行時の引数を便利に渡す方法の紹介

  • A:TDDでアプリ開発。カバレッジ8%を目指せ(消費税連携!?)
    →全解像度、全OS、全CPUに対応した自動テストについて

  • I:xctestコマンドを知っていますか?
    →最新の開発環境におけるテスト用のコマンドについて紹介

  • A:KotlinでAndroidアプリ開発!(後編)
    →Android開発は通常Javaだが、Kotlinという言語を使った開発の紹介

  • I:死んだオブジェクトの生まれ故郷を探す
    →オブジェクトのメモリ使用についてのログを見ることでオブジェクトの生成から破棄までを追う

  • A:Gradleの共通ルーチンをテストする(後編)
    →Android開発は通常Javaだが、Groovyという言語を使った開発の紹介とビルドシステムを使ったテストについて

  • I:mogeneratorでモデルクラス作成
    →クラスを作成するためのツールの紹介と使い方

  • A:AndroidのHTTPライブラリってどれがいいんでしょうか
    →多数あるHTTPリクエストの実装方法について3つを提示して比較

詳細を知りたい方は

iOS

Android