¿Cuánto Objective-C debe saber un desarrollador de Swift?

Tengo 2.5 años de experiencia en Objective-C y alrededor de 2 años en el desarrollo de Swift. Creo que soy la persona adecuada para dar esta respuesta.

La respuesta depende de la tecnología del proyecto actual de la compañía y de la tecnología del proyecto de desarrollo futuro.

Son varios escenarios:

  1. La mayoría de las empresas antiguas tienen aplicaciones iOS anteriores en Objective-C y las aplicaciones futuras se desarrollarán en Swift muy probablemente. Entonces, en ese caso, debe tener un buen conocimiento y experiencia en ambos idiomas.
  2. La mayoría de las nuevas empresas adoptaron Swift, para el desarrollo de iOS. Y allí el desarrollo de aplicaciones ya se inició en Swift. Por lo tanto, debe tener un fuerte conocimiento del desarrollo rápido. Y Objective-C sería opcional.
  3. También hay compañías que tenían aplicaciones de iOS en Objective-C y no tienen planes de cambiar a Swift. Este tipo de empresas requiere que tenga un conocimiento sólido de Objective-C y un conocimiento básico de Swift (sí, también solicitan Swift).

Entonces, depende de la compañía, pero según mi conocimiento, Swift es obligatorio , ya que cada compañía solicita el lenguaje Swift en la entrevista. Y Objective-C depende de una compañía a otra.

En los escenarios actuales, debe saber que Objective-C es competitivo en la industria. Como muchas aplicaciones todavía están escritas en Objective-C.

Por lo tanto, obviamente se preferirá un desarrollador que conozca tanto Objective-C como Swift.

Esto dependerá de la empresa y, en menor medida, del proyecto al que se le asignará en la empresa.

Algunas compañías están haciendo la mayoría / todos los proyectos nuevos en Swift. Es posible que no tengan un código no rápido. Es posible que no pregunten sobre ObjC, y si lo hacen, probablemente no necesiten ver un profundo conocimiento de ObjC. Supongo que estas compañías son bastante nuevas (o al menos nuevas para iOS / macOS), o bastante raras (por ejemplo, mientras Lyft es anterior a Swift, reescriben su aplicación en Swift).

Algunas compañías están haciendo la mayoría de los proyectos nuevos / nuevos en Swift, pero tienen muchos códigos antiguos que no son de Swift que aún les interesan, e incluso algunos proyectos con Swift y ObjC mixtos. Esto va a ser mucho más común. Realmente necesitará poder depurar el código ObjC y agregar nuevas características al código ObjC (tal vez subclasificando en Swift … pero es posible que deba realizar cambios de clase base en ObjC).

Algunas compañías están haciendo casi todo en ObjC, pero están haciendo algunos experimentos en Swift. Entonces pedirán experiencia Swift, pero lo que realmente necesitan es experiencia ObjC.

Algunas compañías están haciendo todo en ObjC, pero piensan que algún día podrían pensar en experimentar con Swift (para su información, apuesto a que muchas de estas compañías se sorprenden cuando Apple anuncia un plan para eliminar ObjC mucho antes de que esperen escuchar tal cosa extravagante!). Realmente quieren experiencia en ObjC, y tal vez ni siquiera puedan determinar cuánto Swift sabes.

En una compañía lo suficientemente grande, algunas partes de la compañía pueden estar en un extremo de este espectro y otras partes en el otro extremo. La mayoría de estas compañías querrán la máxima flexibilidad de los nuevos empleados … pero si impresiona a las personas “en su mayoría rápidas”, de todos modos pueden ser capaces de poner su peso detrás de usted. Sin embargo, si solo tienen una posición y se aplica alguien que es bastante bueno con Swift y también bastante bueno con ObjC, es probable que obtengan esa posición a pesar de que ese grupo es “solo Swift”, e incluso si usted es “realmente bueno” con Rápido … porque a la mayoría de las empresas les gusta pensar que podrían reasignar a algunas personas si un proyecto importante se atrasó, y no saber que todo se interpone en el camino.

Buena suerte.