Articles

Clean Swift

Hai una delle caratteristiche seguenti?

  • I tuoi controller di visualizzazione diventano massicci e difficili da capire, correggono i bug e aggiungono nuove funzionalità?
  • Ok, hai spostato la logica di business sui modelli. Ma ora i tuoi modelli diventano troppo grassi.
  • La tua app utilizza uno storyboard gigantesco?
  • Hai mai sprecato 4 ore per provare a riprodurre un bug e poi una settimana per risolverlo? E non va ancora da nessuna parte? Pronto a scimmiottarlo?
  • Aggiungere una nuova funzionalità significa regressione e più re, re, re-factoring?
  • Ti senti in colpa quando il tuo cliente dice”Questo funzionava”?
  • Il compromesso tra sforzo e beneficio con TDD non ne vale la pena.

Naturalmente, sappiamo tutti che i test curano tutti questi problemi. Ma hai provato a scrivere test unitari e hai rinunciato.

Il motivo numero uno per cui le persone rinunciano a TDD e ai test è perché scrivono test su un’architettura di applicazioni scadente.

Pensaci. Se riesci a costruire la casa più bella del mondo ma su una cattiva base, la casa crollerà. La stessa cosa vale per l’architettura dell’applicazione.

Ho provato ripetutamente nel corso degli anni a lavorare con i test unitari (specialmente con iOS) e non sono riuscito a trovare un modo che abbia senso e lo fa in un modo in cui il tempo vs benefici pay-off. Sento di averlo trovato in questa Architettura.
– Darren Ehlers

Ma non deve essere così. Non devi rimanere con MVC. Quindi sei sulla buona strada per cercare qualcosa di meglio.

  • Sei convinto che MVC non sia il modo per andare avanti.
  • Quindi hai provato MVVM con ReactiveCocoa, ma devi imparare una cosa nuova. Più dipendenze, Yikes!
  • O anche VIPER. Ma impostare tutte le interfacce nel wireframe è così complesso. E non puoi usare segues.
Ho iniziato a implementare l’architettura Clean Swift solo per confrontarla con l’architettura originale VIPER. Devo dire che hai fatto un ottimo lavoro con esso e mi piace molto leggere i tuoi post.
– Razvan

Cosa succede se non devi imparare ancora un altro framework? Non è necessario aggiungere alcuna nuova dipendenza.

Immagina di poter riprendere il controllo del tuo codice. Puoi sapere rapidamente ed esattamente dove sono le cose. È possibile correggere i bug e aggiungere nuove funzionalità con fiducia. È possibile suddividere il flusso dell’applicazione in più storyboard. E sì, è possibile continuare a utilizzare segues. E no, non c’è wireframe per confonderti.

Infine, puoi far sì che i clienti dicano di sì al pagamento di TDD e mostrare loro una solida prova di come il loro investimento paga. Sarai in grado di individuare con sicurezza dove si trova un bug e avere una risposta senza sensi di colpa al commento più temuto-Questo funzionava.

Una buona architettura applicativa facilita i test.

Inserisci il tuo nome e la tua email qui sotto. Farai un enorme primo passo per aumentare di livello le tue abilità di sviluppo iOS e impressionare i tuoi colleghi con codice pulito e test. Imparerai come applicare l’architettura pulita di Uncle Bob alle tue app iOS.

Felice di averti a bordo.

Ora che ti sei iscritto, riceverai un link nella tua casella di posta per scaricare i miei modelli Swift Xcode puliti per generare automaticamente tutti i componenti per te. Non perdere tempo a scrivere lo stesso codice boilerplate. Concentrati sulla scrittura della tua logica aziendale.

I tuoi modelli funzionano come un incantesimo. Tutto è molto pulito e preferisco il modello di architettura pulita su VIPER.
– Augustin

Dovresti anche leggere Clean Swift iOS Architecture per fissare Massive View Controller per ottenere un’introduzione a Clean Swift. Questo post dimostra i concetti utilizzando un esempio direttamente da zio Bob se stesso. Ti guida anche su come utilizzare i modelli Xcode per generare i componenti Swift puliti. Quindi inizierai a implementare la logica di business della tua app in pochissimo tempo.

Nelle prossime settimane, approfondiremo anche i seguenti argomenti:

  • Applicare Pulito Swift e il VIP ciclo di Apple e codici di esempio
  • inserisci il delegato metodi di controller di visualizzazione, interazione, o lavoratore
  • Avanzate router con più storyboard
  • Scrivere veloce e gestibile test con fiducia a fare modifiche
  • Un fuori-metodo di prova – dall’accettazione al test di unità
  • Scrivere il proprio deride e tronchetti
  • Profondità di immersione in tutte le camere Pulite e Swift componente
  • Confronto Pulito Swift, MVVM + ReactiveCocoa, e VIPER
  • Protocollo-programmazione orientata agli oggetti e Pulito Swift
  • Conversione progetto esistente per la Pulizia Swift
  • Come Pulire Swift eseguire in un progetto di grandi dimensioni
  • Estrazione di un codice comune per il reimpiego di lavoratori e oggetti di servizio
  • Come abbattere logica di business complessi utilizzando lavoratori

Se mi vuoi scrivere di questi argomenti prima, o se si hanno altri argomenti in mente, mandarmi una e-mail.

Inoltre, se lavori con Objective-C e ti piace aiutarmi a testare una versione Objective-C dei modelli Xcode, mandami un’email dopo esserti iscritto.

Mi piace sentire come si applica Clean Swift ai vostri progetti iOS.

Devo dire che l’architettura VIP sta davvero crescendo su di me. Con l’aiuto dei modelli, tutto diventa chiaro e molto semplice, senza la sensazione che l’architettura stia producendo troppo codice standard.
– Mihai