Flujo de trabajo de desarrollo de aplicaciones Android más eficiente?

Actualmente estoy desarrollando mi primera aplicación, y estoy notando ciertos patrones de flujo de trabajo que están surgiendo. Específicamente, las aplicaciones de Android siguen una especie de flujo de actividad de usuario similar al de un árbol, donde cada acción del usuario normalmente se desplaza hacia una rama más profunda del árbol o vuelve a la raíz.

Por lo tanto, el patrón de desarrollo que parece emerger de esto es: añadir widgets de acción -> añadir métodos de escucha para ellos -> que envían intenciones para iniciar nuevas actividades y pasarles datos -> construir los nuevos diseños de actividades y clases para recibir estos datos – > Repetir.

Luego, en ciertas actividades habrá widgets que muestren datos de la base de datos (por lo que hay que configurar CursorAdapters, etc.) y algunos que modifiquen los datos de la base de datos (por lo que tendrá que implementar métodos de actualización / adición / eliminación).

Mi pregunta es: ¿hay alguna forma de automatizar este flujo de trabajo, o de hacerlo más eficiente? Es decir, ¿existe algún tipo de scripting basado en esquema en algún lugar donde extraiga la estructura de árbol de sus actividades, y qué elementos necesitarán CursorAdapters etc, y luego escribe clases de esqueleto para ese esquema? Parece que la codificación "trabajo del perro", por así decirlo, como martillar los aspectos esqueleto de la aplicación, ocupan una gran cantidad de trabajo de mecanografía en comparación con la funcionalidad carnosa.

Supongo que lo que estoy buscando es una idea de cómo los codificadores de energía o 'elite' normalmente escriben aplicaciones para Android.

Aclamaciones

No conozco un lenguaje de scripting basado en esquemas que pueda crear esqueletos de proyecto para usted, pero algo similar podría ser posible con la generación de código UML a Java de IntelliJ (nunca lo he probado).


Sin embargo, esta es la forma en que típicamente reducir el código de placa de la caldera en los proyectos de Android:

  1. Android Studio hará mucho trabajo para usted. Por ejemplo, la creación de una nueva "Actividad en Blanco con Fragmento" creará la actividad, el fragmento y los diseños de xml para usted con la placa de caldera básica.

  2. Además de las plantillas incorporadas, puede crear sus propias plantillas en Android Studio utilizando "Herramientas >> Guardar archivo como plantilla". También el checkout "Código >> Generar" para sus POJOs.

  3. Cree Fragmentos y vistas que pueden ser reutilizados por múltiples actividades, orientaciones y tamaños de pantalla.

  4. Utilice las bibliotecas de terceros para reducir algunos de la placa de la caldera y sortear algunos paradigmas ineficientes en Android, específicamente:

    • ButterKnife , Icepick , Parceler , Auto y AndroidAnnotations generarán código para usted usando anotaciones
    • EventBus y RxJava son buenos para reducir el código para obtener y pasar datos / eventos entre hilos.
    • Retrofit y OkHttp reducirán el código si está intentando conectarse a una API de reposo.
    • GreenDao (o muchos otros eg OrmLite ) ayudará con la base de datos manejando métodos CRUD básicos y dándole capacidades de ORM.
    • Picasso reduce enormemente el código de carga y almacenamiento en caché de imágenes de cualquier URI (local o remoto)

En general, sólo tenga cuidado con los generadores de código de anotación. Asegúrese de que generan código en tiempo de compilación y no de tiempo de ejecución (reflexión), o que la reflexión no causa problemas graves. Para una lista más grande de bibliotecas buenas vea:

https://github.com/codepath/android_guides/wiki/Must-Have-Libraries

Como has dicho, muchas aplicaciones en Android pueden compartir la misma arquitectura de software y la misma organización de código.

No tengo conocimiento de algunos generadores de código que pueden generar plantillas de Android Studio basadas en preferencias configurables, pero he creado un proyecto de estudio de Android de tutorial / plantilla que puede clonar / forjar y crear su aplicación encima de él.

El patrón arquitectónico empleado en esta plantilla es MVC – un patrón arquitectónico ampliamente aceptado para la construcción de un software "orientado al usuario", que fue pasado por alto por los arquitectos principales de AOSP (IMHO). Construir tus aplicaciones en la parte superior de una única plantilla usando patrones arquitectónicos únicos tiene una gran ventaja – una vez acostumbrado a la plantilla, serás mucho más eficiente escribiendo y depurando tus aplicaciones.

Además, la organización del código empleada en esta plantilla separa entre la lógica de negocio real (que usted llamó la "funcionalidad meaty") y la "aburrida" UI que maneja la materia.

Puede encontrar el proyecto tutorial / template MVC aquí: https://github.com/techyourchance/android_mvc_template

  • Acceso a google maps en el emulador android
  • Localización y eliminación de valores no referenciados en strings.xml
  • ¿Es seguro guardar una referencia a un hilo en un singleton?
  • Aprendiendo C / C ++ y Java
  • Cómo agregar json al cuerpo de una publicación http en java
  • Cambiar la listaVer el color seleccionado en Android
  • Biblioteca Java usando selectores css para analizar XML
  • ¿Podemos usar Android Studio para el desarrollo de AOSP?
  • Android Spinner - ¿Cómo hacer que la vista desplegable sea transparente?
  • Call class 'constructor por reflexión con Kotlin
  • SSH Java-biblioteca para Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.