¿Dónde debo comenzar a crear una aplicación iOS grande?

* suspiro * Tengo un posgrado en ciencias de la computación e instruí a los estudiantes en ingeniería de software en la universidad. En el sentido más estricto, la respuesta completa a esa pregunta tomaría dos años y decenas de miles de dólares en matrículas, y esa es mi evaluación basada en la pregunta.

Aún así, al menos sabes hacer la pregunta, y ese es un buen comienzo.

  1. Realice un análisis de mercado para determinar si hay una demanda y luego para refinar exactamente para qué es la demanda. Cuarto, analice exactamente quién es su público objetivo.
  2. Haga un análisis de uso para decidir cómo utilizará su producto el público objetivo. Sugeriría aprender UML ya que le brinda un buen lenguaje estructurado para modelar estas relaciones. Identifique qué entradas están disponibles, de dónde vendrán y qué espera el usuario. Los datos deben ser detallados, pero no la interacción.
  3. El análisis de uso proporcionará una idea de la modularidad del sistema. Identifique la interfaz común y considere modular también esas interfaces. Esto le permitirá tratar las interfaces comunes de forma independiente, lo que reduce la complejidad del sistema en general.
  4. Crear maquetas de la interfaz de usuario. Aquí es una buena idea ser lo más detallado posible, porque la usabilidad y el diseño visual serán el principal punto de venta del producto.
  5. Pon a prueba tu diseño obteniendo la reacción de la gente. En la medida de lo posible, averigüe si satisfará las necesidades de su mercado. Si lo desea, cree un prototipo en vivo para evaluar cómo se siente la gente al respecto y obtenga comentarios de otros diseñadores de software.
  6. Cree un diseño de software estructurado y un modelo de datos, desglosando los módulos en componentes que sean fáciles de visualizar. Hay varias filosofías para hacer esto, que puedes mezclar y combinar. Una buena es el diseño orientado a pruebas, en el que diseña cada módulo para su capacidad de prueba primero y luego define las pruebas que debe pasar para que sean correctas.
  7. Estime el tiempo y los recursos necesarios para terminar el producto. Duplícalo para permitir probarlo. Duplíquelo nuevamente para permitir el rediseño y la depuración.
  8. Revise su diseño, preferiblemente con un compañero diseñador de software.
  9. Cree apéndices para definir las clases y los objetos que necesitará, y asegúrese de que estos apunten a un conjunto básico de pruebas para demostrar su concepto.
  10. Complete el código y confirme su horario a medida que avanza.
  11. Comercializar, revisar y vender

Comience investigando lo que va a utilizar como backend. Para hacer eso, es probable que desee realizar un modelado de datos para ver cuántos datos y relaciones entre entidades habrá. Puede usar algo como firebase o cualquier otro PaaS, pero luego depende de ese servicio. Esto está bien, solo recuerda que si lo cultivas, puedes moverlo.

Luego, comenzaría por diseñar sus vistas principales en un flujo que tomaría a medida que avanza por la aplicación. Piense en el registro / inicio de sesión, la pantalla de aterrizaje, la vista de detalles, etc. Realice simulaciones de todas las pantallas con datos estáticos y, una vez que los haya completado, puede conectar la carga de datos dinámicos. Creo que es más fácil abordar un aspecto a la vez. Esto le permite saber qué pieza del rompecabezas se rompe si algo no funciona.

Si planeas tener una aplicación de Android también, miraría algo como React Native. Puede escribir su código una vez e implementarlo en ambas plataformas. Lo usamos en CompanyCam y es un gran ahorro de tiempo.

Espero que eso ayude.