You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Even if we are writing pure Swift code in our app, we still deal with Objective-C Frameworks like UIKit. Let's take a look at how we can improve our MVVM architecture by leveraging a little bit of Objective-C runtime and Protocol Oriented Programming. Popular MVVM setupPretty standard approach for MVVM architecture is to have both UIView and UIViewController have a corresponding ViewModel. An impr
丸山です。ヤパチー、最高に楽しかったですね。スライドの公開はしたのですが、正直重要なことは全部口頭で説明していて、スライドには情報が少ない。しかし、動画を見るのは正直だるい。40分もPCの前で集中して映像を観れないですよね。知ってる。というわけで、受験参考書の「実況中継」シリーズ(知ってます?)方式で、プレゼンをブログで再現します。長いぞ。でも多分動画見るよりははやく読み終われる。ぜひ読んでいってください。 アバンパート 今日はこういうトークをします。 簡単に自己紹介すると、こういうものです。 息子紹介です。かわいいですね。 WEB+DB Press 91号では特集を、92号ではPerlHackersHubに記事を書かせてもらいました。もう原稿料いただいてるので、もうこれ買ってもらってもわたしには一銭も入らないんですけど、いい雑誌なので買ってないひとはぜひ買って読んでください。 まずMVW
About the content This talk was delivered live in June 2016 at mDevCamp. The video was transcribed by Realm and is published here with the permission of the conference organizers. MVVM、MVC、VIPERなど多様なアーキテクチャデザインがありますが、どれが一番良いのでしょうか。この講演では良いiOSアプリアーキテクチャを構成するためにどのような要素が必要なのかを見ていきます。 導入(0:00) New York Timesで働いているKrzysztof Zabłockiです。オープンソースまたは私が作ったFoldifyアプリを通じて私の名前を聞いたことがある方がいるかもしれません。もしかしたらObjectiv
こんにちは、サービス開発部の森川 (@morishin127) です。主にクックパッドの iOS アプリの開発に携わっています。 日々アプリを開発する中で、近頃は最適なアーキテクチャとは何かを考えながら色々な形を試行錯誤しています。世の中で採用されているモバイルアプリのアーキテクチャには様々なものがあります。MVC, MVP, MVVM, VIPER, Clean Architecture などなど。開発している、あるいは開発しようとしているアプリケーションでどういったアーキテクチャを選択するかというのは難しい問題です。選択するためにはアーキテクチャに求める要件を定義する必要があります。この記事では私がアーキテクチャに求める要件と、それらをある程度満たすと考えた MVVM と Flux という2つのアーキテクチャで実装したサンプルを見つつその長所・短所について考えてみようと思います。 アー
Note: Sample project can be found here. I love MVVM. Ever since adopting it many moons ago the ways in which I architect my apps have vastly improved. I personally credit it to the freedom MVVM allows. It’s a pattern that works hand-in-hand with concepts like “Separation of Concerns” and “Dependency Injection” as well as Functional Reactive Programming. But it wasn’t always that way… It took me a
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(msg, "The onCreate() event"); } } つまり M-VC iOS も Android も View と Controller がまとめられてる M-VC なコードになる Model, ViewController という関係性 テストがかけない... だから設計談義が盛り上がる アーキテクチャを導入する目的 保守性の高いコード FatController にしない テストのかきやすい構成へ 考え
フォームに入力してボタンを押すと成功や失敗が起きるというiOS GUIから、RxSwiftを使ってデザインしたViewController用のバインディングクラスがどう振る舞うといいのか考えた (このapp自体はどうでもいいものだけれど) モチベーション 今まで書けてなかった部分のユニットテストを書きたい 非同期ストリーム(Observable)として検査できる ストリームから送られてきたデータによってUIが常に同じ結果に行き着くようにする とはいえプレゼンテーションの手続き部分のふるまいは保証できないけど 前提となる考え ViewModelはUIの世界から切り離された純粋なデータ UIView, Storyboard, UIViewController, ViewModel の責務は全部View(プレゼンテーション) ViewModelはViewなのでViewのデータを定義するだけ。業務
Don’t miss the iOS Developer Roadmap for 2018! UPD: Slides which I presented at NSLondon available here. Feeling weird while doing MVC in iOS? Have doubts about switching to MVVM? Heard about VIPER, but not sure if it worth it? Keep reading, and you will find answers to questions above, if you don’t — feel free to complain in comments. You are about to structure your knowledge about architectural
追記 2020-12-01 この記事も相当古いものになりましたが、 私自身は現在もMVVMのパターンを利用していますが、VM-Vの間ではFluxパターンを活用しています。 iOSアプリにおけるFluxの難しさと開発を加速させる”store-pattern” はじめに 22日目担当のmuukiiです。 最近Swiftを2スペで書くことにハマってます😎 先日KickstaterのiOSアプリがオープンソースとして公開されましたね! GitHub - kickstarter/ios-oss: Kickstarter for iOS. Bring new ideas to life, anywhere. 最初はちら見した程度だったのですが、MVVM + ReactiveCocoaということに気づき興味が湧いたので色々観察していました。 観察した中で良いな!と思ったことが幾つかあったのですが、今回
artsy/eidolon artsy/eidolon オープンソースの iOS アプリ。 元々は RAC 2 で作っていたものを RxSwift で書き換えたとのこと。 その PR がこちら: Migrates from ReactiveCocoa 2.x API to RxSwift #569 https://github.com/artsy/eidolon/pull/569 sergdort/RxMarvel sergdort/RxMarvel Keeping this in mind I like to think about ViewModel as a “Black Box” which accepts some UI triggers, other dependencies and apply some Rx operators https://medium.com/@Ser
via Rob Wormald いいコトバですね。 Android アプリ開発では、事実上 stream is an (RxJava の) Observable<T>、 つまり Everything is an Observable<T> と言ってもいいでしょう。 ところで、 Android アプリ開発でも DataBinding の登場以来、MVVM パターンの話題が増えてきました。 Everything is a Observable<T>、では ViewModel はどうでしょう? public class MainViewModel { public final ObservableField<String> name = new ObservableField<>(); public final ObservableField<String> location = new Obs
こちらに移転してきて初めての記事です。 最近たまに話題になるので書いておきます。MVVMのModelについて誤解されやすい部分のお話です。最近よく議論してるasync/awaitの話とは関係がありません。なおこの話は以下のスライドを理解している事が前提となります。 共有したい理解(ゴール) ViewModelはModelの影 ModelについてViewModelが行うことは、イベントに対する反応と戻り値のないメソッドの呼び出ししかない事 これについての理解を共有できるよう説明していきます。 VIewModelはModelの影 スライドにもしつこく書きましたが、MV○(MVVMやMVC/MVP)のModelは大変分厚くなるし、アプリケーション間で使いまわすことなんてできません。ModelはUIを意識しない??いや、何度も言っていますが、意識はする必要があるんです。ただUI実装の知識が必要ない
都内でレンタルオフィスを調べてみると、例えば一人用で2万円から10万円以上まで価格に差があります。 理由は立地場所と、部屋のタイプにあるようです。 レンタルオフィスは事業者によって価格の設定も異なり、機材の利用もオプションのように別途費用がかかるものもあります。 普及率が伸び続けるレンタルオフィスですが、どういうものをレンタルオフィスと呼ぶかの定義はあまりはっきしていません。 バーチャルオフィス、コワーキングスペース、シェアオフィスなど色々ありますから混同しますね。 厳密には、レンタルオフィスはネット環境が整った複数の利用者に提供される専用スペースの一つであるといえます。 直訳して「貸事務所」という言葉になるので、他のバーチャルオフィスなどもすべてレンタルオフィスの種類の一つとする解釈もあります。 増加の要因としては、テレワークが増えているということもあるのでしょう。 起業するにあたってオ
都内でレンタルオフィスを調べてみると、例えば一人用で2万円から10万円以上まで価格に差があります。 理由は立地場所と、部屋のタイプにあるようです。 レンタルオフィスは事業者によって価格の設定も異なり、機材の利用もオプションのように別途費用がかかるものもあります。 普及率が伸び続けるレンタルオフィスですが、どういうものをレンタルオフィスと呼ぶかの定義はあまりはっきしていません。 バーチャルオフィス、コワーキングスペース、シェアオフィスなど色々ありますから混同しますね。 厳密には、レンタルオフィスはネット環境が整った複数の利用者に提供される専用スペースの一つであるといえます。 直訳して「貸事務所」という言葉になるので、他のバーチャルオフィスなどもすべてレンタルオフィスの種類の一つとする解釈もあります。 増加の要因としては、テレワークが増えているということもあるのでしょう。 起業するにあたってオ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く