Swift y Objective-C

Compartir:

Estas preguntas solo se han mostrado a los desarrolladores que seleccionaron Swift u Objective-C como uno de sus tres lenguajes de programación principales.

¿Para qué plataformas de Apple desarrolla?

91%

iOS

34%

macOS

10%

watchOS

4%

tvOS

3%

No desarrollo para plataformas de Apple

¿Utiliza Swift junto con Objective-C en el mismo proyecto?

62%

Sí, la mayor parte de mi código base está en Swift.

23%

Sí, la mayor parte de mi código base está en Objective-C.

16%

No

La mayoría de los nuevos proyectos que se crean están escritos en Swift, pero las empresas más grandes todavía suelen dar soporte a los marcos de trabajo heredados de Objective-C

Krzysztof Zabłocki

Creador de Sourcery y otros proyectos OSS que impulsan más de 80 000 aplicaciones

¿Escribe pruebas de unidad para su desarrollo en Swift u Objective-C?

Desarrolladores multiplataforma

Todos los desarrolladores

Desarrolladores móviles

Desarrolladores multiplataforma: usuarios de Swift u Objective-C que utilizan tecnologías multiplataforma. Desarrolladores móviles: usuarios de Swift u Objective-C que desarrollan para plataformas móviles.

Las pruebas en la comunidad han mejorado en los últimos años, pero siguen siendo bastante malas en comparación con otras pilas. En parte se debe a la falta de educación adecuada por parte de Apple, y en parte a malas elecciones de arquitectura, dado que escribir pruebas para MVC es más complicado que en otros patrones de arquitectura.

Krzysztof Zabłocki

Creador de Sourcery y otros proyectos OSS que impulsan más de 80 000 aplicaciones

Todavía hay una oportunidad significativa para que los desarrolladores Swift/Objective-C adopten las pruebas de unidades. Los que lo hagan destacarán entre la multitud.

Jon Reid

Coach y formador en Industrial Logic, autor de iOS Unit Testing by Example.

¿Qué marcos de trabajo de pruebas de unidad utiliza habitualmente?

94%

XCTest

11%

Quick + Nimble

2%

Otro

Apple ha introducido mejoras significativas en XCTest y en la compatibilidad de Xcode con las pruebas. He visto que mucha menos gente que en años anteriores utiliza marcos de trabajo alternativos, ya que el coste de la curva de aprendizaje y de lidiar con los problemas de compatibilidad suele ser mayor que las ventajas.

Krzysztof Zabłocki

Creador de Sourcery y otros proyectos OSS que impulsan más de 80 000 aplicaciones

¿Qué marco de trabajo comprobador o mock utiliza?

6%

OCMock

5%

SwiftHamcrest

5%

OCMockito

3%

Cuckoo

1%

OCHamcrest

2%

Otro

81%

Ninguno

¿Utiliza pruebas de interfaz de usuario?

Desarrolladores multiplataforma

Desarrolladores móviles

Todos los desarrolladores

Las pruebas de interfaz de usuario son mucho más lentas de ejecutar y a menudo menos fiables, no son ideales para el flujo de trabajo TDD, y la mayoría de las empresas no las ejecutan en cada PR. En su lugar, se programan en CI o en builds nocturnos.

Krzysztof Zabłocki

Creador de Sourcery y otros proyectos OSS que impulsan más de 80 000 aplicaciones

¿Qué marcos de trabajo para hacer pruebas de la IU utiliza habitualmente?

71%

XCTest

14%

iOSSnapshotTestCase

13%

EarlGrey

8%

KIF

4%

Otro

¿Qué administrador de dependencias utiliza?

61%

CocoaPods

47%

Swift Package Manager

11%

Carthage

1%

Otro

18%

Ninguno

75%

CocoaPods

41%

Swift Package Manager

12%

Carthage

2%

Otro

11%

Ninguno

69%

CocoaPods

47%

Swift Package Manager

12%

Carthage

2%

Otro

12%

Ninguno

¿Planea reemplazar las dependencias de CocoaPods por paquetes SPM?

¿Qué combinación de marcos de trabajo con motor de base de datos utiliza?

31%

Firebase

28%

CoreData

28%

SQLite con mi propio contenedor

24%

Realm

1%

YAPDataBase

3%

Otro

26%

Ninguno

41%

Firebase

23%

CoreData

37%

SQLite con mi propio contenedor

27%

Realm

4%

Otro

20%

Ninguno

35%

Firebase

29%

CoreData

29%

SQLite con mi propio contenedor

28%

Realm

1%

YAPDataBase

3%

Otro

21%

Ninguno

¿Desarrolla con Swift en Linux?

5%

13%

No, pero planeo hacerlo en los próximos 12 meses

83%

No, y no planeo hacerlo en los próximos 12 meses

¿Desarrolla proyectos del lado servidor con Swift?

2021

2022

No me sorprende que la adopción sea lenta, ya que se trata de una pila bastante nueva en comparación con otras alternativas. Pero hablé con un grupo de ingenieros que trabajan con Swift en Server y todo lo que oí fueron elogios sobre lo bien que funciona.

Krzysztof Zabłocki

Creador de Sourcery y otros proyectos OSS que impulsan más de 80 000 aplicaciones

Swift y Objective-C:

2022

¡Gracias por el tiempo que nos ha dado!

Esperamos que nuestro informe le haya resultado útil. Comparta este informe con sus amigos y compañeros.

Si tiene alguna pregunta o sugerencia, no dude en ponerse en contacto con nosotros a través de surveys@jetbrains.com.