タグ

ブックマーク / ninjinkun.hatenablog.com (6)

  • iOSとAndroidでReduxを使うサンプルを作った - ninjinkun's diary

    Flux(とその実装としてのRedux)は中〜大規模のWebクライアントに向いている設計だと思っているので、具体性を出すためにサンプルとしてTwitterクライアントを作ってみた。iOS版はRIDEと同様にReSwiftを使い、Android版はReSwiftを写経したJava版Reduxライブラリを作って同梱している(用途があれば切り出してもいいかも)。 簡易な実装なので、UITableView、RecyclerViewとの同期問題、アニメーションの問題などは積み残しになっている。 普通にアプリケーションを作る場合に比べてFluxはコード量が増える傾向にあるが、一人で簡単なものを作っているだけではFluxのうまみもなく、実装は結構だるかった。開発に1ヶ月以上かかる場合や、チームが2人以上の場合などであればペイすると思う。

    iOSとAndroidでReduxを使うサンプルを作った - ninjinkun's diary
  • スマートフォンアプリでリアクティブプログラミングをしているが、Promiseとデータバインディングとして使っている - ninjinkun's diary

    このところ、複数の人からリアクティブプログラミング(RP)ってつまり何なんですかと聞かれることがあった。そのたびに非同期データストリームが…みたいな説明をしていたのだが、たいてい双方納得した感じにはならなくて、まあ難しいっすね…という感じで終わってしまっていた。 iOSとAndroidでの用途 自分は理論より実践からしか考えられないタイプなので、もっと現場寄りの説明ができないか常々考えていた。そこで自分がiOSとAndroidアプリを実装する際に使っているReactiveCocoaとRxJavaの用途を考えてみたところ Promise(の高機能版) 複数のAPIコールを連鎖させたい場合にコールバックヘルを避けたい データバインディング(の高機能版) Modelの変更とViewの変更を同期したい の2つがメインだった。 この2つはRPライブラリを入れなくても実装できる。JavaScript

    スマートフォンアプリでリアクティブプログラミングをしているが、Promiseとデータバインディングとして使っている - ninjinkun's diary
  • Android SDKのソースコードを読みながら開発する - ninjinkun's diary

    この記事はAndroid Advent Calendar 2014の14日目です。 Androidアプリケーション開発をiOSのそれと比べると、SDKのソースコードが公開されていることがアドバンテージの一つになると思います。自分は半年ほど前から、開発時に時々SDKのソースコードを参照するようになり、それからSDKへの理解が深まって、開発効率が高まったと感じています。 この記事では、自分がSDKのソースコードを読む際に使っている方法をまとめます。たぶんよく知られている方法ばかりです。 1. ブラウザで見る GrepCode 特定のクラス名でぐぐっていたりすると、GrepCode というサイトが時々引っかかります。Javaのソースコードを集めて検索可能にしてくれているサイトですが、ちょっとSDKのコードを読みたいというときは、このサイトで読むのがおすすめです。 Android SDKの各バージ

    Android SDKのソースコードを読みながら開発する - ninjinkun's diary
  • Androidアプリの段階的リリース - ninjinkun's diary

    Androidアプリは全体の5%のユーザーに公開するというような、段階的公開が可能です。会社でこの機能を使っているので、知見をまとめました。 目的 致命的な問題 (e.g. 商品が出品、購入できない)に全ユーザーを巻き込むのを避ける 不具合を減らしつつ、リリースサイクルのスピードを保つ 問題 母集団が少なすぎると問題が見つからない or 報告されない場合がある 変更できるのは公開するユーザーの割合のみ できる限り不具合にユーザーを巻き込まないようにしながら、早めに段階を上げるという問題を考える 戦略 プラン 松 変更点が多い場合、致命的なバグが発生する可能性がある場合 5 or 10%からリリース 最短で5日で全ユーザーにリリース (竹は考えてなかった…) 梅 変更点が少ない場合 20%からリリース 最短で3日で全ユーザーにリリース 運用 リリースの翌日に不具合の有無を確認して、大丈夫そう

    Androidアプリの段階的リリース - ninjinkun's diary
  • ReactiveCocoa勉強会関西を開催しました #rac_kansai - ninjinkun's diary

    先週の土曜日にReactiveCocoa (以下RAC)というOSX / iOSで使うリアクティブプログラミング(RP)フレームワークの勉強会を開催しました。 当日の資料 当日の資料のうち、見つけられたものは以下にまとめました。 はじめてのReacitveCocoa @tinpayさん はじめてのReactiveCocoa from Shohei Fukui https://github.com/tinpay/RACWarikan ReactiveCocoa勉強会に参加してきました #rac_kansai . ゆるやかなReactiveCocoaの導入 @ninjinkun 実践!Twitter API+ReactiveCocoa @atsusy さん var RAC3 = ReactiveCocoa + Swift @ikesyo さん var RAC3 = ReactiveCocoa

    ReactiveCocoa勉強会関西を開催しました #rac_kansai - ninjinkun's diary
  • iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary

    日常的なコードレビューで気をつけていることリストです。GitHub会議(仮)で発表しようと思っていたのですが、日程の都合で参加できないので、書きためておいたメモを公開します。またどこかで発表するかもしれません。 AutoLayoutにできないか AutoLayout化した方がすっきりしそうならAutoLayout化する AutoLayout化できそうなものでやっていないものは、なぜコードで実装したか質問する 例えばUITableViewCell ちゃんと理由があれば別に良い。コードの方が良いことも多い UIAppearanceで解決できないか 各クラスの中にスタイルの指定が入るより、UIAppearanceでスタイル指定を分離して別クラスに書く方がデザイナーも弄りやすくて良い 3.5インチ端末が考慮されているか レイアウトが決め打ちだとここで問題が出ることが多い 着信ステータスバーが考慮さ

    iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary
  • 1