Cómo fui a Droidcon Berlin

Hola, mi nombre es Vitaliy, soy desarrollador de Android en Tinkoff.ru, trabajo en la oficina de San Petersburgo y este año asistí a la conferencia internacional Droidcon Berlin por primera vez, así que quería contarles brevemente mis impresiones.


Este artículo no contiene mucha información técnica, pero si está interesado, los organizadores publicarán videos de todos los informes en YouTube a lo largo del tiempo.



Droidcon es una de las conferencias más populares dedicadas al desarrollo de Android. Se lleva a cabo en 25 ciudades y 4 continentes (Eurasia, África, América del Norte y Australia). Y si considera a Europa y Asia por separado, el número de continentes aumenta significativamente a una cifra aterradora: 5.


Este año hemos reunido un equipo muy grande de dos personas que fueron a conquistar la capital alemana durante la Copa del Mundo.


Unas pocas palabras sobre las fechas de la conferencia, están flotando y cambian de año en año. En 2017, Droidcon Berlin se celebró del 3 al 5 de septiembre, en 2018, del 25 al 27 de junio, y en 2019 se realizará del 27 al 29 de mayo.


De lo bueno, se puede notar que la conferencia se lleva a cabo de lunes a miércoles, es decir, si llega con un poco de anticipación, por ejemplo, el sábado, quedan 2 días de reserva para disfrutar de la belleza del lluvioso Berlín.


Cómo llegar a la conferencia


Como dicen, cada Petersburger debería llevar un paraguas y gafas de sol, así como un pasaporte con un Schengen finlandés, por lo que lo único que se necesitaba era comprar un boleto para la conferencia. Comprar un boleto para esta conferencia no es diferente de comprar boletos para cualquier otro: cuanto antes compre, menor será el costo. Mi boleto cuesta 200 euros y mi colega 150.


Hasta donde yo sé, el lugar de celebración de Droidcon Berlin no cambia: este es CityCube Berlin. Este complejo de exposiciones se encuentra a solo un kilómetro de la ciudad ya 200 metros de la estación de S-Bahn más cercana.


Berlín es una ciudad moderna con una estructura de transporte bien desarrollada y, por lo tanto, no es necesario alquilar viviendas en las inmediaciones del lugar. Se puede llegar de una de las siguientes maneras.


  • A pie
  • En tren S-Bahn a S-Messe-Süd
  • En bicicleta
  • En una bicicleta alquilada (mobike, nextbike)

Me gustaría describir el último punto con más detalle. Berlín no es Ámsterdam, pero el ciclismo en la capital alemana está organizado a un nivel decente, por lo que compartir bicicletas es muy popular en Berlín. Hay varias compañías que brindan servicios relacionados (German NextBike y Chinese Mobike).



El uso compartido de bicicletas en Alemania es muy similar al uso compartido de automóviles en Rusia, ya que las bicicletas se pueden estacionar en cualquier lugar de la ciudad. Por lo tanto, puede, por ejemplo, volver a casa en bicicleta por la noche y partir en la mañana. Pero tenga cuidado: CityCube Berlin está ubicado fuera de los límites de la ciudad y la bicicleta deberá dejarse en la estación de bicicletas cerca de la estación de S-Bahn - Messe Nord ICC.


En el camino al lugar de la conferencia, hay voluntarios amigables que ayudaron a orientarse el primer día. También había señales a lo largo del camino, por lo que perderse era muy difícil.



Señal de carretera



Puntero cerca de la entrada


Como es habitual en las conferencias durante el registro, debe obtener una insignia para mostrarse y mirar a los demás. No sé cómo era antes, pero esta vez los organizadores decidieron optimizar el proceso de registro y dividieron la cola por la primera letra del nombre.




En general, me di cuenta de que ser Vitaly en esta situación no es nada rentable, estaba molesto y fui al cuarto lugar.


Patrocinadores


Como de costumbre, los patrocinadores están presentes en las conferencias, dan todo tipo de tonterías, se anuncian e incluso a veces piden trabajo.


