realm,rx swift,repro を使ってみて
TRANSCRIPT
Realm,RxSwift,Reproを使ってみて
Realm
データベースFrameWork
FrameWorkとは枠組み、骨組み、骨格、下部構造、構造、組織などの意味を持
つ英単語。
RxSwift
関数型言語を使用したFrameWork
Repro
ユーザーのアプリ利用動画を
使ってコンバージョン率や定着
率を改善するモバイルアナリティ
クスツール。
今回の発表内容
仕事、プライベートで使用した中で、感じた気づきの共有
永田大祐フリーランスios歴1.5年週7日実施(少し他言語も)1日12時間〜20時間実施
この2ヶ月ぐらいで登壇をさせていただきました。
青葉台 カジュアルSwift勉強会様Swift愛好会様
ios馬場様フリースタイルPort もくもく会様
Realm Meet Up 様AKIBA.swift 様
第2回RxSwift勉強会 @ Sansan 様
iosエンジニアニュースアプリ ReacticeCocoa Realm 使用相続税アプリ CoreData使用SDK Realmを使用漫画アプリ Obcセキュリティアプリ Obcカメラアプリ Obc
Androidアキパス
プライベートでは仕事を獲得するために、短期間でアプリを多数作りました。
RateDollarMapこちらでReproを使用していま
す。
プログラミングを初めて作ったアプリ
iosがこちら
Androidがこちら
現在はリモート業務や、常駐で実施しています。勉強会も登壇させていただきましたが、これからは、製品レベルを上げた物を作るため時間を確保したいと思います。
それでは発表します。
Realm
RealmをCoreDataと比べて
CoraDataの基本
モデルクラスを作る 自動生成
XXX .xcdatamodeldでクラス内の変数を設定する。
NSMnaegedObjectNSManagedObjectContextでレコード(RDB)を呼ぶ
NSFetchedResultsControllerオブジェクトの挿入
あとは画面に表記するコードを書く
クラス設計
http://www.gologo13.com/2014/01/02/note-about-nsfetchedresultscontroller-in-coredata/
モデルクラスの作成
コードで作成
プロトコルで宣言して
NSManagedObject
永続化するオブジェクトは必ずこのクラスのオブジェクトかこのクラスのサブクラスのオブジェクトでなければいけない。
NSManagedObjectContext
データの検索挿入更新削除やUndoRedoを行うクラス
NSFetchRequest
データの検索条件を管理するクラスここで指定した条件がSQLに変換されてデータの検索に使われる
NSManagedObjectオブジェクトを監視するコントローラクラス
NSManegedObjecrオブジェクトが挿入、変更削除された時にNSFecthdResultsControllerDelegateオブジェクトに通知する
NSEntityDescpritonエンティティの定義を管理するクラス。エンティティ記述と呼ばれているエンティティについては後術
NSManagedObjectModelエンティティ同士の関連を管理するクラス
NSPrerisitenteStoreConrdinatorNSpersistentStoreを管理するクラス。データベースを複数管理することができる
上記のメソッドを駆使して、データベースを作成します。
感じたことは、メソッド名が長く、
ロジックを理解するのが大変でした。
実際に業務で使用した場合も、メソッド名が似ていて、
名前が長く、ロジックを理解するのが大変でした。
Realm
Realmクラスを作る型は多数サポート
してます。
Realmファイルが自動で作成されるので、データ保存、削除が基本
Realmコードサンプル
シンプルで効率良く、
開発できます。
今回は割愛ますが、
NsFileManagerも同時に勉強する
と良いと思います。
RxSwift
Map関数の併用
Map関数とは?配列内の要素に処理を適用し、その配列を使
いたい場合に使用します。
判定分のような使い方
RxSwiftサンプルコード
突然に思いました。
関数型言語を理解する上で必要な
こと。
Swiftらしいコーディングを実施する
中で必要なこと。
Generics
Genericsを用いることで指定した要件、もしく
は任意の様々な型を扱うことができるので、柔
軟で再利用可能な型や関数を定義することが
できます。
いくつもの種類が
あると思いますが、今回Swift3で引
数の書き方など変更があると思う
ので、キーワードで。
大きく分けて2つGeneric Types Associated Types
Generic Types 構造体・クラス
Associated Types プロトコル
あとは自分で勉強してください。
Swiftのコーディングを実施する上で、
関数型言語のライブラリー
Genericsなどの関数を使用するメソッドを探求
していく必要があると思いました。
これらを理解する事により、文字数的に可読性
がある運用ができると思います。
逆に理解していないと運用厳しい。
Repro
Repro
ユーザーのアプリ利用動画を
使ってコンバージョン率や定着
率を改善するモバイルアナリティ
クスツール。
アプリを使用するユーザーにPusu通知も送れます。
Reproを使用して気づいた事
プライベートでは仕事を獲得するために、短期間でアプリを多数作りました。
このぐらいの利用率じゃ儲ける事はできない。
製品レベル、デザインレベル楽しさ、Swiftらしさ
を向上させて
アプリを作ろう。
Thank you iosDCReject!!!