
隆En el D铆a del Programador, compartimos una selecci贸n de excelentes informes con desarrolladores m贸viles! La conferencia de Mobius se celebr贸 en San Petersburgo en mayo, y ahora publicamos sus videos, y para Habr hicimos una selecci贸n de los diez primeros (seg煤n las estimaciones de la audiencia).
Los temas son muy diferentes, desde la arquitectura escalable hasta la accesibilidad. Pero las estimaciones, por el contrario, son sorprendentemente fuertes. En tercer lugar, la diferencia con los dos primeros es de solo 0.01 puntos. Es decir, no tiene sentido ver particularmente exigente "qui茅n es m谩s alto que qui茅n": todo est谩 tan cerca que, de hecho, es solo una colecci贸n de buenos informes. Y ver es todo lo que le interesa al menos en el tema.
Errores reactivos o Reintentar di谩logo en una l铆nea de c贸digo
Ponente:
Konstantin TskhovrebovUbicaci贸n: 10
Presentaci贸n del informeComencemos la selecci贸n con una historia sobre c贸mo dise帽ar una soluci贸n a un problema com煤n condujo a una soluci贸n inusual, revel贸 la esencia del enfoque reactivo (sin RxJava) y simplific贸 muchos problemas relacionados.
El informe est谩 dedicado a c贸mo, utilizando una arquitectura construida adecuadamente, uno simplemente puede resolver un problema no trivial llegando cuidadosa y naturalmente al concepto de flujos de chorro. Konstantin considerar谩 una tarea familiar con un di谩logo de Reintento, discutir谩 las desventajas de las soluciones "cl谩sicas", comprender谩 la programaci贸n reactiva y propondr谩 una soluci贸n pr谩ctica que ayudar谩 a manejar cualquier error en la aplicaci贸n.
Accesibilidad para iOS: hacerlo bien haciendo el bien
Ponente:
John FoxUbicaci贸n: 9
Presentaci贸n del informeSi un desarrollador de iOS toma en serio su aplicaci贸n, tambi茅n deber铆a tomarse en serio la posibilidad de hacerla agradable y conveniente para las personas con discapacidades, dice John Fox. Y aunque el tema de la accesibilidad generalmente no es entusiasta, el encantador y entusiasta de John "sacudi贸" al p煤blico y recibi贸 excelentes calificaciones.
En el informe, John habl贸 sobre c贸mo Netflix desarrolla su aplicaci贸n basada en VoiceOver y otras herramientas y marcos de Apple, y explic贸 por qu茅 invertir en calidad de accesibilidad ofrece muchos beneficios, desde atraer y retener clientes hasta capacidades de prueba automatizadas.
Bonificaci贸n: tambi茅n
entrevistamos a Fox en
una carrera en TI y accesibilidad de aplicaciones.
640 kilobytes deber铆an ser suficientes para todos
Ponente:
Jonathan LevinUbicaci贸n: 8
La 煤ltima vez, Mobius Jonathan subi贸 para descubrir por qu茅 se necesitan D8 y R8, y entr贸 en los
principales informes . Esta vez, cierra la siguiente brecha en las preguntas "c贸mo funciona realmente all铆", trata la JVM y la memoria, y nuevamente llega a la cima.
A partir de este informe, aprender谩 c贸mo funciona la administraci贸n de memoria en Android, qu茅 significan Swap, GC, Native Allocations y otras palabras de miedo, y si usted mismo no entendi贸 este tema antes, en una hora obtendr谩 la informaci贸n necesaria en un formulario accesible de un carism谩tico orador.
C贸mo comenzar a escribir autotests y no volverse loco
Ponente:
Dmitry Movchan, Eugene MatsyukUbicaci贸n: 7
Las pruebas autom谩ticas son extremadamente importantes para mantener la alta calidad de la aplicaci贸n, pero c贸mo resulta: hablan mucho de ellas, 隆pero pocas escriben! Despu茅s de todo, las pruebas autom谩ticas apenas comienzan a aparecer en la vida de los desarrolladores, y no hay tantas pr谩cticas normales.
Esto es lo que Zhenya y Dima intentaron corregir en su informe. Consideran c贸mo escribir autotests desde diferentes 谩ngulos y, seg煤n ellos, dan "la base misma en una botella", lo que ayudar谩 a tomar y comenzar a escribir autotests desde cero o desarrollar y mejorar los existentes.
Implementando el cach茅 de mensajes VK
Ponente:
Alexander SorokinUbicaci贸n: 6
Presentaci贸n del informeUn informe bastante duro y 煤til sobre las agallas, sobre c贸mo funciona el mensajero VKontakte bajo el cap贸. Alexander le dice qu茅 tan compleja es la l贸gica de negocios, c贸mo se optimiza la base de datos y qu茅 trucos debe seguir para que los di谩logos de los usuarios est茅n siempre en un estado coherente, pero al mismo tiempo no se molesten con los frenos y la carga constante.
La historia de Alexander se puede usar de forma segura como una instrucci贸n si tiene que implementar la funcionalidad similar de "Mensajes" u optimizar el trabajo con la base de datos. Encontrar谩s ideas espec铆ficas y trucos 煤tiles para trabajar con SQLite, que despu茅s de ver puedes ejecutar para aplicar en tus proyectos.
Nota clave: Empat铆a en TI: c贸mo usar racionalmente su naturaleza humana
Ponente:
Andrey BreslavUbicaci贸n: 5
Descanse despu茅s del hardcore: en el medio de la parte superior, la audiencia hizo una conferencia inaugural sobre la importancia de las emociones para trabajar en TI. Andrei sol铆a hablar en Mobius con gran 茅xito,
hablando sobre la influencia de otros idiomas en Kotlin. Y esta vez explic贸 c贸mo los desarrolladores pueden recurrir a las emociones y la empat铆a como herramienta de trabajo para que una persona pueda obtener lo que necesita m谩s r谩pido y m谩s f谩cil.
Andrei tambi茅n trabaj贸 con sus propias emociones durante el informe: "Por lo general, estoy muy preocupado por mi aspecto, por lo que decid铆 ponerme orejas est煤pidas y notar que nada ha cambiado". En el informe, explica por qu茅 los adultos con educaci贸n t茅cnica no pueden ponerse de acuerdo sobre cuestiones t茅cnicas, y el trabajo que trajo pura alegr铆a y placer puede llevar al agotamiento.
Optimizaci贸n de la tuber铆a Gradle: m谩s all谩 de lo b谩sico
Ponente:
Stepan GoncharovUbicaci贸n: 4
Cuanto mayor es el tama帽o del proyecto m贸vil, m谩s fuerte se siente su tiempo de montaje y el problema de las compilaciones largas atorment贸 a muchos desarrolladores. Un ejemplo de esto es el tiempo cr铆tico de construcci贸n en Gradle para Android, que est谩n tratando de optimizar de todas las formas posibles.
En su informe, Stepan habla sobre todos los matices de este proceso y pasa por muchos trucos y trucos, y no los que se enumeran en la documentaci贸n. Los oyentes del informe se帽alaron que no sab铆an sobre una gran parte de las t茅cnicas de las que habl贸 Stepan, e inmediatamente fueron a ponerlas en pr谩ctica.
Patrones de dise帽o de interfaz m贸vil m谩s inteligentes
Ponente:
Vitaliy FridmanUbicaci贸n: 3
Hay muchos ejemplos de interfaces sorprendentemente desagradables en la red, pero la mayor铆a de ellos son intencionales, por ejemplo, como en la competencia por los peores controles de volumen UX. Pero Vitaly conoce las mismas interfaces salvajes, pero se desarroll贸 con toda seriedad. 驴C贸mo elige el n煤mero de ni帽os que usan el control deslizante con el valor m谩ximo? 驴C贸mo puede venir esto a mi mente?
En un informe final, Vitaliy explora los saludos de los usuarios y las formas de despedirse de ellos, pasando la autenticaci贸n, trabajando con cookies, notificaciones, saludos, solicitando comentarios, captchas, iniciando sesi贸n a trav茅s de las redes sociales y muchos otros elementos, cada uno de los cuales puede hacer que un usuario abandone el sitio, Si es demasiado inc贸modo o molesto.
De hecho, Vitaliy cre贸 un conjunto de instrucciones y t茅cnicas simples que se pueden aplicar en cualquier proyecto m贸vil, desde una aplicaci贸n integrada hasta un buen sitio web antiguo.
Trabajamos con la red de manera eficiente
Ponente:
Eugene RtishchevLugar: 2
Alrededor del 90% de las aplicaciones utilizan solicitudes de red, es decir, es 煤til para casi todos los desarrolladores m贸viles comprender problemas relevantes. Al mismo tiempo, al resolver problemas de red, los desarrolladores pueden complicar sus vidas al pasar m谩s tiempo escribiendo procedimientos y clases simples para trabajar con la web.
El informe de Eugene, el primero de un par de ganadores principales, trata sobre c贸mo usar medios nativos para hacer para lo que muchos desarrolladores usan bibliotecas de terceros. Para muchos, una historia puede convertir la idea de c贸mo trabajar correctamente con la red, y se convertir谩 en una herramienta e instrucci贸n 煤tiles para ser independientes de la biblioteca.
Eugene explica c贸mo usar las herramientas existentes para resolver de manera m谩s efectiva y r谩pida las tareas t铆picas a las que se enfrenta cada desarrollador cuando trabaja con la red: trabajar con la memoria cach茅, la autenticaci贸n de usuarios, la ejecuci贸n de consultas, el diagn贸stico de errores, la depuraci贸n, la verificaci贸n de la pila de red y la interacci贸n con la API. Seg煤n los visitantes de la conferencia, su historia es imprescindible antes de trabajar con la red.
Arquitectura de escala en lyft
Ponente:
Denis NeklyudovUbicaci贸n: 1
Y otro ganador es el relato de Denis de su experiencia con Lyft. Su informe est谩 dedicado a los problemas que a menudo se encuentran al escalar la arquitectura de la aplicaci贸n y c贸mo hacer que la arquitectura "crezca" seg煤n lo que se experiment贸 en Lyft.
Lyft comenz贸 como una simple aplicaci贸n de Android desarrollada por una persona. Ahora hay m谩s de 50 desarrolladores, dos aplicaciones con una base de c贸digo com煤n y muchas funciones adicionales semanales: los requisitos han cambiado, han surgido nuevas dificultades. En tales condiciones cambiantes, retroactivamente, "c贸mo actuar desde el principio" es especialmente notable.
Curiosamente, este es el segundo informe consecutivo de Lyft, que se convierte en nuestro l铆der: hace seis meses, en lo m谩s
alto del Mobius anterior, el favorito result贸 ser un discurso de Artyom Zinnatullin sobre los matices de la asamblea.
Si los diez primeros no son suficientes, puede abrir una
lista de
reproducci贸n de conferencias m谩s completa en YouTube.
驴Interesado en estos informes? 驴Quieres hacer preguntas a sus autores? En este caso, lo m谩s probable es que te guste en
Mobius 2019 Mosc煤 : tambi茅n habr谩 muchas presentaciones interesantes, y tambi茅n habr谩 la oportunidad de preguntar adecuadamente a los oradores en las zonas de discusi贸n. Parte del programa ya se ha publicado; puede
ver por s铆 mismo si los temas son interesantes para usted.