Este año hubo bastantes patrocinadores, todos podían dar una baratija genial o contar una historia interesante sobre su trabajo y sus proyectos.


  • Huawei, un fabricante de teléfonos, presentó su marco de realidad aumentada y un auto de coproducción con Porsche. Lo más probable es que haya desarrollado un sistema de entretenimiento
  • Aquí hay una parte anterior de Nokia, una compañía que tiene su sede principal en Alemania y Estados Unidos. Desarrollar soluciones cartográficas (anteriormente NAVTEQ). Hablaron sobre una red de socios que les proporciona tarjetas para regiones complejas como China, Corea del Norte y otros, así como sobre el mecanismo para emitir varias versiones de mapas dependiendo de su ubicación, idioma y otras cosas (necesarias para resolver el problema de los territorios en disputa)
  • Amazon: no necesitan una presentación, dijeron que en Alemania desarrollan principalmente sistemas operativos para sus tabletas
  • Ebay: en Alemania se dedican principalmente al desarrollo de un análogo de Avito (Ebay Kleinanzeigen, no puedo decir esto)
  • Zebra: desarrollo de sistemas de software y hardware para escanear códigos de barras, con sede en EE. UU. Y Gran Bretaña
  • Gdg
  • eDreams ODIGEO es un conglomerado de servicios para la búsqueda de boletos aéreos y hoteles y similares (eDreams, GO Voyages, Opodo, TravelLink, Liligo y otros servicios no muy conocidos en Rusia). Desarrollo en Barcelona y Madrid.
  • N26: un banco en línea sin sucursales. Dicen que trabajan según el principio de Tinkoff, pero que solo tienen 1 millón de clientes (frente a 6 millones para TF) en toda Europa. Disponible en 17 países. El centro de desarrollo está ubicado en Berlín, recientemente abrió una nueva oficina en Barcelona. Use ViewModel y LiveData.

Conferencia


Procedemos directamente a la conferencia, este año duró 3 días:


  • Día Interactivo (Día No. 0)
  • Día # 1 (Keynote Jake Wharton - Borrando la línea entre nativo y web)
  • Día # 2 (Keynote Job van der Voort - Las mejores aplicaciones están construidas en pantalones de pijama)

A continuación, consideramos con más detalle los puntos clave de cada día.


Dia interactivo


El día interactivo es un día especial para conocer a otros participantes de la conferencia. Mucho tiempo libre, habitaciones libres. Por lo tanto, todos podrían proponer un tema para discusión o informe. Temas sugeridos:


  • Cómo escribir DSL en Kotlin
    Un informe similar estaba en JPoint, por lo que no había nada nuevo allí.
  • ¿Para qué sirve la Biblioteca de paginación de Google?
  • Cómo organizar correctamente la interacción multimodular
    En este informe, se revisó un proyecto de Android que consta de varios módulos. Se dijo que este módulo encapsula la interacción con un servidor o base de datos. Su idea principal del informe era colocar dependencias como Room, Retrofit en un módulo separado y ocultarlas.

También decidí aprovechar esta oportunidad y dije un informe del mitap Kotlin de San Petersburgo.



Estaba hablando en la sala de Lollipop


También hubo mesas redondas, en las que participaron de 4 a 6 personas:


  • Rx debe morir
    El mensaje principal era que Rx es solo una biblioteca que debería ser fácilmente reemplazable, pero es muy difícil de eliminar, ya que se extiende a todos los niveles de la aplicación.
    Rx a menudo hace que el código sea incomprensible si los desarrolladores crean largas cadenas.
    Si usa Individual, Completable o Quizás, entonces no necesita Rx, Kotlin Coroutines será suficiente.
    Como de costumbre, ignoran el manejo de errores, la cancelación de la ejecución y las declaraciones Rx.
  • Multiplataforma en Android
  • Mujeres en tecnología

Al final del día fue un torneo de Mario Cart.




Ahora un poco sobre organizar un día interactivo.


  1. Esto no es un mobius. No hay café, té y galletas gratis. Un punto para la venta de café y dulces, entre informes, una larga cola.
    Si quiere café, omita el informe, aunque el primer día podría omitirlo de manera segura.
  2. Esto no es un mobius. No hay comida caliente, solo sándwiches, sabrosos, pero oficialmente solo uno a la vez.
  3. Esto no es un mobius. No son tan cazados aquí)

