Como startup, ¿debo usar Xamarin o construir mis aplicaciones nativas?

Estoy de acuerdo con Wallace B. McClure y Val Okafor y quería agregar una pieza más … la creación de software lleva tiempo. El tiempo es dinero. Si desea lanzar al mercado más rápido, entonces Xamarin sería el camino a seguir suponiendo que ya conoce C #. Si construye con las plataformas de fabricantes de dispositivos móviles (Swift / Java), tendrá que aprender dos idiomas diferentes, así como los detalles específicos de la plataforma además de los idiomas. C # realmente solo tendrá que aprender los detalles de la plataforma si ya conoce C #. Si no conoce C #, solo tendrá que aprender un idioma en lugar de dos. Si está creando una aplicación basada en formularios, la mayoría de los detalles específicos de la plataforma se le ocultan a través de la oferta de formularios de Xamarin. Además, Xamarin permite apuntar a las ofertas de Windows también. Con Windows 10 esto puede ser de interés.

Me aventuraría a decir “sí”, independientemente del conocimiento de su equipo de C #. Y he aquí por qué.

Xamarin es nativo. No está creando una aplicación híbrida que se interprete en tiempo de ejecución. Con esto en mente, hay una cobertura API de plataforma del 100%. Eso significa que toda su lógica empresarial se puede escribir una vez, en un idioma, una base de código. Luego, utilizando el mismo lenguaje, puede escribir código específico de la plataforma, que es nativo, para todas las API que estaría utilizando en Objective-C / Swift o Java.

Por lo tanto, toda la documentación de Google y Apple sigue siendo relevante (aunque los nombres de los métodos pueden cambiar la carcasa o algo así, y no es necesario llamar a los métodos de establecimiento como en Java para establecer el valor de las propiedades).

Incluso si no conociera C #, y solo supiera un poco de Java y Objective-C, probablemente todavía estaría motivado para aprender C # y Xamarin porque la idea de dos bases de código separadas con potencialmente dos conjuntos separados de errores aterrorizaría yo en una startup Eso es mucho más tiempo / dinero manteniendo y arreglando código que podría ser específico de la base del código que simplemente aprender un nuevo idioma e implementarlo.

Recomendación … en PerfectedTech, utilizamos la herramienta StrongLoop Xamarin SDK. Nos ahorra mucho tiempo y da como resultado excelentes aplicaciones.

Perfected Tech eligió trabajar con la tecnología StrongLoop por una clara necesidad de una solución marco que haga que el proceso de desarrollo para los proyectos NodeJS sea exitoso. El marco LoopBack de StrongLoop es una clara solución líder para el desarrollo de API. A través de nuestro compromiso constante y sobresaliente con la innovación y el refinamiento del proceso de desarrollo, hemos creado varias herramientas internas para reducir el tiempo de desarrollo. La herramienta StrongLoop Xamarin SDK es una de una serie que se usa actualmente y ahorra un tiempo precioso de Perfected Tech en cada proyecto que emprendemos, desde el principio hasta el final y hasta el mantenimiento.

La eliminación de la dolorosa integración del servidor y la codificación de la capa de servicio significa que hemos visto un ahorro de tiempo promedio de 1/3 en el desarrollo de aplicaciones con este SDK. Para una empresa de servicios, estos ahorros son drásticos y ahorran tiempo y dinero a nuestros clientes.

Devolviendo a la comunidad

Con mejoras tan drásticas, Perfected Tech sintió la necesidad de retribuir a la comunidad. Entonces, nos asociamos con IBM StrongLoop e hicimos el código abierto Xamarin SDK. A su vez, IBM StrongLoop ofrece su soporte para el SDK en sus opciones de servicio. Puede encontrar más información sobre esto aquí.

Además de tener la integración del servidor de generación automática de código, uno puede aprovechar al máximo las ventajas de Xamarin mediante la práctica del desarrollo multiplataforma. El código generado por el SDK para Android se puede usar para iOS y viceversa. El SDK se puede usar para cualquier solución que admita el tiempo de ejecución de punto-net o mono. Además, el código generado brinda a los desarrolladores acceso a objetos de tipo fuerte. Estas ventajas, además de muchas otras, son las razones por las que Perfected Tech agradece devolver a la comunidad.

Aplicación de ejemplo

