👉 Descarga GRATIS la guía de Principios SOLID: devexperto.com/principios-solid-guia-gratis/ Si aún no te decides sobre si Kotlin es el lenguaje que deberías aprender, te animo a que te apuntes a mi masterclass gratuita 👉 bit.ly/2ONkWKE
@juanesdev4 жыл бұрын
Si antes me gustaba Dagger ahora aún más se ha simplificado demasiado, mucha gracias gran video, saludos desde Medellín - Colombia
@devexpert_io4 жыл бұрын
Gracias Juan!
@luzperezn42033 жыл бұрын
Excelente video, no estaba entendiendo que es Dagger pero ahora ya tengo una muy buena idea y cómo aprovecharlo. Muchísimas gracias! Estuve viendo tu canal y creo que me va a servir para continuar viendo cosas que no conocía de Android, nueva sub!
@devexpert_io3 жыл бұрын
Muchas gracias Luz! Bienvenida!
@javstorres4 жыл бұрын
Esta muy bueno, simplifica mucho, ahora veamos que tan bien se comporta en el testing!
@devexpert_io4 жыл бұрын
Muchas gracias! Creo que ahí aún les faltan cosas, pero ya hay algunas facilidades para testing. En tests unitarios da igual, porque no hace falta usar el inyector. En tests de integración o de UI prometen que se pueden cambiar dependencias de forma individual (algo que con Dagger no se puede, hay que rehacer el módulo entero). ¿Te gustaría un vídeo sobre esto?
@alvarogarnett4 жыл бұрын
Hace un año empecé a usar Koin en vez de Dagger y tras leer mucho de Hilt, lo que veo que han hecho Hilt para parecerse lo máximo posible a Koin, sobretodo a nivel de simplicidad aunque en Koin no hay tantas anotaciones. Podrías hacer una comparación Hilt vs Koin? Gracias por el video, ha quedado muy claro su uso
@devexpert_io4 жыл бұрын
Lo tengo apuntado. Pero vamos, personalmente pienso que si con Koin estás cómodo, es una opción perfectamente válida. A mí me gusta mucho por lo sencillo que es (más que Hilt, como bien dices). Gracias por tu comentario!
@drackon19952 жыл бұрын
Excelente video, pero una duda. Donde prodria ver los videos anteriores para desarrollarlo desde antes que integras dagger hilt? Saludos desde Mexico.
@devexpert_io2 жыл бұрын
No hay ninguno donde haga exactamente esto, porque es el código de una formación que tengo. Lo más cercano a eso lo puedes encontrar en este vídeo kzbin.info/www/bejne/oomadJilpLB2mbM
@i12capea4 жыл бұрын
Que buena pinta! Con hilt se podría inyectar un viewmodel en un fragmento de una librería, y en la aplicación que integra la librería poder extender ese fragmento para personalizar algo y utilizar el viewmodel inyectado en este fragmento? Gracias ,un saludo, muy buen vídeo!
@devexpert_io4 жыл бұрын
No parece la forma más adecuada de trabajar, porque una librería al final es un componente externo sobre el que no tenemos control, y el ViewModel forma parte de nuestra arquitectura.
@i12capea4 жыл бұрын
@@devexpert_io Ya pero si yo hago la librería y la aplicación que integra estaría bien para realizar personalizaciones de la librería base
@devexpert_io4 жыл бұрын
@@i12capea si tú tienes acceso a todos, entonces en principio no veo por qué no. Pero sin ver el código suena un poco raro lo que intentas ahí.
@ameamemx4 жыл бұрын
Excelente 👍🏻 hace ya un tiempo ⏳ que esperamos del tema ✌🏻 saludos 😉
@devexpert_io4 жыл бұрын
No puede hacer tanto, si haber cómo 2 semanas que publicaron la Alpha 😂. Pero ya está aquí!
@AngelLopez13 жыл бұрын
Que tal Antonio. Gracias por el video. Solo como retroalimentación: sería bueno si los tutoriales los pudieras hacer desde cero. Por ejemplo yo no vi el video de dagger por que ahorita lo único que necesito hacer es aprender a usar hilt y al ver este video, no me quedó muy claro por que usaste un proyecto empezado como ejemplo. Para mi fue como llegar tarde a una fiesta. Sería mejor si hilt lo hubieras explicado con un proyecto de cero. Solo mi punto de vista. Gracias nuevamente
@devexpert_io3 жыл бұрын
Gracias por el feedback, lo tengo en cuenta. Pero sería muy difícil hacer un proyecto desde cero cada vez que se explica algo un poco más avanzado. Todos los vídeos durarían muchísimo y serían muy repetitivos, no? Qué propones?
@christianmeazza23094 жыл бұрын
Hola Antonio no había podido compilar mis apps al usar @ViewModelInject con DataBinding y con kapt { correctErrorTypes = true} por fin pude compilar. Creo que esos son los errores que corrige. El video me aclaró varias dudas que tenía, muchas gracias.
@devexpert_io4 жыл бұрын
Ahhh pues mira, me alegro de que te sirviera! Yo lo estuve buscando un rato pero no me quedó nada claro, porque ni siquiera la referencia de Kotlin explica mucho.
@christianmeazza23094 жыл бұрын
@@devexpert_io Lo siento, volvió a fallar funcionó con un adapter pero intenté pasarle un dato desde el ViewModel y me muestra este error "A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution" y es el que me muestra cada vez que intento usar DataBinding.
@devexpert_io4 жыл бұрын
@@christianmeazza2309 pues la verdad que ni idea en ese caso... No lo he probado junto con databinding
@marcalastalsbota43574 жыл бұрын
Muy bueno, como siempre. Voto por que hagas el video de como usarlo en modulos kotlin sin android(no se si me acuerdo de java ya) y me encantaria uno comparando Hilt y Koin
@devexpert_io4 жыл бұрын
Perfecto, pues apuntado queda. Gracias!
@carlosmartinezgadea4273 жыл бұрын
Esto me parece realmente interesante de cara al multiplatform o a módulos agnósticos de Android (como podrían ser data, use cases, domain en una Clean Architecture). Sería un gran plus ver esto en acción con Hilt! De momento, creo que me quedo con Koin.
@devexpert_io3 жыл бұрын
Si los módulos de inyección los declaras todos en el módulo de App, en realidad da igual el inyector que uses. Lo único que tocaría implementar la inyección para cada plataforma en el caso de KMP. Si acoplas la inyección a todas las capas (tiene sus pros y sus contras) entonces hay que tener más cuidado. Pero si os fijáis, este ejemplo tiene capas que no sin Android y está hecho con Hilt
@carlosmartinezgadea4273 жыл бұрын
@@devexpert_io inicialmente había pensado que lo más sencillo era justamente eso, realizar la inyección en el app de cada plataforma. Me queda claro ahora, gracias! Aunque creo que tardaré aún un poco en meterme con KMP...
@albertmartorellgarcia85283 жыл бұрын
Apoyo la moción!
@omarcitorey14 жыл бұрын
Se mira genial HILT , listo para implementarlo en mi proyecto :D
@devexpert_io4 жыл бұрын
Está muy bien la verdad
@frigorifico914 жыл бұрын
Gran trabajo! Se agradece muchísimo tener un vídeo resumen con estas novedades. Con Hilt al no tener que crear una factoría para los VM, sabes si hay soporte para pasar argumentos de la activity o fragment por constructor en el VM junto con las dependencias de dagger?
@devexpert_io4 жыл бұрын
Sí, si te fijas en el ejemplo del repositorio (me acabo de dar cuenta de que no lo he puesto en la descripción), la activity de detalle recibe un extra del intent. Aún tengo que buscar si es la mejor opción, pero como los ActivityComponent inyectan por defecto la activity, puedes sacar dependencias de ella sin problema: github.com/antoniolg/architect-coders/blob/hilt-sample/app/src/main/java/com/antonioleiva/mymovies/ui/detail/DetailActivityModule.kt
@frigorifico914 жыл бұрын
Genial! Muchas gracias
@MayerOlivaresSalinas4 жыл бұрын
súper el video con la explicación precisa.
@devexpert_io4 жыл бұрын
Muchas gracias Mayer!
@adriannieves96604 жыл бұрын
Hola Antonio, muy bueno el video. Me gustaría ver como se comporta en el testing y la comparación con KOIN. Saludos!
@devexpert_io4 жыл бұрын
Genial Adrián! Pues me lo apunto también
@javiercardona64784 жыл бұрын
Muy bueno el video, espero que realice el video de como implementarlo en un modulo kotlin o java donde no esta el framework de android
@devexpert_io4 жыл бұрын
Perfecto Javier, me lo anoto!
@enriquemarin88424 жыл бұрын
Excelente vídeo y extraordinario canal. Una pregunta Antonio. Necesito pasar el contexto de aplicación para shared preferences al viewmodel. ¿Es correcto o puede originar fugas de memoria está acción? ¿Se puede inyectar el context de la aplicación con dagger/hilt? Gracias de antemano por tu atención.
@devexpert_io4 жыл бұрын
Se puede, sí. Sí es el de aplicación no hay problema. Hilt inyecta automáticamente el application en el ApplicationComponent, así que lo tienes disponible siempre como dependencia.
@enriquemarin88424 жыл бұрын
Muchas gracias por la aclaración y tu rapidez😀👌
@hsb120012 жыл бұрын
It is a great work, Congratulation.
@devexpert_io2 жыл бұрын
Thanks!
@FuadKamal4 жыл бұрын
The coolest part of this video is Antonio's awesome Samurai Android shirt. :)
@devexpert_io4 жыл бұрын
Haha, thanks I guess 😅. That means that the content is bad? 😆
@FuadKamal4 жыл бұрын
@@devexpert_io oh no, not at all. I just love that shirt. :)
@armandoquispeticona24103 жыл бұрын
Ahora que esta en Beta creo que es una muy buena opción para aprender :). Después de haber utilizado Koin probare esta version :)
@devexpert_io3 жыл бұрын
Si duda! Tengo pendiente grabar un nuevo vídeo actualizando las novedades
@aaronbautista14713 жыл бұрын
@@devexpert_io estaría super ese video
@devexpert_io3 жыл бұрын
Pues lo tenía grabado pero se grabó mal el audio, y ahora que estoy de baja paternal no o sé cuándo voy a poder hacerlo. Lo que sí pude actualizar es el artículo: devexperto.com/dagger-hilt
@ivanvarela50633 жыл бұрын
Me gusto el video pero si estaria bueno que el ejemplo de inyeccion de dependencia sea mas con ejercicio mas sencillo.
@devexpert_io3 жыл бұрын
Es un ejemplo relativamente sencillo, qué es lo que te ha resultado complicado?
@ivanvarela50633 жыл бұрын
@@devexpert_io Hola!estoy iniciandome en elmundo de la prograccion en android y con este video al ver un proyecto armado con mucchas cosas se me dificulta aprender. Si estaria genial empezar con un proyecto desde cero y con el tipico ejemplo en POO del auto(una forma de decir). Gracias!!
@devexpert_io3 жыл бұрын
Ah claro, has empezado muy por el final. La inyección de dependencias es algo para lo que hace falta tener muchos conocimientos previos. Para que te hagas una idea, en una formación que doy de 3 meses, esto lo damos cuando llevamos casi 2 meses y medio aprendiendo otras cosas
@seba235713 жыл бұрын
una consulta que tal esta la libreria kodein, se ve mas sencilla
@devexpert_io3 жыл бұрын
Hace mucho que no la uso, pero creo que es muy parecida a Koin. Buena opción también
@d-landjs4 ай бұрын
Excelente!
@devexpert_io4 ай бұрын
Gracias!
@jasalvador4 жыл бұрын
Genial vídeo! Desde que lo vi cuando lo presentaron tenía ganas de empezar a usarlo. Una duda que me surge, Si el ViewModel ya está anotado con @ViewModelInject es necesario también indicar en el módulo ActivityModule como se va a proveer esa dependencia? no sería suficiente con la anotación? Y si se quiere que sea retained, indicandole con la anotación @ActivityRetainedScoped no sería suficiente? Disculpa si es una pregunta estúpida. Venía ya mucho tiempo usando Koin y Dagger lo usé solo una vez. Ahora con Hilt, estoy volviendo a él. Muchas gracias!
@devexpert_io4 жыл бұрын
Sí sí, si lo inyectas con ViewModelnject ya no hace falta ponerlo en el módulo. Muchas gracias!
@devexpert_io4 жыл бұрын
Ah ya veo por qué lo dices, porque no lo borré en el código que nuestro durante el vídeo. Si quieres echa un ojo al código de ejemplo, que allí no está puesto. Lo tengo enlazado en la descripción.
@jasalvador4 жыл бұрын
@@devexpert_io Cierto muchas gracias!! Acabo de clonarme el repo y ahí no está. Todo aclarado, saludos!! =D
@isaimosso27644 жыл бұрын
Hola Antonio no se si llegaste a necesitar un viewmodel en un servicio en mi caso en FirebaseMessagingService, estoy migrando mi app de Koin a Hilt, pero tengo un problema con Hilt al momento de inyectar el viewmodel La segunda linea con KOIN excelente Tercera linea Es la del problema no reconoce viewModels()
@devexpert_io4 жыл бұрын
Habría que verlo a fondo, pero suena raro eso de usar un ViewModel con un Service, no? El ViewModel se usa para sobrevivir a los cambios de configuración de activities y fragments, pero un service no tiene esa situación. Imagino que Koin no está preparado para inyectar un ViewModel en un service porque no es un caso de uso habitual.
@andresjosemendezpachano13344 жыл бұрын
Sería bueno hacer un vídeo usando Google Chrome desde la instalación y usar emulador. Saludos
@devexpert_io4 жыл бұрын
Desde la instalación de Android Studio? Te refieres un tutorial de iniciación a Android?
@andresjosemendezpachano13344 жыл бұрын
@@devexpert_io si pero usando Chrome OS
@devexpert_io4 жыл бұрын
Aaah con Chrome OS. La verdad que no sé mucho al respecto. Se puede instalar en cualquier ordenador?
@andresjosemendezpachano13344 жыл бұрын
@@devexpert_io creo que no pero voy a investigar y te hago llegar la info
@ManishSputnik3 жыл бұрын
Muy buen vídeo! Aunque no tenga que ver nada con este vídeo, el hecho de indicarle el tipo a una variable para que Android no lo infiera, aunque sea mínimamente, ¿sabes si mejora el tiempo de compilación o ejecución de la aplicación? (que toda optimización por nimia que sea, bienvenida sea jejej)
@devexpert_io3 жыл бұрын
En ejecución seguro que no hay diferencia, porque el bytecode final es el mismo. En compilación no sabría decirte... No he visto comparativas ni nadie indicando que viera mucha diferencia
@butelo4 жыл бұрын
hola gracias por el vídeo, un pequeño comentario: en la docu oficial de hilt dice: "You must also annotate the SavedStateHandle dependency with @Assisted" cuando inyectas el viewmodel via constructor developer.android.com/training/dependency-injection/hilt-jetpack aunque tampoco explica el motivo
@devexpert_io4 жыл бұрын
Le echaré un ojo, la verdad que no sé muy bien a qué se refiere.
@blinkbyker3 жыл бұрын
Dónde puedo conseguir esa camiseta? D:!
@devexpert_io3 жыл бұрын
Esto eran ediciones limitadas, ya no se pueden conseguir 😔
@oscarescamilla56274 жыл бұрын
Espero esto ya jaja
@devexpert_io4 жыл бұрын
Genial! No falta nada!
@alanger75073 жыл бұрын
Estaba buscando tu repo q mencionaste pero no lo encuentro
@devexpert_io3 жыл бұрын
Esta es, voy a revisar la descripción del vídeo para ponerlo si no github.com/antoniolg/architect-coders/tree/hilt-sample
@devexpert_io3 жыл бұрын
sí, sí que estaba en enlaces relacionados, aunque un poco escondido.
@perezoso2103 жыл бұрын
Deberías de hacer la actualización de este video ya con calificadores para esos módulos que devuelven el mismo tipo de datos, ándale
@devexpert_io3 жыл бұрын
Ya está grabado, Perúy tardará unas semanas en salir
@perezoso2103 жыл бұрын
@@devexpert_io Eres un máster,saludos desde México
@moto_discover_015 ай бұрын
Horrible cuando explican un tema encima de un código ya hecho que además NO compila! Deberías aprender de ArisDev
@devexpert_io5 ай бұрын
Este código tiene 4 años amigo, es normal si no compila