Y el último punto en la agenda fue una fiesta no oficial organizada por la comunidad alemana de Android BerlinDroid. Estaba en el horario de la conferencia, pero en realidad nadie sabía nada de ella. Pasó en el club-bar c-base, donde se pagaron entre 200 y 300 botellas de cerveza. El bar está ubicado a orillas del río, así que nos sentamos en la calle y hablamos sobre varios temas con otros desarrolladores de Android.


Primer dia


Como ya he señalado, el primer día comenzó con una charla de Jake Wharton "Desdibujando la línea entre nativo y web" , que fue un poco de discusión sobre el tema de la plataforma cruzada, la elección del idioma y algunas otras cosas. La conclusión principal es que pronto será posible escribir todo en Kotlin, la característica principal son capturas de pantalla geniales sobre Kotlin.





Fotos de la charla de Jake


El primer día hubo un muy buen informe de Hannes Dorfmann sobre MVI, otros desarrolladores lo elogiaron mucho, pero no pude visitarlo, así que planeo verlo cuando aparezca la grabación.


Un informe interesante fue sobre Dependency Hell por Erik Derr. Al comienzo del informe, dijo que usa dependencias en el proyecto, que todo está bien con usted, que todo está estructurado. Pero cuando la biblioteca ingresa al APK compilado, obtiene acceso a todo lo que la aplicación tiene acceso.
Luego pasó a discutir la seguridad de las bibliotecas descargables y por qué es importante que el desarrollador sepa que la dependencia no contiene vulnerabilidades y no roba datos de los usuarios.
Después de eso, analizó el uso del SDK de Facebook, en particular, analizó qué versiones del SDK se usan con mayor frecuencia en otras aplicaciones, y notó que un número suficiente de proyectos usa la versión vulnerable del SDK de Facebook, y por alguna razón a menudo no se actualiza.
Al final del informe, presentó la extensión para Android Studio Up2Dep , que sugiere la última versión compatible de la extensión (probablemente a nivel de interfaz).



Ejemplo de complemento


El informe sobre navegación de Anthony Agby (Anthony Agby) analizó cómo solían trabajar con la geolocalización en Android, cómo se usa ahora el FusedLocationManager, qué hacer si el usuario vive en China.


Luego fui a la charla de Ricardo Lage sobre la migración de AutoValue a Kotlin Data Class. Le dijo a la mitad del informe qué es AutoValue, para qué sirve, cómo seguían generando serializadores. Se centró en lo genial que es usar la clase de datos y cómo escribieron un complemento que convierte el código antiguo en una clase de datos. Pero incluso con la clase de datos, usan su complemento para generar código de serializador, ya que no les gustaba la serialización de Kotlin.


En ese momento, mi colega fue al informe de Saket Narayan "La persistencia como la única fuente de verdad" , que lo impresionó, así que también quiero verlo cuando aparezca el video.


Vitaliy Zasadnyy hizo una presentación sobre DeepLink. Si el orador está vestido con mucho estilo: con una camisa, chaleco y sonrisas para los oídos, entonces este es un informe de gestión (esto resultó ser cierto). Si intenta resaltar la esencia, debe usar la API de Google Referer, si queremos transferir información adicional inmediatamente después de descargar la aplicación.


Luego hubo un informe de Nishant Srivastava sobre ProcessLifecycle, que es un recuento de su artículo .



Al final del primer día, tomé una foto con Hannes Dorfman.


Segundo dia


Job van der Voort abrió el segundo día con la charla "Las mejores aplicaciones están construidas en pantalones de pijama" . Job trabaja en GitLab y su historia fue sobre cómo trabajan todos en casa y cuáles son sus beneficios, por ejemplo, se las arregla para trabajar y controlar cómo crece su hija. Basado en una experiencia exitosa, concluye que las oficinas son opcionales.



Foto de la charla de Job


