¿Por qué debería usar Swift cuando Delphi y otros desarrolladores me permiten escribir solo el código de Windows y automáticamente obtengo las versiones de las aplicaciones OS X, iOS y Android?

No he usado específicamente Delhi (¿o es Delphi?). Sin embargo, he usado otros frameworks multiplataforma en el pasado.

Generalmente tienen múltiples inconvenientes:

  • La mayoría solo ofrece controles que están disponibles en todas las plataformas (o tal vez la mayoría de las plataformas)
  • La mayoría se parece a una plataforma específica en lugar de verse como cada plataforma de destino (es decir, botones / controles deslizantes de estilo incorrecto)
  • Algunos son lentos (sin embargo, no hay una razón inherente para esto, ¿tal vez el esfuerzo de proporcionar el sistema multiplataforma consume el tiempo necesario para optimizarlo?)
  • Con frecuencia son mucho más difíciles de depurar que los kits de herramientas nativos
  • Se ponen al día con las nuevas características de la plataforma lentamente

A veces, estos inconvenientes no importan tanto. Si sus diseñadores van a diseñar una interfaz de usuario de Windows Phone para la aplicación iOS de todos modos, no importará que eso sea todo lo que proporcionará su kit de herramientas. Del mismo modo, si nadie quiere decidir qué debe hacer 3D Touch en su aplicación o cómo debería ser el widget de hoy, no poder tener uno no importará.

Los juegos también tienden a pasar más tiempo en su propia interfaz de usuario y evitan la interfaz de usuario del sistema del 80% al 100% del tiempo. Si el rendimiento de su aplicación multiplataforma es lo suficientemente bueno, puede hacerlo totalmente. ¡Solo asegúrate de que sea compatible con la compra de la aplicación porque perder algo como eso impedirá muchos modelos de negocios!

A veces importa mucho. La “próxima gran aplicación” en iOS casi nunca parece provenir de otra plataforma. Del mismo modo, la “próxima gran aplicación” en Android no parece provenir de iOS. Si está disparando para la gran liga, debe diseñarlo para que parezca que nació en esa plataforma, sin importar de dónde provenga el código. Si solo quiere “lo suficientemente bueno”, puede usar algo que le dé un aspecto multiplataforma (que podría ser un marco multiplataforma, o simplemente hacer que los diseñadores importen el estilo de diseño desde otra plataforma). Si su aplicación de venta de bienes físicos en iOS no es compatible con ApplePay porque su marco multiplataforma no era compatible con ApplePay, está dejando MUCHO dinero sobre la mesa. Usted acaba de facilitar el desarrollo, pero perdió una tonelada de dinero de personas que no tienen ganas de volver a jugar con las tarjetas de crédito. Perdió la publicidad gratuita de Apple y lo colocó en la sección “admite ApplePay” de la tienda.

Por último, si está buscando hacer aplicaciones móviles iOS / Android, le recomiendo que encuentre una que al menos se parezca a Android o iOS, no a Windows porque Windows ha perdido esta carrera. ¡Elija algo que alienará solo a la mitad de sus usuarios, no al 98% de ellos!

EDITAR:

¡Olvidé una importante!

  • Muchos juegos de herramientas multiplataforma son en realidad más difíciles de usar que el juego de herramientas nativo que “reemplazan”.

Por lo tanto, probablemente será más fácil crear una aplicación multiplataforma que una versión para iOS y Android, pero no inmensamente. Además, si el problema es el tiempo, no el dinero, será más rápido tener dos equipos y construir ambas aplicaciones. Más aún si tienen sus propios horarios de lanzamiento.

También será más barato y más rápido crear aplicaciones para iOS y Android y luego ver qué tan bien funciona en el mercado y luego crear una aplicación multiplataforma (¡espero que elija la plataforma adecuada para su modelo de negocio!).

La respuesta es calidad .

Una aplicación de calidad se verá y se sentirá como una aplicación nativa. Los usuarios apreciarán la forma en que funciona con las convenciones esperadas y la forma en que se integra con el sistema. Los toques hechos a mano traerán deleite. Una aplicación bien construida explotará esas características únicas de la plataforma.

Todas las soluciones multiplataforma tratan de facilitarle la vida al desarrollador. Pero inevitablemente eso significa empeorar la experiencia del usuario, porque estas soluciones unifican todos los dispositivos en una plataforma unificada común.

Si estás contento con eso, solo hazlo. Pero esas herramientas tienden a ser más genéricas, ya que no proporcionan la apariencia de las aplicaciones nativas. Y esas herramientas siempre van a la zaga del desarrollo de XCode, ya que no pueden actualizarse antes de que la versión más nueva de XCode esté disponible para los desarrolladores de esos sistemas.

Debido a que tarde o temprano te encontrarás con limitaciones, habrá cosas que no podrás hacer de la manera que deseas o que no podrás hacer en absoluto.

También hay una razón por la cual iOS y macOS son dos sistemas operativos distintos: el usuario interactúa de manera diferente con los dispositivos en estas plataformas e interactúa de manera diferente con un sistema de Windows.

Una solución multiplataforma casi siempre ofrece una experiencia inferior a la estándar en comparación con una solución nativa.

Cuando elige plataforma cruzada, lo hace para cortar esquinas, a veces está bien, a veces no.

More Interesting

¿Cuál es la mejor aplicación en general para iOS y Android además de cuál es la aplicación?

Cómo obtener el nombre de una aplicación en la pantalla usando API en Android e iOS

Mi aplicación IOS está en revisión durante 24 horas después de 3 días de tiempo de espera, y la aplicación db muestra que últimamente no se ha realizado ninguna acción. ¿Esto es normal?

¿Cómo puedo hacer una aplicación para iPhone desde mi sitio web?

¿Cómo se implementaría el patrón de Método de plantilla en Swift 3.0?

¿Qué mejores prácticas tiene para un modelo de asociación basado en hitos donde se definen escenarios de salida claros y subvenciones de capital por hito?

¿Cuál es el mejor servicio de análisis para aplicaciones de iPad?

¿Cuál es el mejor debe tener aplicaciones de iOS?

Soy un desarrollador de iOS de la India con 3 años de experiencia. ¿Cómo puedo conseguir un trabajo en el extranjero en regiones como el Reino Unido, Estados Unidos, Oriente Medio, etc.?

¿Qué es mejor, el desarrollo de aplicaciones iOS o Android?

¿Cuál es un buen presupuesto para comercializar un juego móvil?

¿Habrá suficiente demanda de desarrolladores nativos de Android / iOS en la segunda mitad de la década de 2010 y principios de 2020?

¿Quiénes son algunos desarrolladores y proyectos de iOS que vale la pena seguir en GitHub?

¿Cuál es una hoja de ruta prometedora para mí para aprender a construir aplicaciones y juegos de AR con el ARkit de Apple?

¿Cuáles podrían ser las mejores ideas para desarrollar aplicaciones iOS?