Etapa de desarrollo de aplicaciones y selección de herramientas. ¿Qué IDE debo usar?
"¿Qué se requiere del desarrollador de Android?" – una pregunta de la categoría Preguntas frecuentes. Soy empresario y en este artículo te contaré cómo debería ser un desarrollador Junior de Android.
¿Quieres conseguir un trabajo como Junior? Hay varias cosas que espero de ti. Por supuesto, no exigiré un conocimiento particularmente profundo de ellos, pero quiero ver que usted esté interesado en esta área y esté aprendiendo mejorando sus habilidades existentes.
No puedes prescindir de esto en Android. Estos eventos son extremadamente importantes para desarrollar aplicaciones que no deberían fallar cuando giras la pantalla simplemente porque decides trabajar con el programa en la cama.
A primera vista, el algoritmo parece complicado:
Pero no espero que un desarrollador junior de Android lo sepa todo de memoria. Sólo es importante que comprenda de qué son responsables los métodos onCreate, onPause, onResume y onDestroy, cómo los llama y cuál es el resultado de su trabajo. De lo contrario, recomiendo leer la documentación oficial. Si das un ejemplo de cómo ciclo vital podría causar una pérdida de memoria, estaré realmente impresionado.
La base de cualquier aplicación. Hay 4 componentes principales:
- Receptor de transmisión;
- Servicio;
- Actividad;
- Proveedor de contenidos.
Cada uno de estos componentes juega papel importante en la creación de aplicaciones para Android. A menudo ni siquiera será necesario utilizar todos los componentes de una sola pieza de software (por ejemplo, nunca he escrito un ContentProvider en toda mi carrera profesional), pero me gustaría que el candidato al puesto entienda su propósito y sepa dónde está. necesario.
No lo olvides: tu trabajo debe destacarse.
Opciones de guardado
Existen varias opciones para guardar datos en la programación de Android y cada una de ellas tiene sus pros y sus contras. En el sitio para desarrolladores de Android encontrará guía útil, que detalla cómo funciona cada tipo de guardado, y quiero que los recuerdes y al menos esquema general comprender por qué se utiliza esta o aquella opción.
Redes
Este gran tema, del cual se pueden extraer muchas cosas, pero un futuro desarrollador Junior sólo necesita saber algunas cosas que considero esenciales.
El conocimiento básico de REST es imprescindible, y si no sabe cómo hacer GET y solicitudes POST Desde la aplicación de Android, debes volver a lo básico. Casi cualquier aplicación que se me ocurra es capaz de realizar solicitudes REST, y esto es lo principal a la hora de elegir un especialista. Volley para Android es un gran comienzo para aquellos que quieren aprender los conceptos básicos, pero rápidamente te darás cuenta de que este método La interacción con la red ya está desactualizada.
Así, si prefieres opción alternativa Como Retrofit, aumentará significativamente sus posibilidades de conseguir un puesto. También hay otras opciones para crear redes en Android, pero todas tienen un enfoque bastante limitado. Retrofit es increíblemente fácil de usar, se adapta bien a la flexibilidad de OkHttp y recibe actualizaciones periódicas en forma de excelentes funciones del equipo de Square.
Además, el conocimiento sobre serialización sería una ventaja importante. La experiencia con Moshi, Gson, Jackson y bibliotecas similares es realmente importante porque en 2017 es hora de olvidarse de extraer datos manualmente de JSON.
Desarrollador de Android vs. Estudio Android
Este IDE ha recorrido un largo camino, considerando que se lanzó por primera vez hace varios años, en un momento en que todos usaban Eclipse activamente. Incluso en un desarrollador Junior me gustaría ver evidencia de que está familiarizado con el entorno. programación de Android Estudio. Exclusivamente entrada manual Los datos son un signo de mala experiencia. Además, lleva mucho tiempo y, por tanto, es ineficaz. Me gusta cuando la gente usa atajos de teclado para entrada rápida. Mi lista de temas de entrevista incluye una pregunta sobre qué combinaciones de teclas utiliza el candidato con más frecuencia.
Discurso en lenguaje sencillo, No espero de ti un nivel de gurú, sino orientación en kits de herramientas de Android Studio demostrará su interés genuino en el trabajo al nivel adecuado. Conocer al menos algunas combinaciones de esta lista lo hará especialmente productivo y la programación en pareja será lo más fácil posible.
Está bien si todavía estás usando IDEA IntelliJ, pero si todavía estás trabajando con Eclipse... Digamos que tendría curiosidad por saber por qué prefieres este entorno de desarrollo.
git
Otro punto importante. Me sorprende que algunos programadores hoy en día trabajen sin usar VCS. Si no estás usando Git en este momento, es hora de comenzar. Y aunque aprender este sistema de control de versiones no es fácil, el resultado del esfuerzo no se hará esperar. Sí, es difícil apreciar todos los beneficios del sistema si hasta ahora has trabajado de forma independiente. Pero definitivamente los verás cuando cometas un error importante durante el proceso de desarrollo de la aplicación y quieras volver al estado del programa cuando todavía estaba funcionando. Sólo necesitas comenzar y definitivamente dominarás Git.
Por supuesto, existen otros sistemas de control de versiones y saber cómo funcionan es igualmente importante. Sin embargo, es el sistema Git el más utilizado, por lo que comprender este VCS es una prioridad.
Patrones
Los patrones de diseño no son tan importantes y estoy seguro de que mucha gente los usa sin siquiera darse cuenta de que son los mismos patrones. Pero si conoce los métodos Builders, Singletons y Factory, y sabe dónde se pueden usar (e incluso sabe dónde encontrar un ejemplo en SDK de Android) es una gran ventaja para tu currículum.
Incluso si solo ha oído hablar de Gang of Four (GoF) y Effective Java de Joshua Bloch, esos también son puntos extra para usted. Por cierto, hablando de puntos:
Bonificaciones
- Pruebas unitarias y comprensión de por qué las pruebas de Android pueden ser tan complejas;
- disponibilidad de al menos uno de los libros clásicos sobre programación;
- has “jugado” con otros lenguajes, incluido Kotlin;
- V Tienda de juegos al menos una de tus aplicaciones ha sido descargada.
Otro
Por supuesto, hay otras habilidades que me gustaría ver en la práctica de un candidato para un puesto como Desarrollador Junior de Android.
En mi opinión, el papel de esta categoría de programadores es aprender tanto como sea posible y lo más rápido posible para poder hacer una contribución de calidad al producto que se está desarrollando. En términos generales, Junior actúa inicialmente trabajo sencillo, que gradualmente lo sumerge cada vez más en el "tema", cultiva la confianza y las habilidades de un desarrollador profesional.
El mero hecho de que lea y adquiera nuevos conocimientos sobre programación es su ventaja, incluso si sólo conoce unas pocas bibliotecas, funciones, métodos y dificultades comunes. Espero que me sigas, puedas nombrar al menos un par de personas influyentes en tu industria, sigue sus blogs y cuentas de Twitter.
Y lo más importante: te debe gustar. Mi actividad profesional incluye 6 años, y todavía me emociono por primera vez cuando veo una actualización de Comandos de Android. Y cada vez que instalo una alfa que está lejos de ser ideal, solo para profundizar en ella y conocer todas las ventajas de la actualización.
Android es una palabra nueva en mundo moderno, y estoy feliz de poder participar en el desarrollo de esta industria. Si también está interesado en esto y puede marcar muchas casillas delante de los puntos que he enumerado, tenga la seguridad de que cualquier empleador adecuado estará encantado de contratarlo para un puesto como Desarrollador junior de Android.
La mayoría de los desarrolladores de Android pertenecen a la llamada generación Y ( mediana edad El solicitante para este puesto “Desarrollador de Android” tiene 27 años). No es ningún secreto que esta generación tiene sus propios puntos de vista sobre trabajo perfecto, lo que significa que los métodos para motivar a estas personas deben ser especiales. Además, no olvides que por una vacante. desarrollador de Android Hay menos de un currículum, por lo que los empleadores inevitablemente tienen que adaptarse a los deseos de los solicitantes. Lo verdaderamente interesante del trabajo de los desarrolladores de la generación Y, afirma el portal de contratación.
al principal características distintivas La Generación Y, en cuanto a su actitud hacia el trabajo, suele incluir:
1. Concéntrate en resultados rápidos: deseo de resolver problemas, cuyo efecto es inmediatamente visible.
2. Informalidad: el deseo de estilo informal comunicación, rechazo de códigos de vestimenta estrictos, amor por horarios de trabajo flexibles.
3. Hábito de retroalimentación: deseo de recibir rápidamente comentario de directivos, socios, clientes, etc.
4. Centrarse en el contenido, trabajo interesante, resolviendo nuevos problemas.
De esto ya queda claro que los grandes ventaja competitiva la empresa como empleador se volverá informal, horario libre Procesos de negocio transparentes, flexibles y flexibles. Pero hay un punto más, quizás incluso el principal: la posibilidad crecimiento profesional a través de la resolución de problemas nuevos e interesantes que desafían a un especialista. Sin embargo, es bastante obvio que la frase "tareas interesantes" en una vacante por sí sola no atraerá la atención de los especialistas: es demasiado formulada y simplificada. ¿Qué consejo puede dar a los empleadores?
Es bueno proporcionar un enlace a una cartera de proyectos completados: de esta manera el solicitante evaluará inmediatamente la escala de sus desarrollos. Si su empresa emplea especialistas experimentados, que hayan completado grandes proyectos o tengan algún conocimiento único, también sería bueno mencionarlo en la vacante. Por supuesto, no estamos hablando de qué revelar. informacion comercial, pero debes recordar que el deseo de trabajar en el mismo equipo con un gurú de TI puede superar todos los beneficios materiales que ofrecen tus competidores.
Responsabilidades laborales desarrollador de Android
Desarrollo de aplicaciones Android,
- pruebas de aplicaciones,
- soporte de aplicaciones.
Ofertas salariales y requisitos del empleador.
La oferta salarial promedio para un desarrollador de Android en Moscú es de 100.000 rublos, en San Petersburgo - 80.000 rublos, en Volgogrado - 45.000 rublos, en Voronezh - 50.000 rublos, en Ekaterimburgo - 67.000 rublos, en Kazán - 50.000 rublos, en Krasnoyarsk - 60.000 rublos, en Nizhny Novgorod - 47.000 rublos, en Novosibirsk - 55.000 rublos, en Omsk - 57.000 rublos, en Perm - 50.000 rublos, en Rostov-on Don - 50.000 rublos, en Samara 50.000 rublos, en Ufa - 50.000 rublos, en Chelyabinsk - 57.000 rublos.
Los solicitantes con al menos 1 año de experiencia en programación Java pueden intentar desarrollar aplicaciones para Android. Como desarrollador novato de Android, a los empleadores les gustaría ver a un especialista con conocimiento de los principios de la programación orientada a objetos, DBMS, HTML, HTTP, XML, que haya trabajado previamente con tecnologías web. Habilidades en demanda aplicación práctica Patrones de diseño, capacidad de optimizar y probar código. Preferiblemente educación superior(perfil o técnico). Las ofertas salariales para desarrolladores principiantes de Android en la capital oscilan entre 50.000 y 70.000 rublos, en San Petersburgo, entre 40.000 y 55.000 rublos, en Ekaterimburgo, entre 35.000 y 45.000 rublos, en Krasnoyarsk, entre 30.000 y 40.000 rublos.
Ciudad | Nivel de ingresos, frote. (sin experiencia en este puesto) |
|
Moscú | 50 000 - 70 000 | - Educación superior/incompleta (técnica/informática) - Conocimientos de HTML, HTTP, XML. - Conocimiento de los principios de programación orientada a objetos. - Conocimiento de DBMS - Comprensión de la interacción de aplicaciones utilizando el modelo cliente-servidor. - Habilidades en la aplicación práctica de patrones de diseño. - Experiencia con tecnologías web. - Capacidad para optimizar y probar código. - Experiencia en programación Java de al menos 1 año. |
San Petersburgo | 40 000 - 55 000 | |
Volgogrado | 22 000 - 30 000 | |
Vorónezh | 25 000 - 35 000 | |
Ekaterimburgo | 35 000 - 45 000 | |
Kazán | 25 000 - 35 000 | |
Krasnoyarsk | 30 000 - 40 000 | |
Nizhni Nóvgorod | 24 000 - 32 000 | |
Novosibirsk | 28 000 - 40 000 | |
Pérmico | 30 000 - 40 000 | |
Omsk | 25 000 - 35 000 | |
Rostov del Don | 25 000 - 35 000 | |
Sámara | 25 000 - 35 000 | |
Ufá | 25 000 - 35 000 | |
Cheliábinsk | 28 000 - 40 000 |
Las ofertas de trabajo para desarrolladores de Android con al menos 1 año de experiencia requieren que los candidatos tengan experiencia trabajando con sistemas de control de versiones, conocimiento del SDK de Android, varios lenguajes de programación y sistemas de soporte de desarrollo en equipo. El salario de los programadores que cumplen con los requisitos especificados en Moscú aumenta a 80.000 rublos, en la capital del norte, hasta 62.000 rublos, en Ekaterimburgo, hasta 55.000 rublos, en Krasnoyarsk, hasta 48.000 rublos.
Ciudad | Nivel de ingresos, frote. (con experiencia laboral de 1 año) |
Requisitos y deseos de habilidades profesionales. |
Moscú | 70 000 - 80 000 | - Conocimiento del SDK de Android. - Conocimiento de uno o más idiomas adicionales programación: C/C++/Python/Perl/Ruby - Conocimiento de uno de los sistemas de apoyo al desarrollo del equipo. - Experiencia con sistemas de control de versiones. |
San Petersburgo | 55 000 - 62 000 | |
Volgogrado | 30 000 - 35 000 | |
Vorónezh | 35 000 - 40 000 | |
Ekaterimburgo | 45 000 - 55 000 | |
Kazán | 35 000 - 40 000 | |
Krasnoyarsk | 40 000 - 48 000 | |
Nizhni Nóvgorod | 32 000 - 38 000 | |
Novosibirsk | 40 000 - 45 000 | |
Pérmico | 40 000 - 46 000 | |
Omsk | 35 000 - 40 000 | |
Rostov del Don | 35 000 - 40 000 | Sámara | 35 000 - 40 000 | Ufá | 35 000 - 40 000 | Cheliábinsk | 40 000 - 45 000 |
En el siguiente rango salarial, experiencia en el desarrollo de subprocesos múltiples y aplicaciones moviles. Debe tener más de 2 años de experiencia en desarrollo de Android. Una ventaja adicional El conocimiento estará disponible durante el empleo. idioma en Inglés. Estos especialistas ganan hasta 120.000 rublos en Moscú, hasta 95.000 rublos en la ciudad del Neva, hasta 80.000 rublos en Ekaterimburgo y hasta 72.000 rublos en Krasnoyarsk.
Ciudad | Nivel de ingresos, frote. (con experiencia laboral de 2 años o más) |
Requisitos y deseos de habilidades profesionales. |
Moscú | 80 000 - 120 000 | - Educación superior (técnica / informática) - Experiencia en desarrollo de aplicaciones multihilo. - Experiencia en desarrollo de aplicaciones móviles. Posible deseo: conocimientos de inglés. |
San Petersburgo | 62 000 - 95 000 | |
Volgogrado | 35 000 - 53 000 | |
Vorónezh | 40 000 - 60 000 | |
Ekaterimburgo | 55 000 - 80 000 | |
Kazán | 40 000 - 60 000 | |
Krasnoyarsk | 48 000 - 72 000 | |
Nizhni Nóvgorod | 38 000 - 55 000 | |
Novosibirsk | 45 000 - 67 000 | |
Pérmico | 46 000 - 68 000 | |
Omsk | 40 000 - 60 000 | |
Rostov del Don | 40 000 - 60 000 | |
Sámara | 40 000 - 60 000 | |
Ufá | 40 000 - 60 000 | |
Cheliábinsk | 45 000 - 67 000 |
Las vacantes con mayores ingresos quieren atraer a desarrolladores complejos interfaces de usuario que llevan más de 3 años programando para Android. Los empleadores están dispuestos a considerar a los participantes como solicitantes grandes proyectos que tienen un portafolio de aplicaciones propias para Android publicadas en GooglePlay. El salario máximo de los desarrolladores de Android en Moscú es de 160.000 rublos, en San Petersburgo – 130.000 rublos, en Ekaterimburgo – 110.000 rublos, en Krasnoyarsk – 100.000 rublos.
Ciudad | Nivel de ingresos, frote. (con experiencia laboral de 3 años o más) |
Requisitos y deseos de habilidades profesionales. |
Moscú | 120 000 - 160 000 | - Conocimiento de inglés. - Experiencia desarrollando interfaces de usuario complejas. - Experiencia en participación en el desarrollo de grandes proyectos. - Portafolio de aplicaciones nativas de Android publicadas en Google Play |
San Petersburgo | 95 000 - 130 000 | |
Volgogrado | 53 000 - 70 000 | |
Vorónezh | 60 000 - 80 000 | |
Ekaterimburgo | 80 000 - 110 000 | |
Kazán | 60 000 - 80 000 | |
Krasnoyarsk | 72 000 - 100 000 | |
Nizhni Nóvgorod | 55 000 - 75 000 | |
Novosibirsk | 67 000 - 90 000 | |
Pérmico | 68 000 - 90 000 | |
Omsk | 60 000 - 80 000 | |
Rostov del Don | 60 000 - 80 000 | |
Sámara | 60 000 - 80 000 | |
Ufá | 60 000 - 80 000 | |
Cheliábinsk | 67 000 - 90 000 |
Retrato del solicitante
Un representante típico de la profesión de desarrollador de Android es un joven con educación superior. Hay pocas mujeres en este segmento relativamente joven del mercado laboral: sólo el 4%. La mayoría de los solicitantes para puestos de desarrollador de Android son jóvenes menores de 30 años (74%). El 77% de los especialistas tienen estudios superiores. El 14% de los desarrolladores de Android hablan inglés con fluidez.
Desarrollador de Android
Salario rango |
Ciudad | ÉL Telecomunicaciones |
Industria Producción |
Construcción Gestión de propiedades |
servicios B2B | Ventas B2B | Ventas B2C |
I | Moscú | 50 000 – 70 000 | 45 000 – 65 000 | 45 000 – 60 000 | 50 000 – 70 000 | 45 000 – 60 000 | 50 000 – 70 000 |
San Petersburgo | 40 000 – 55 000 | 40 000 – 53 000 | 40 000 – 50 000 | 40 000 – 55 000 | 40 000 – 50 000 | 40 000 – 55 000 | |
Ekaterimburgo | 34 000 – 48 000 | 31 000 – 44 000 | 30 000 – 40 000 | 34 000 – 48 000 | 30 000 – 40 000 | 34 000 – 48 000 | |
Novosibirsk | 33 000 – 46 000 | 29 000 – 42 000 | 29 000 – 38 000 | 33 000 – 46 000 | 29 000 – 38 000 | 33 000 – 46 000 | |
II | Moscú | 70 000 – 87 000 | 65 000 – 78 000 | 60 000 – 75 000 | 70 000 – 90 000 | 60 000 – 78 000 | 70 000 – 80 000 |
San Petersburgo | 55 000 – 70 000 | 53 000 – 62 000 | 50 000 – 60 000 | 55 000 – 72 000 | 50 000 – 62 000 | 55 000 – 65 000 | |
Ekaterimburgo | 48 000 – 59 000 | 44 000 – 53 000 | 40 000 – 51 000 | 48 000 – 61 000 | 40 000 – 53 000 | 48 000 – 55 000 | |
Novosibirsk | 44 000 – 58 000 | 42 000 – 50 000 | 38 000 – 50 000 | 46 000 – 60 000 | 38 000 – 50 000 | 45 000 – 55 000 | |
III | Moscú | 87 000 – 125 000 | 78 000 – 110 000 | 75 000 – 110 000 | 90 000 – 120 000 | 78 000 – 110 000 | 80 000 – 120 000 |
San Petersburgo | 70 000 – 100 000 | 62 000 – 90 000 | 60 000 – 90 000 | 72 000 – 100 000 | 62 000 – 90 000 | 65 000 – 93 000 | |
Ekaterimburgo | 59 000 – 85 000 | 53 000 – 75 000 | 51 000 – 75 000 | 61 000 – 80 000 | 53 000 – 75 000 | 55 000 – 80 000 | |
Novosibirsk | 58000 – 81000 | 50000 – 72000 | 50000 – 72000 | 60000 – 78000 | 50000 – 72000 | 55000 – 78000 | |
IV | Moscú | 125 000 – 170 000 | 110 000 – 150 000 | 110 000 – 140 000 | 120 000 – 150 000 | 110 000 – 150 000 | 120 000 – 150 000 |
San Petersburgo | 100 000 – 135 000 | 90 000 – 120 000 | 90 000 – 110 000 | 100 000 – 120 000 | 90 000 – 120 000 | 93 000 – 120 000 | |
Ekaterimburgo | 85 000 – 120 000 | 75 000 – 100 000 | 75 000 – 95 000 | 80 000 – 100 000 | 75 000 – 100 000 | 80 000 – 100 000 | |
Novosibirsk | 81 000 – 120 000 | 72 000 – 100 000 | 72 000 – 92 000 | 78 000 – 100 000 | 72 000 – 100 000 | 78 000 – 100 000 | |
Promedio | Moscú | 110 000 | 95 000 | 95 000 | 108 000 | 97 000 | 100 000 |
San Petersburgo | 89 000 | 75 000 | 75 000 | 89 000 | 78 000 | 80 000 | |
Ekaterimburgo | 75 000 | 65 000 | 65 000 | 73 000 | 66 000 | 68 000 | |
Novosibirsk | 72 000 | 62 000 | 62 000 | 70 000 | 63 000 | 65 000 |
Funcionalidad típica:
- desarrollo de aplicaciones móviles para Android;
- soporte para aplicaciones móviles;
- participación en la depuración y prueba de aplicaciones;
- Colocación de aplicaciones en GooglePlay.
Retrato del solicitante:
- 28 – mediana edad
- 97 – hombres
- 81 – educación superior
- 2,2 años – duración media del trabajo en el último lugar
- 36 – listo para moverse
- 41 – estaban desempleados al momento de publicar sus currículums
rango salarial | Requisitos y deseos de habilidades profesionales. |
banda yo |
|
Gama II |
|
Gama III |
|
Gama IV |
|
Preparado por Valeria Chernetsova, jefa de análisis de SuperJob
Muchos programadores quieren empezar a desarrollar aplicaciones para Android. Pero pocas personas se dan cuenta de los pasos que se deben tomar aquí. Esta colección está diseñada para ayudar a los principiantes a dominar el desarrollo de Android.
Empezando
Para aquellos nuevos en la programación el nuestro ayudará.
Para Novatos en Android Google ha hecho una buena introducción a Android en su sitio web. También hay una excelente guía de Android colaborativa. También hay un curso de Google sobre Udacity.
Si estas experimentando problemas con android, se recomienda encarecidamente comprobar StackOverflow primero. Está diseñado para responder preguntas técnicas e incluso es un archivo .
Siempre podrás encontrarlo en nuestra web.
Preguntas frecuentes
Quiero empezar a desarrollar para Android. ¿Por dónde debería empezar?
El primer y más importante paso en el desarrollo de Android es aprender Java y XML. Una vez que esté más o menos familiarizado con ambos, consulte la documentación oficial de Android y realice algunos tutoriales hasta que se sienta lo suficientemente seguro como para crear sus propios proyectos. ¡Buena suerte!
¿Necesito un dispositivo Android para el desarrollo?
Puede escribir aplicaciones sin ningún dispositivo Android utilizando el emulador incluido (o el Genymotion avanzado). Sin embargo, para tener en cuenta los requisitos de hardware, no existe ningún sustituto para realizar pruebas en un dispositivo real.
¿Qué IDE debo usar?
- Estudio Android- Un IDE con soporte oficial para el desarrollo de Android. Esto es lo que se utiliza en las guías y vídeos modernos, incluidos los de Google.
- Eclipse ha sido el IDE principal para el desarrollo de Android durante muchos años, razón por la cual la mayoría de los tutoriales, recursos, videos y capturas de pantalla heredados se crean con él.
- IDEA IntelliJ Era una alternativa a Eclipse, pero hoy en día tiene más sentido comenzar con Android Studio. Android Studio es una bifurcación de IntelliJ IDEA, por lo que obtienes todos sus beneficios más bonificaciones de Android.
¿Quizás debería olvidarme de Java y empezar a aprender Kotlin?
Google ahora admite oficialmente Kotlin como lenguaje de desarrollo de Android, pero eso no significa que puedas olvidarte del soporte de Java. En un futuro próximo, la documentación, las herramientas y las nuevas características de la plataforma serán compatibles tanto con Kotlin como con Java. Aunque Kotlin es un lenguaje más nuevo con algunas características interesantes, aún puedes crear excelentes aplicaciones en Java. La elección depende de usted, pero si no le importa o es un principiante, puede que sea mejor optar por Kotlin.
Recursos
A continuación te presentamos los principales recursos para aprender a desarrollar Android en inglés. Esta no es una lista completa, pero es suficiente para empezar.
Recursos oficiales de Android
Diseño
- Bellezas para Android: inspiración para crear interfaces gráficas para Android.
Boletines
- Android Weekly es un excelente boletín que le ayudará a mantenerse actualizado con los últimos desarrollos de Android.
Colecciones de biblioteca
Herramientas
- Genymotion es un emulador extremadamente útil y funcional.
- Android Asset Studio es una excelente colección de herramientas para crear/editar iconos, imágenes, etc.
- Complemento Codota para Android Studio: excelentes ejemplos de código directamente en Android Studio.
Ejemplos de aplicaciones de código abierto
Ideas de aplicaciones
Entonces tienes una idea para una aplicación... La gente escribe sobre ella todos los días. Pero antes de pedir ayuda para implementar un proyecto, es necesario responder las siguientes preguntas clave:
¿Cuál es mi presupuesto?
Si hablas en serio y quieres lanzar tu producto, debes pensar en tu presupuesto. Incluso para una aplicación sencilla, hay que pensar en varios miles de dólares. Al menos.
¿Cuál es mi estrategia de marketing?
¿Vas a utilizar el boca a boca con regularidad o estás dispuesto a pagar por la fama?
¿Cuál es la lista de tareas para este proyecto?
Además, ¿cuáles son las restricciones? ¿Cuántos desarrolladores necesito?
¿De dónde vendrán los datos/dónde se almacenarán?
Y además, ¿cómo se utilizarán? ¿Tengo una política de privacidad adecuada?
¿Existe el objetivo de ganar dinero?
En caso afirmativo, ¿cómo lo vas a lograr? ¿A través de publicidad, IAP, suscripciones, aplicaciones pagas? ¿Todo lo anterior?
¿Cómo pagarás a tus desarrolladores?
¿Tienes capital o los vas a pagar después de que la aplicación empiece a generar ingresos? A menudo, los contratistas independientes exigen una parte del coste total por adelantado. La mayoría de los desarrolladores no están interesados en compartir ingresos a menos que estén invirtiendo ellos mismos en la aplicación.
¿Cuál será el método de prueba?
¿En qué tipo de dispositivo lo vas a instalar? ¿Cuántas iteraciones necesitas? ¿Qué tipo de personas quieres involucrar?
¿Qué tan pronto quieres publicar tu aplicación en la tienda?
Esto definitivamente afectará el ingreso final.
¿Necesitará u ofrecerá registro/integración de redes sociales?
Considere implementar esta funcionalidad.
¿Cuál es su público objetivo?
¿Es esta una aplicación de nicho o se puede distribuir en todas partes?
¿Mi idea ya se ha implementado?
Si es así, ¿cómo puedo mejorarlo o qué le falta?
¿Qué hacer con las ideas de aplicaciones si no eres desarrollador?
Quizás esté buscando desarrolladores que se unan a su equipo para implementar una aplicación. Si tiene dinero y puede pagarle a un desarrollador o empresa, entonces todo es simple y claro. A continuación hablaremos sobre qué hacer si no tienes suficiente dinero para pagarle a alguien.
Tenga en cuenta que su idea puede no ser única y que su desarrollo requiere un esfuerzo significativo.
- dibujar el diseño su aplicación (apariencia y funcionalidad). Puede ser tosco y dibujado sobre papel. Pero debería ser bastante específico y no vago.
- Haz una lista de tus habilidades relacionado con la idea.
- Haz una lista de lo que invertirás en tu idea.
Entender que el desarrollo requiere un esfuerzo significativo. Imagine a un desarrollador trabajando a tiempo completo (8 horas) durante 2 meses para crear su aplicación. Y también trabajas a tiempo completo. ¿Qué estás haciendo en este momento? Si, en su opinión, su trabajo termina antes, entonces debe reconsiderar la idea. En este escenario, el desarrollador hace la mayor parte del trabajo y usted, francamente, es un inútil. Lo que puedas dar una vez terminada la aplicación realmente no importa y no motivará al desarrollador a terminar el producto.
Revisando tu idea
Si el desarrollador está haciendo más trabajo que usted, es necesario reconsiderar la idea para distribuir el trabajo de manera más equitativa. Esto les brindará los beneficios de trabajar juntos. Mire su lista de habilidades y piense cómo se pueden aplicar. Está bien si la aplicación difiere de la idea inicial. Revísalo hasta que tu trabajo y el del desarrollador sean al menos iguales.
- Distribuir el trabajo de la forma más justa posible.
- Concéntrate primero en tus habilidades.
- Su carga de trabajo debe ser aproximadamente igual a 2 meses de trabajo a tiempo completo. Para aplicaciones simples, la descarga puede, por supuesto, ser menor. Puedes preguntarle a la comunidad (por ej.
Convertirse en desarrollador de Android es bastante prestigioso. Esto no es difícil de comprobar, ya que la demanda y relevancia de esta profesión es muy alta en la actualidad. Desarrollar aplicaciones para Android no es un proceso fácil, ya que para escribir una aplicación funcional y de alta calidad es necesario tener en cuenta tanto la plataforma como los recursos que puede tener el programa.
desarrollador de Android
El mercado de especialistas capaces de desarrollar proyectos de alta calidad y, más aún, de gestionar de forma competente los fondos de los clientes, es muy pequeño. Hay una escasez constante; esto se debe principalmente a que no es tan fácil convertirse solo en desarrollador y mucho menos para una plataforma específica. Teniendo los conocimientos y habilidades necesarios, puedes ganar mucho dinero en el campo de TI, pero para ello necesitas alcanzar el nivel requerido.
¿Por dónde empezar?
Para emprender el camino de un especialista novato involucrado en el desarrollo de aplicaciones, es necesario conocer a la perfección al menos un lenguaje orientado a objetos, o a nivel de desarrollador. Esto es principalmente lo que necesita, ya que es sobre la base de un lenguaje de alto nivel que puede escribir software de alta calidad que fácilmente le brindará un salario excelente o le ayudará a desarrollar incluso los circuitos lógicos más complejos. Dado que el desarrollo de cualquier aplicación comienza con la lógica del programa, el cual deberás implementar.
Si todavía es un principiante que acaba de comenzar a familiarizarse con esta área y también tiene un ardiente deseo de convertirse en un especialista de primera clase, lo primero que debe hacer es familiarizarse con literatura como "Desarrollo de aplicaciones para Android". para tontos”. Te ayudará a comprender un poco lo que se requiere de ti y lo que debes tener, y más aún podrás familiarizarte un poco con el proceso de desarrollo de software.
Los lenguajes de programación aplicables para el desarrollo de aplicaciones y bibliotecas para la plataforma móvil son Visual C#, Visua C++ y, por supuesto, JAVA. Se da preferencia a JAVA, ya que con este lenguaje se pueden desarrollar fácilmente todo tipo de software, y la multiplataforma brindará aún más ventajas en la etapa de desarrollo y publicación del proyecto. En cuanto a los lenguajes Visual C, para construir proyectos basados en ellos se necesita software adicional (un conjunto de bibliotecas) que traducirá el código a las instrucciones necesarias para el sistema operativo móvil.
Para escribir su primer software, necesita al menos tres cosas:
- Entorno de desarrollo;
- Emulador de Android;
- Recopilador de códigos en el instalador final con extensión apk.
No hay nada mejor que una aplicación de Android de alta calidad, cuyo desarrollo implica su mayor desarrollo y mejora. Por lo tanto, muchas aplicaciones a menudo requieren actualizaciones periódicas por parte del usuario final, después de lo cual las aplicaciones obtienen funcionalidad y estabilidad adicionales.
Etapa de desarrollo de aplicaciones y selección de herramientas.
Para escribir aplicaciones de alta calidad, los profesionales de la programación utilizan las tecnologías más avanzadas, así como herramientas probadas, con las que se pueden lograr excelentes resultados. Pero no debe perseguir el software más reciente, ya que en la mayoría de los casos necesita un conjunto de herramientas de entorno de desarrollo ligeramente desactualizadas, ya que es para ellas que existe material de capacitación que absolutamente necesitará. Por ejemplo, la solicitud: descargar "Desarrollo de aplicaciones de Android" le dará un enlace al libro de Hashimi S., que revela todas las posibilidades y sutilezas de la programación que encontrará. Siempre es útil familiarizarse con una gran cantidad de literatura, ya que puede aprender sobre diferentes enfoques y métodos de programación, eligiendo el más óptimo para usted.
Lo primero que debe hacer es obtener la herramienta que utilizará para desarrollar la aplicación. No es más que un entorno de desarrollo de aplicaciones para Android. Debe cumplir con requisitos suficientes de funcionalidad y simplicidad específicamente para usted, ya que será usted quien escribirá el código y diseñará la aplicación final. La mayoría de las veces, los programadores novatos eligen uno de dos caminos: Visual Studio de Microsoft o Eclipse (Netbeans).
Después de elegir un entorno de desarrollo, definitivamente necesita obtener un emulador de Android, mediante el cual podrá ver el resultado rápida y fácilmente. Un emulador no es más que un complemento del entorno de desarrollo, mediante el cual puedes probar tu aplicación como en un dispositivo Android real. Su principal ventaja es que incluso si la aplicación falla, ningún dispositivo resultará dañado. Por lo tanto, al comienzo del desarrollo de las primeras aplicaciones, todos los autores recomiendan el uso de un emulador.
El desarrollo de aplicaciones para Android será una actividad cada vez más popular y una especialidad solicitada, ya que el sistema operativo móvil en sí se mejora y perfecciona cada año y la necesidad de especialistas crece aún más rápido. Esto se debe a que la plataforma móvil de Google está ganando cada vez más reconocimiento entre los usuarios con cada versión, además de cuota entre otros sistemas operativos móviles. Otra razón de la creciente popularidad de la especialidad de desarrollador de Android es que cada vez más empresas quieren tener su propia aplicación, lo que atraerá nuevos clientes y facilitará el acceso a los servicios de la empresa.
Desarrollo de aplicaciones
Para convertirse en un buen especialista que pueda desarrollar tanto proyectos pequeños como trabajar en equipo en una solución grande, primero debe hacer mucho. Esto es especialmente cierto para la adquisición de experiencia, que se obtiene resolviendo problemas heterogéneos, que estimulan el uso y la combinación de varios enfoques de desarrollo para implementar y resolver el problema. Muchos puntos típicos se pueden aprender de desarrolladores experimentados, pero usted mismo puede resolverlos. Para hacer esto, necesita una fuente de material adicional, el mejor es el libro sobre desarrollo de aplicaciones para Android.
Según las estadísticas, la mayoría de los desarrolladores de todos los niveles prefieren un solo entorno de desarrollo. Esto se debe no sólo a su versatilidad, sino también a su buena funcionalidad, así como a su sencillez y facilidad de desarrollo. Por tanto, desarrollar aplicaciones para android y eclipse son dos conceptos que cada vez más se fusionan en uno solo. Porque es gracias a este estudio que muchas personas empiezan a programar y continúan desarrollándose en él desde los proyectos más simples hasta los de escala industrial.
La empresa cliente suele confiar la redacción de un buen software a un gran desarrollador o empresa, ya que esto garantiza un resultado de alta calidad en el plazo especificado. Por lo tanto, en primer lugar, después de haber escrito el típico “Hola Android”, el desarrollo de aplicaciones móviles continúa aumentando tus conocimientos en el uso de diversas bibliotecas y métodos. Es el conocimiento de diferentes enfoques lo que te ayudará a salir de las situaciones más difíciles, gracias a lo cual te convertirás en un profesional en este campo.
Justificación del desarrollo y coste.
Tener una aplicación de marca propia es un prestigio para cualquier empresa. Por lo tanto, el desarrollo de aplicaciones móviles Android será relevante siempre que los usuarios y clientes potenciales de la empresa utilicen el sistema operativo móvil de Google, y teniendo en cuenta que la participación de este sistema operativo es aproximadamente la mitad del mercado total, no es Es difícil concluir que este tema seguirá siendo relevante durante muchos años.
Otro parámetro importante son los fondos que se gastarán en el proyecto. Desarrollo de aplicaciones para Android: el costo de dicho servicio generalmente depende de la escala y la funcionalidad de la aplicación, así como del período de desarrollo. Por ello, la mayoría de empresas realizan un concurso mediante el cual se selecciona un promotor o empresa.
Una vez escrita, una aplicación, si se mantiene y desarrolla adecuadamente, puede ejecutarse en todos los dispositivos que tengan los requisitos mínimos del sistema para ejecutar la aplicación. Es decir, la aplicación puede funcionar tanto en un teléfono inteligente normal como en una tableta, y más aún en una computadora equipada con el sistema operativo Android. Es esta tendencia la que está obligando a muchas empresas a adquirir su propio software.
Ruta del desarrollador
Cualquier desarrollador novato que acabe de dominar la tecnología y haya podido lanzar su primera aplicación "¡Hola Android!" se convierte en un desarrollador junior. Es decir, una persona que tiene conocimientos, pero no tiene experiencia práctica en el desarrollo directo de aplicaciones serias. Sólo puedes mejorar tu nivel a través de la práctica. Para hacer esto, basta con conseguir un trabajo en una empresa que esté interesada en "refinar" a los recién llegados al nivel requerido.
El siguiente paso será desarrollar una aplicación de Android directamente en el equipo. Así podrás alcanzar el nivel deseado en poco tiempo, gracias al cual aumentarás tu calificación y ganarás la experiencia necesaria. No dudes en preguntar a tus compañeros, porque si todos estáis haciendo un proyecto, a todos les interesará el resultado final del otro. Incluso los profesionales a veces se enfrentan a problemas y necesitan asesoramiento.
El desarrollo de aplicaciones para Android no siempre se realiza de forma fluida y rápida. Muy a menudo te enfrentarás al hecho de que la tarea en cuestión debe especificarse o dividirse en muchas tareas más pequeñas. Esto le permitirá ensamblar un proyecto cada vez a partir de una gran cantidad de fragmentos de código en un solo sistema, que representará la aplicación final que satisfará todos los requisitos del cliente y será fácilmente aceptada por él.
A medida que adquieras experiencia y habilidades, tarde o temprano te convertirás en un desarrollador serio que podrá liderar un equipo y resolver fácilmente los problemas más complejos. Se emplean muchos años para lograr este objetivo. Por lo general, se necesitan unos cinco años antes de que un desarrollador común y corriente pueda convertirse en un buen comandante e implementar proyectos en equipo.
Al tener los conocimientos necesarios y una amplia variedad de experiencia en la redacción de solicitudes, solo unos pocos profesionales eligen el camino del desarrollo independiente y la aceptación de pedidos. Es decir, abren su propio negocio de desarrollo. Esto es bastante raro, ya que la mayoría de las aplicaciones requieren un equipo con habilidades especializadas en un área particular. Por lo tanto, un desarrollador no puede simplemente saberlo todo.
Conclusión
Comenzando así tus primeros pasos en el camino de un desarrollador de Android. En primer lugar, necesitas conocimientos de tecnologías y lenguajes de programación. Porque simplemente no puedes prescindir de ellos. Por tanto, desarrollar aplicaciones para Android no es una tarea fácil, que requiere no sólo un conocimiento amplio y seguro en el campo de las tecnologías de la información, sino también una práctica que no se puede evitar.
En cuanto al lenguaje, es una ventaja utilizar Java, ya que el entorno de desarrollo y la mayoría de componentes son gratuitos, por lo que siempre tendrás la última versión del software. Además de conocer las capacidades del propio estudio de desarrollo, es necesario dominar al menos los conceptos básicos del lenguaje y los conceptos básicos de la programación orientada a objetos.
Por lo tanto, si ha decidido convertirse en un profesional en su campo, debe comprender de inmediato que esta tarea le llevará al menos varios años, durante los cuales podrá convertirse exactamente en lo que desea ver en sí mismo. Al ser un desarrollador experimentado, obtienes muchos beneficios, como un trabajo bien remunerado, uso de TI en todas partes, la posibilidad de trabajar de forma remota, etc.
Sin embargo, si decide convertirse en desarrollador, pero no necesita escribir una aplicación que tenga una funcionalidad amplia y potente, sino un programa simple que realice funciones primitivas, puede utilizar editores especiales diseñados específicamente para tales fines.