Prestó especial atención al paradigma OpenSource, según el cual el código de todos sus productos, incluso los que venden, es de dominio público, es decir, cualquier usuario puede descargar el código fuente, compilarlo y usarlo sin ningún problema.
Pero lo más interesante fue la historia sobre la comunidad que crearon. Resulta que muchas empresas clientes crean nuevas funciones que son útiles no solo para ellos, sino también para otros clientes. A pesar de esto, las empresas siguen comprando productos de GitLab, aunque a menudo crean la funcionalidad que necesitan para sí mismas en los productos de GitLab.


Luego escuchamos un informe sobre el aumento de la velocidad de construcción del proyecto de Nikita Kozlov y Boris Farber (Nikita Kozlov, Boris Farber) dependiendo de la versión de grale, kotlin, etc. ... En particular, midieron la velocidad de construcción en amapolas de 15 y 17 años. En resumen, los chicos querían nuevas amapolas y debían discutir de alguna manera por qué necesitaban computadoras más potentes.



Lista de parámetros que los oradores consideraron


Para mi sorpresa, de un informe bastante estándar de Abdelmounaïm Belghalem sobre la batería, descubrí que 3G come más que LTE.


Luego vino la presentación de Vasiliy Zukanov "Las actividades y los fragmentos no son vistas MVX" . Se demostró que las actividades y los fragmentos toman mucho en sí mismos, por lo que es lógico poner algunas funciones repetitivas en clases adicionales.


Danny Preussler habló sobre inyectar dependencias en Kotlin usando Koin y Kodein. Llegó a la conclusión de que Dagger es una biblioteca bastante buena, pero si usa Koin y Kodein, puede inyectar dependencias a través de propiedades delegadas y esto es mucho más conveniente.


Y el último informe fue contado por Parth Padgaonkar. El informe examinó el método de convertir código síncrono a código Rx. En particular, se analizaron el código RxBindings (escrito por Jake) y la creación de un Observable personalizado utilizando el método Observable.create. Resulta que muchas personas se olvidan de escribir una línea en negrita y, por lo tanto, es posible que haya pérdidas de memoria al crear un Observable.




Pero los últimos informes no han atraído a muchos oyentes, ya que el 27 de junio el equipo nacional alemán jugó el último partido de la fase de grupos con el equipo nacional coreano el miércoles.








Más tarde logré reunirme y conversar con Dmitry Vinogradov. Este es el creador de startandroid.ru , cuya información publicada es muy útil para principiantes y no solo para desarrolladores de Android.




Breves conclusiones:


  • El nivel de informes en su conjunto es ligeramente más bajo que en Petersburgo Mobius, pero más alto que en Moscú
  • Una idea genial con el primer día interactivo, ya que había tiempo para conocer a otros participantes de la conferencia.
  • Problemas con bocadillos y comida el primer día.
  • Breves descansos entre informes, no hay suficiente tiempo para discutir informes, tomar café, chatear con patrocinadores
  • Nadie sigue las reglas, por lo que no solo no tiene tiempo para hacer nada durante el descanso, sino que llega tarde al siguiente informe
  • Bueno después de la fiesta después de un día interactivo
  • Puedes jugar kicker, máquinas tragamonedas, jenga y otras cosas en tu tiempo libre.
  • Si no hay dinero para un boleto, puede inscribirse en una conferencia como voluntario, y no es necesario ayudar con la organización por hasta 3 días.

Datos interesantes en una línea


  • Charlé y conocí a un gran número de personas de diferentes países.
  • Tendencias en esta conferencia: Flutter y multiplataforma
  • Charlé con el fundador del sitio web StartAndroid, también tomé una foto con él, descubrí cómo se mudó a Alemania
  • Tenía una foto con Hannes Dorfmann
  • Le dije a Jake Worthan que soy su fan ruso
  • Aprendí que no hay departamentos de control de calidad en las oficinas de subcontratación europeas. Probadores solo del cliente
  • Los desarrolladores europeos a menudo se mudan a países y ciudades más baratas (por ejemplo, desde Escocia, no a Londres, sino a Berlín)
  • El desarrollo y la vida en Berlín son más baratos que en otras ciudades alemanas (Munich y Colonia)
  • En Berlín, problemas con el pago con tarjeta, necesitará efectivo
  • Los amsterdamianos no distinguen el olor a hierba del olor a cigarrillo.

Source: https://habr.com/ru/post/es418675/


All Articles