Gdgkisiiapp
Repositorio de inicio de la aplicación móvil GDG KISII Android.
Creamos una aplicación de Android para administrar nuestra comunidad de desarrolladores. Se pueden acceder a las actualizaciones sobre eventos, recursos y oradores de desarrolladores a través de la aplicación móvil.
Las características geniales incluyen
- Navegación inferior
- Navegación de pestañas
- Una serie de API, incluida la API mapas
Mi plan de estudios de Android Basics
- Prácticas de programación general
- Introducción a los conceptos básicos de Android
- Dominar diseños en Android
- Sistema de construcción: trabajar con Gradle
- Redes en Android
- Arquitectando sus aplicaciones de Android
- Probar sus aplicaciones de Android
- Lanzar sus aplicaciones de Android
- Asegurando sus aplicaciones de Android
- Android avanzado
Prácticas de programación general
Las siguientes prácticas de programación general son clave para comenzar con su exitosa carrera en el desarrollo. Estas prácticas incluyen:
- Control de fuente (GIT): el control de fuente es una herramienta para administrar versiones de su código, es ideal para escribir software en colaboración.
- Flujos de trabajo GIT: hay muchas formas diferentes en que se gestiona el software al usar el control de la fuente. Los métodos populares incluyen: flujo de trabajo Gitflow, flujo de trabajo centralizado, flujo de trabajo de bifurcación, etc.
- Integración continua: la integración continua asegura que su código se esté construyendo en un servidor que no sea su propia máquina. Mire el uso de un servidor de compilación como Jenkins, BuddyBuild, Circle CI, Travis, etc.
- Solicitudes de extracción: las solicitudes de extracción son una excelente manera de obtener comentarios muy detallados sobre el código que ha desarrollado.
- Metodologías Agile/Scrum: la mayoría de los equipos de desarrollo de software modernos siguen las metodologías Scrum para trabajar.
- Herramientas de calidad del código: hay muchas herramientas que las empresas usan para medir la calidad de su código y la salud de la base de código. Las métricas como el número de líneas de cobertura de prueba o cuánta deuda técnica tienen la base del código, se hacen visibles. Algunas herramientas que se usan con frecuencia: sonar, FindBugs, CheckStyle y Android Lint.
Introducción a los conceptos básicos de Android
Hay un montón de sitios web que proporcionan los conceptos básicos de comenzar con el desarrollo de Android. Mi recomendación es seguir la documentación oficial para comprender los conceptos básicos.
Algunos recursos iniciados:
- Fundamentos de la aplicación Android
- Algunos de los componentes principales en Android: actividades, fragmentos, servicios, receptores de transmisión.
- Manifiesto de la aplicación Android
- Code Lab - Cree su primera aplicación de Android
Dominar diseños en Android
Hay muchos tipos de diseño diferentes en Android, desde Framelayout hasta RelativeLayout y RestrictyLayout. Asegúrese de que se sienta cómodo con estos tipos de diseño de uso común: framelayout, relativeLayayout, linealLayout, restrictyLayout, coordinatorLayout.
Recursos:
- Admitiendo diferentes tamaños de pantalla
- Laboratorio de código - restricción
- Code Lab - CoordinatorLayout
Sistema de construcción - Trabajar con Gradle
Trabajar con Gradle es probablemente algo que se pasa por alto al desarrollar aplicaciones de Android. Asegúrese de comprender los conceptos básicos, aún mejor: ¡aprenda a escribir sus propias tareas de graduación!
Recursos:
- Documentación de graduación
- Configure su compilación
Redes en Android
Aunque la mayor parte de la documentación de Android no hace referencia a la modernización u OKHTTP, estas son las bibliotecas más utilizadas cuando se trata de redes en Android. También es bueno estar familiarizado con las diferentes herramientas de perfil disponibles en Android Studio.
Recursos:
- Comprensión de los servicios RESTful
- Retrofit: un cliente HTTP de tipo seguro para Android y Java
- OKHTTP - Un cliente HTTP y HTTP/2 para aplicaciones Android y Java
- Network Profiler en Android: una herramienta en Android Studio que le permite perfilar su red de redes.
- Charles Proxy: útil para interceptar llamadas de red mientras se prueba.
Arquitectando sus aplicaciones de Android
Desafortunadamente, escribir código y conseguir que su aplicación compilara no es el final de saber cómo escribir una aplicación Android mantenible. Las aplicaciones de Android a gran escala deben seguir buenos diseños arquitectónicos para que sean mantenibles y comprobables. Hay muchos patrones diferentes que puede seguir al escribir una aplicación Android. Los patrones como MVP, MVVM y arquitectura limpia se usan comúnmente. Asegúrese de comprender las diferencias entre los patrones, ya que encontrará muchos patrones diferentes en la naturaleza.
Recursos:
- Guía de componentes de arquitectura de Android
- Introducción al video de componentes de la arquitectura de Android
- Repositorio de la aplicación de muestra de Google GitHub
- Code Lab - Persistencia
- Code Lab - Componentes conscientes del ciclo de vida
Probar sus aplicaciones de Android
Una vez que haya comprometido la creación de aplicaciones de Android, deberá pensar en cómo probarlas. Las pruebas unitarias y las pruebas de interfaz de usuario son conceptos muy importantes que debe asegurarse de comprender. Hay muchas herramientas diferentes que puede usar para escribir pruebas de interfaz de usuario. La mayoría de los desarrolladores de Android usan Espresso y Junit para escribir pruebas, pero hay muchas otras herramientas, como Robotium, Calabash, Appium, etc. Recomendaría usar Espresso y Junit.
Recursos:
- Biblioteca de soporte de pruebas de Android
- Café exprés
- Junit
- Simulacro
- Laboratorio de código: pruebas de Android
- Code Lab - Prueba de rendimiento de Android
Lanzar sus aplicaciones de Android
¡Genial, lo has llegado tan lejos!
Ahora hay algunos conceptos que deberá cubrir para lanzar su aplicación:
- Preparando su aplicación para su lanzamiento
- Firma de la aplicación
- Versión de su aplicación
- Proagua
Seguridad
Hay muchas cosas que deben hacerse para asegurar su aplicación y asegurarse de que nadie obtenga acceso a contenido no autorizado. Asegúrese de estar usando Proguard (mencionado anteriormente). Comprende qué es un hombre en el ataque medio. Comprenda diferentes métodos de cifrado y formas en que puede almacenar información de forma segura dentro de una aplicación de Android, incluida la obtención de sus tokens API, fijación de certificados, etc.
Recursos:
- Consejos de seguridad en Android.
- Fijación
- API Safetynet
- Sistema de almacén de claves de Android '
Temas avanzados de Android
Una vez que haya cubierto todos los conceptos básicos de escribir aplicaciones de Android, hay algunos temas avanzados que es posible que deba cubrir para contribuir a algunas bases de código:
- KOTLIN - Kotlin es el nuevo lenguaje de programación para Android, los desarrolladores están escribiendo activamente su código en Kotlin. Vale la pena leer sobre Kotlin y correr por los Kotlin Koans. También hay un laboratorio de código Kotlin disponible.
- RXJAVA-RXJAVA es una biblioteca utilizada para la programación asincrónica basada en eventos. Le permite componer operaciones juntas para realizar tareas complejas (como combinar múltiples llamadas de red) y puede ser muy útil con respecto a la administración de qué hilo se ejecuta su código. Hay un gran video de Jake Wharton que describe cómo usar Rxjava y los beneficios de usarlo.
- Dagger (inyección de dependencia): la inyección de dependencia es una forma de manejar objetos y sus dependencias dentro de su aplicación. El concepto de DI no es Android, pero también está disponible en muchos otros marcos. DI puede hacer que su código sea más eficiente y promueve la capacidad de prueba. Dagger 2 es el marco Android DI más popular.
- Diseño de material: la mayoría de las aplicaciones de Android siguen las pautas de diseño de material de Google. Las pautas son una forma de diseñar sus aplicaciones de manera estándar a la que los usuarios están acostumbrados.
- Bibliotecas de soporte en Android: las bibliotecas de soporte en Android son muy importantes para garantizar que su aplicación se vea y se comporte de manera consistente en múltiples versiones de Android. Hay algunas bibliotecas diferentes que tienen diferentes propósitos. El artículo vinculado describe el razonamiento detrás de las bibliotecas.
- Fugas de memoria: en Android, es bastante fácil crear fugas de memoria. Esto puede conducir a un comportamiento erróneo en su aplicación (bloqueos aleatorios). Muchos de los desarrolladores usan FleatCanary dentro de sus aplicaciones para garantizar que no haya fugas de memoria presentes.
Licencia