¿Debo construir mi marco iOS usando Swift u Objective-C? Quiero que esté disponible para desarrolladores que utilicen cualquier idioma.

Depende de cuándo es su fecha de lanzamiento específica del marco y si va a distribuir solo código binario o código fuente.

Si va a lanzar después de Swift 3.0 (que probablemente esté disponible este otoño), entonces probablemente sería factible escribir su marco en Swift. Gracias al ABI finalizado que está escrito para ese lanzamiento. Esto significaría que los marcos binarios serían interoperables con diferentes versiones de Swift.

Si su fecha de lanzamiento es anterior, Swift prácticamente no es una opción si no planea distribuir las fuentes de su marco. La falta de un ABI estable evita esto.

Pero si va a construir un marco de código abierto, la objeción principal sería que las aplicaciones tendrían que llevar las bibliotecas de tiempo de ejecución de Swift con él; por lo tanto, usar su marco significaría obtener algunos megabytes adicionales para Swift, incluso si la aplicación es No usar Swift para nada más. Si su mercado objetivo (desarrollador) está de acuerdo con eso, entonces continúe.

Yo usaría Swift. Swift combina muchos aspectos positivos de Ruby, Python, Node.js y Objective-C de una manera perfectamente adaptada para iOS. Además, es de código abierto, y muchos desarrolladores profesionales de iOS contribuyen al desarrollo de nuevas versiones. Mi característica favorita de Swift es la forma en que trata la nulidad. Mientras que Objective-C es bastante suelto con objetos vacíos (a menos que elija usar las palabras clave feas “_Nullable” o “NS_ASSUME_NONNULL_BEGIN”), Swift implementa protección nula con gracia con sintaxis evidente. Lo mejor de todo: no se requieren punto y coma.

Si desea que ambos usen los dos, debe usar Objective-C.

Pero Swift es el nuevo lenguaje, es mejor hacerlo en Swift.