Hemos creado una aplicación de ejemplo que muestra algunos de los maravillosos ejemplos posibles con el SDK. Algunos de estos incluyen la autenticación del servidor, la gestión de tokens de acceso y las solicitudes de consulta de recopilación, todas realizadas desde el front-end sin la necesidad de programar puntos finales del servidor. ¿Ha ocurrido un cambio en el servidor? Simplemente actualice el SDK y realice cualquier cambio menor que tenga en su front-end, y estará listo para comenzar. Los ciclos de desarrollo estresantes y dolorosos ahora han sido pisoteados.

Ciertamente, hay mucho más por recorrer con este SDK. Esperamos que la comunidad vea el interés y la ayuda para continuar desarrollándolo. Si desea obtener más información técnica y ver la aplicación de ejemplo que creamos, visite aquí.

Me gustaría. Conozco su plataforma y la entiendo. Lo estoy usando en mi inicio.

Si conoce c #, pero no conoce su plataforma o ios o Android, entonces la respuesta sigue siendo sí.

Si ya conoce iOS o Android, la respuesta es probablemente no. Depende de ti.

¡Buena suerte!

PD. Las aplicaciones de Xamarin son aplicaciones nativas.

PSS También debe comprender las diferencias entre xamarin ios, xamarin Android y xamarin. Cada uno son productos diferentes.

PSSS Este no es un respaldo general de Xamarin.Forms. Con demasiada frecuencia, XF se introduce en el tipo incorrecto de aplicaciones. Me gusta Xamarin.iOS y Xamarin.Android. Soy fan de ellos. Solo soy fanático de Xamarin.Forms en ciertas situaciones.

Si bien estoy de acuerdo con el punto, mi Wallace dijo que si conoce C #, es obvio que debe usar Xamarin para su inicio, sin embargo, creo que las nuevas empresas deben usar herramientas nativas para crear su aplicación.

La razón es la velocidad al mercado y la comunidad, esto es especialmente cierto para Android. Los proveedores de la plataforma Google y Apple tienen una extensa documentación que es difícil de igualar por parte de proveedores externos, y cuando te quedas atascado, hay muchos recursos disponibles para ayudarte a despegarte.

Xamarin es una herramienta excelente para las empresas establecidas, sin embargo, una startup tendrá dificultades para lidiar con la capa adicional de abstracción que aporta Xamarin.

Solo un pequeño comentario: ¡Xamarin es nativo!

No hay o.

Para el inicio Recomiendo encarecidamente ir con Xamarin, especialmente desde ayer: Xamarin es gratuito y estará abierto en un par de semanas.

Estaba pagando por Xamarin y valió la pena y créanme para la compañía del sudeste de Europa 2 x 1000 USD no es una cantidad pequeña.

Tenía la misma pregunta en mi mente antes de saltar al desarrollo de Android. Para mí, elijo crear aplicaciones nativas con Java.

Pero déjame decirte lo diferente, que puede ayudarte a comprender y elegir el camino correcto.

  • Con Xamarin necesitas saber el lenguaje C #. Y su aplicación se ejecutará en Android y iPhone. Entonces es un beneficio multiplataforma.
  • ¡El otro beneficio es la Unidad! Quiero decir, si aprendiste C # para Xamarin, podrías saltar al desarrollo de juegos con Unity en el futuro más fácilmente. Tanto Xamarin como Unity usan lenguaje C #.
  • Por otro lado, para ir con aplicaciones nativas, necesita aprender Java y poco XML para diseñar la interfaz de usuario. El único beneficio que se me ocurre es que comprenderás muy bien el sistema operativo Android y harás grandes especificaciones de aplicaciones nativas para la plataforma Android.

Mi consejo para ti:

  • Si tienes tiempo, aprende Java y la API del sistema Android. Comience a desarrollar aplicaciones nativas para Android. Y más adelante, si desea saltar a Juegos y plataformas múltiples (aplicaciones que se ejecutan en Android e iOS) puede comenzar a aprender C #, Xamarin, Unity.
  • O si no tiene tiempo y desea crear aplicaciones en ambas plataformas (Android e iOS) o si desea desarrollar juegos, comience con C #, Xamarin, Unity. Pero tal vez te resulte difícil a menos que entiendas el sistema API de Android.

Tenía esta misma pregunta Este es uno de los mejores artículos que he leído sobre este tema Xamarin vs Ionic vs React Native: diferencias bajo el capó

Decidimos probarlo (sobre React o Ionic) según el artículo anterior.