Swift e Objective-C

Compartilhar:

Essas perguntas foram mostradas apenas aos desenvolvedores que escolheram o Swift ou Objective-C como uma de suas três principais linguagens de programação.

Para quais plataformas da Apple você desenvolve?

91%

iOS

34%

macOS

10%

watchOS

4%

tvOS

3%

Não desenvolvo para plataformas Apple

Você usa o Swift e Objective-C juntos no mesmo projeto?

62%

Sim, a maioria da minha base de código está em Swift

23%

Sim, a maioria da minha base de código está em Objective-C

16%

Não

A maioria dos novos projetos que estão sendo criados são escritos em Swift, mas as empresas maiores ainda oferecem suporte a frameworks Objective-C legadas

Krzysztof Zabłocki

Criador do Sourcery e outros projetos de OSS que alimentam mais de 80 mil aplicativos

Você escreve testes de unidade para seu desenvolvimento em Swift ou Objective-C?

Desenvolvedores multiplataformas

Todos

Desenvolvedores móveis

Desenvolvedores multiplataforma: usuários do Swift ou Objective-C que usam tecnologias multiplataforma. Desenvolvedores móveis: usuários do Swift ou Objective-C que desenvolvem para plataformas móveis.

Os testes na comunidade melhoraram nos últimos anos, mas ainda são muito ruins em comparação com outras pilhas. Parte disso é falta de instrução adequada da Apple e outra parte são escolhas ruins de arquitetura, visto que escrever testes para MVC é mais complicado do que em outros padrões de arquitetura.

Krzysztof Zabłocki

Criador do Sourcery e outros projetos de OSS que alimentam mais de 80 mil aplicativos

Ainda há uma oportunidade significativa para os desenvolvedores Swift/Objective-C adotarem testes de unidade. Aqueles que o fizerem se destacarão da multidão.

Jon Reid

Orientador e instrutor na Industrial Logic, autor de iOS Unit Testing by Example

Quais frameworks de teste de unidade você usa regularmente?

94%

XCTest

11%

Quick + Nimble

2%

Outros

A Apple fez melhorias significativas no XCTest e no suporte do Xcode para testes. Tenho visto muito menos pessoas usando frameworks alternativas do que nos últimos anos, pois o custo da curva de aprendizado e de lidar com problemas de suporte geralmente supera os benefícios.

Krzysztof Zabłocki

Criador do Sourcery e outros projetos de OSS que alimentam mais de 80 mil aplicativos

Quais frameworks mock/matcher você usa?

6%

OCMock

5%

SwiftHamcrest

5%

OCMockito

3%

Cuckoo

1%

OCHamcrest

2%

Outros

81%

Nenhuma opção

Você usa testes de UI?

Desenvolvedores multiplataformas

Desenvolvedores móveis

Todos

Testes de UI são muito mais lentos para executar e geralmente menos confiáveis, não são ideais para o fluxo de trabalho TDD, e a maioria das empresas não os executa em cada PR. Em vez disso, eles são agendados em CI ou em builds noturnos.

Krzysztof Zabłocki

Criador do Sourcery e outros projetos de OSS que alimentam mais de 80 mil aplicativos

Quais frameworks de teste de UI você usa regularmente?

71%

XCTest

14%

iOSSnapshotTestCase

13%

EarlGrey

8%

KIF

4%

Outros

Qual gerenciador de dependências você usa?

61%

CocoaPods

47%

Swift Package Manager

11%

Carthage

1%

Outros

18%

Nenhuma opção

75%

CocoaPods

41%

Swift Package Manager

12%

Carthage

2%

Outros

11%

Nenhuma opção

69%

CocoaPods

47%

Swift Package Manager

12%

Carthage

2%

Outros

12%

Nenhuma opção

Você planeja substituir dependências do CocoaPods por pacotes SPM?

Qual combinação de mecanismo de banco de dados/framework você usa?

31%

Firebase

28%

CoreData

28%

SQLite com meu próprio wrapper

24%

Realm

1%

YAPDataBase

3%

Outros

26%

Nenhuma opção

41%

Firebase

23%

CoreData

37%

SQLite com meu próprio wrapper

27%

Realm

4%

Outros

20%

Nenhuma opção

35%

Firebase

29%

CoreData

29%

SQLite com meu próprio wrapper

28%

Realm

1%

YAPDataBase

3%

Outros

21%

Nenhuma opção

Você desenvolve com Swift no Linux?

5%

Sim

13%

Não, mas pretendo fazê-lo nos próximos 12 meses

83%

Não, e não pretendo fazê-lo nos próximos 12 meses

Você desenvolve projetos no lado do servidor usando o Swift?

2021

2022

Não estou realmente surpreso em ver uma taxa lenta de adoção aqui, pois ainda é uma pilha bastante nova em comparação com as alternativas. Porém, conversei com vários engenheiros que trabalham com o Swift on Server, e tudo o que ouvi foram elogios sobre o quão bem ele funciona.

Krzysztof Zabłocki

Criador do Sourcery e outros projetos de OSS que alimentam mais de 80 mil aplicativos

Swift e Objective-C:

2022

Obrigado pelo seu tempo!

Esperamos que você tenha achado nosso relatório útil. Compartilhe este relatório com seus amigos e colegas.

Se tiver dúvidas ou sugestões, entre em contato conosco em surveys@jetbrains.com.