Articles

Clean Swift

あなたは次のいずれかに共鳴しますか?

  • あなたのview controllerは大規模で理解しにくくなり、バグを修正し、新しい機能を追加しますか?
  • さて、ビジネスロジックをモデルに移動しました。 しかし、今あなたのモデルはあまりにも太っています。
  • あなたのアプリは一つの巨大な絵コンテを使用していますか?
  • バグを再現しようとするのに4時間を無駄にし、それを修正するために一週間を無駄にしたことはありますか? そして、まだどこにも行かない? ちょうど猿のパッチに準備ができていますか?
  • 新しい機能を追加すると、回帰とより多くの再、再、再ファクタリングを意味しますか?
  • あなたのクライアントが「これは以前働いていました」と言ったとき、あなたは罪悪感を感じますか?
  • TDDとの努力と利益のトレードオフはそれだけの価値はありません。

もちろん、私たちは皆、これらの問題をすべてテストすることを知っています。 しかし、あなたは単体テストを書こうとしましたが、あきらめました。

人々がTDDとテストをあきらめる一番の理由は、悪いアプリケーションアーキテクチャの上にテストを書くからです。p>

それについて考えてみてください。 あなたが世界で最も美しい家を建てることができますが、悪い基盤の上に、家は崩壊します。 同じことが、アプリケーションアーキテクチャにも当てはまります。私は単体テスト(特にiOS)で作業するために何年も繰り返し試してきましたが、時間と利益が報われる方法で理にかなった方法を見つけることができ 私はこの建築の中でそれを見つけたと感じています。 MVCに固執する必要はありません。 だから、より良い何かを検索するためにあなたの方法にあります。

  • あなたはMVCが前進する方法ではないと確信しています。だから、ReactiveCocoaでMVVMを試しましたが、新しいことを学ばなければなりません。 より多くの依存関係、Yikes!
  • またはバイパー。 しかし、ワイヤフレーム内のすべてのインターフェイスを設定することは非常に複雑です。 そして、あなたはseguesを使用することはできません。
元のVIPERアーキテクチャと比較するためだけに、きれいなSwiftアーキテクチャの実装を開始しました。 私はあなたがそれで素晴らしい仕事をしたと私は本当にあなたの記事を読んで楽しむと言わなければな
–Razvan

あなたはまだ別のフレームワークを学ぶ必要がない場合はどうなりますか? 新しい依存関係を追加する必要はありません。あなたのコードの制御を取り戻すことができると想像してください。

あなたのコードの制御を取り戻すことができます。 物事がどこにあるかを迅速かつ正確に知ることができます。 あなたは、バグを修正し、自信を持って新機能を追加することができます。 アプリケーションのフローを複数のストーリーボードに分割できます。 そして、はい、あなたはseguesを使用し続けることができます。 そして、いいえ、あなたを混乱させるワイヤーフレームはありません。最後に、クライアントにTDDの支払いにyesと言わせ、投資がどのように報われるかを確かな証拠を示すことができます。 あなたは自信を持ってバグがある場所を特定し、最も恐ろしいコメントに罪悪感のない答えを持つことができます-これは動作するために使用され

優れたアプリケーションアーキテクチャは、テストを容易にします。p>

以下にあなたの名前と電子メールを入力してください。 あなたはあなたのiOS開発スキルをレベルアップし、クリーンなコードとテストであなたの仲間を感動させるために巨大な最初の一歩を踏み Uncle BobのClean ArchitectureをiOSアプリに適用する方法を学習します。p>

ボードにあなたを持っていることをうれしく思います。購読したので、受信トレイにMy Clean Swift Xcodeテンプレートをダウンロードするためのリンクが表示され、すべてのコンポーネントが自動的に生成されます。 同じ定型コードを書く時間を無駄にしないでください。 あなたのビジネスロジックを書くことに焦点を当てます。p>

あなたのテンプレートは魅力のように動作します。 すべてが非常にきちんとしており、私はVIPERよりもきれいなアーキテクチャパターンを好む。
–Augustin

また、Swiftをきれいにするための紹介を得るために、大規模なView Controllerを修正するためのClean Swift iOS Architecture この記事では、Uncle Bob自身の例を使用して概念を示しています。 また、Xcodeテンプレートを使用してクリーンなSwiftコンポーネントを生成する方法についても説明します。 そのため、すぐにアプリのビジネスロジックの実装を開始できます。

今後数週間にわたって、我々はまた、次のトピックに深く飛び込むでしょう:

  • Clean SwiftとVIPサイクルをAppleのサンプルコードに適用する
  • デリゲートメソッドをview controller、interactor、またはworkerに入れる
  • 複数のストーリーボードを備えたAdvanced router
  • 変更を行うために自信を持って高速で保守可能なテストを書く
  • 受け入れから単体テストに至るまで、テストへの外部インアプローチ
  • 独自のモックとスタブを書く
  • 各クリーンSwiftコンポーネントに深く飛び込む
  • clean swift、mvvm+Reactivecocoa、およびviperを比較します
  • プロトコル指向プログラミングとclean swift
  • あなたの変換 Li>
  • ワーカーとサービスオブジェクトで再利用するための共通コードを抽出する
  • ワーカーを使用して複雑なビジネスロジックを分解する方法

あなたは私が次のいずれかを記述したい場合は、

あなたは私が次のいずれかを記述したい場合は、

あなたは私が次のいずれかを記述したい場合は、

あなたは私が次のいずれかを記述したい場合は、

あなたは私が次のいずれかを記述したい場合は、

あなたは私が次のいずれかを記述したい場合は、最初にこれらの特定のトピック、または心で全他のトピックを有すれば、私に電子メールを落としなさい。また、Objective-Cで作業していて、Objective-CバージョンのXcodeテンプレートをテストするのを手助けしたい場合は、購読した後に私にメールしてください。私はあなたのiOSプロジェクトにClean Swiftをどのように適用するかを聞いてみたいと思います。

私はVIPアーキテクチャが本当に私に成長していると言わなければなりません。 テンプレートの助けを借りて、アーキテクチャがあまりにも多くの定型コードを生成しているという感覚なしに、すべてが明確で非常に簡単になります。