Said Rehouni - iOS Dev
Said Rehouni - iOS Dev
  • 72
  • 65 753
Github Actions y Fastlane en iOS: Primeros pasos
Monta un sistema de Integración continua(CI) en iOS con Github Actions y Fastlane. Aprende los pasos necesarios para ejecutar tus tests en cada Pull Request que crees.
Recursos del video:
Github Actions: docs.github.com/en/actions/quickstart
Fastlane: docs.fastlane.tools/
Proyecto del curso de testing: github.com/srehouni/clean_architecture_tutorial_ios
Fastfile del proyecto: github.com/srehouni/clean_architecture_tutorial_ios/blob/main/CoinGekoiOS/fastlane/Fastfile
Workflow del proyecto: github.com/srehouni/clean_architecture_tutorial_ios/blob/main/.github/workflows/build_and_test.yml
Mis redes👇
Linkedin: es.linkedin.com/in/said-rehouni
Instagram: saidcoder
Tiktok: www.tiktok.com/@saidcoder
X(Twitter): saidcoder
Video de mi trayectoria profesional: ua-cam.com/video/euqyxo6S_x4/v-deo.html
Fundamentos de Clean Architecture: ua-cam.com/video/WoT2Pm4_Bw0/v-deo.html
Curso de Testing en Swift
ua-cam.com/play/PLy4xaLa5b6WOKKHopS5dMW17hmfxexyL1.html
Curso de Clean Architecture
ua-cam.com/play/PLy4xaLa5b6WPoXzJIwbrjQvbT5sPDJy3M.html
Principios SOLID
ua-cam.com/play/PLy4xaLa5b6WOPNB30QIhH8hTfwLa19rIG.html
Patrónes de Diseño: ua-cam.com/play/PLy4xaLa5b6WMxHDyTTGPrfobVdlvw8Y2H.html
Переглядів: 397

Відео

Mejora la Arquitectura de tu app con el patrón Functional Core Imperative Shell
Переглядів 3014 місяці тому
Aprende a utilizar el patrón Functional Core Imperative Shell para mejorar la capa de Dominio de Arquitectura. Código del ejemplo: gist.github.com/srehouni/518f8100e15ab195445a6d6645dded37 ¿Qué son las funciones puras?: ua-cam.com/video/DmRgRTnYlZk/v-deo.html Conecta conmigo en Linkedin: es.linkedin.com/in/said-rehouni Video de mi trayectoria profesional: ua-cam.com/video/euqyxo6S_x4/v-deo.html...
Mi Evolución Salarial como PROGRAMADOR IOS
Переглядів 6955 місяців тому
En este video te cuento mi evolución salarial en estos 9 años que llevo trabajando como Programador iOS, mi trayectoria profesional desde entonces y que haría para conseguir mi primer empleo a día de hoy. Web de salarios: www.levels.fyi/ Conecta conmigo en Linkedin: es.linkedin.com/in/said-rehouni Video de mi trayectoria profesional: ua-cam.com/video/euqyxo6S_x4/v-deo.html Principios SOLID 👇 ua...
Curso de TESTING en Swift [Parte 4]
Переглядів 2157 місяців тому
En esta cuarta parte añadiremos unit tests a todos los data source que hemos implementado en el curso de Clean Architecture, tanto de networking como de cache Si no has visto las partes anteriores aquí la tienes: Parte 1: ua-cam.com/video/Vdp2CIhkjNU/v-deo.html Parte 2: ua-cam.com/video/O9XfeoatlBQ/v-deo.html Parte 3: ua-cam.com/video/ZzCfiZaESdY/v-deo.html Fundamentos de Clean Architecture: ua...
Cómo me Convertí en PROGRAMADOR iOS (Mi experiencia + consejos)
Переглядів 3,5 тис.7 місяців тому
En este video te cuento cómo conseguí mi primer empleo de Programador iOS, mi trayectoria profesional desde entonces y que haría para conseguir mi primer empleo a día de hoy. Mis redes👇 Linkedin: es.linkedin.com/in/said-rehouni Instagram: saidcoder Tiktok: www.tiktok.com/@saidcoder X(Twitter): saidcoder Principios SOLID 👇 ua-cam.com/play/PLy4xaLa5b6WOPNB30QIhH8hTfwLa1...
¿Cuál es la Mejor ARQUITECTURA Para tu APP?
Переглядів 7858 місяців тому
¿Cuál es la Mejor ARQUITECTURA Para tu APP?
Patrón REPOSITORY (Repositorio) con CLEAN ARCHITECTURE en Swift
Переглядів 8158 місяців тому
Patrón REPOSITORY (Repositorio) con CLEAN ARCHITECTURE en Swift
Cómo Aprender PROGRAMACIÓN Desde CERO
Переглядів 2648 місяців тому
Cómo Aprender PROGRAMACIÓN Desde CERO
Curso de TESTING en Swift [Parte 3]
Переглядів 2229 місяців тому
Curso de TESTING en Swift [Parte 3]
5 CONSEJOS Para MEJORAR tus UNIT TESTS (Test unitarios)
Переглядів 2499 місяців тому
5 CONSEJOS Para MEJORAR tus UNIT TESTS (Test unitarios)
Curso de TESTING en Swift [Parte 2]
Переглядів 2099 місяців тому
Curso de TESTING en Swift [Parte 2]
5 Razones Para Aprender Los Principios SOLID
Переглядів 30111 місяців тому
5 Razones Para Aprender Los Principios SOLID
Curso de TESTING en Swift [Parte 1]
Переглядів 70911 місяців тому
Curso de TESTING en Swift [Parte 1]
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 5]
Переглядів 55911 місяців тому
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 5]
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 4]
Переглядів 582Рік тому
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 4]
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 3]
Переглядів 1 тис.Рік тому
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 3]
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 2]
Переглядів 2 тис.Рік тому
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 2]
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 1]
Переглядів 6 тис.Рік тому
Curso de CLEAN ARCHITECTURE (Arquitectura Limpia) en Swift [Parte 1]
Aprende los 3 Fundamentos de CLEAN ARCHITECTURE (Arquitectura Limpia) en iOS y Swift
Переглядів 11 тис.Рік тому
Aprende los 3 Fundamentos de CLEAN ARCHITECTURE (Arquitectura Limpia) en iOS y Swift
Cómo Integrar Feature Flags en iOS con Firebase
Переглядів 182Рік тому
Cómo Integrar Feature Flags en iOS con Firebase
¿Por qué deberías usar FEATURE FLAGS en tu app?
Переглядів 387Рік тому
¿Por qué deberías usar FEATURE FLAGS en tu app?
Algo que contar...
Переглядів 140Рік тому
Algo que contar...
Patrón de diseño FACTORY en Swift
Переглядів 6352 роки тому
Patrón de diseño FACTORY en Swift
Patrón de diseño BUILDER en Swift
Переглядів 5412 роки тому
Patrón de diseño BUILDER en Swift
Te muestro los SUELDOS de PROGRAMACIÓN en ESPAÑA, LATAM, UK y EEUU!
Переглядів 2782 роки тому
Te muestro los SUELDOS de PROGRAMACIÓN en ESPAÑA, LATAM, UK y EEUU!
Patrón de diseño FACADE en Swift
Переглядів 4492 роки тому
Patrón de diseño FACADE en Swift
Patrón de diseño ADAPTER en Swift
Переглядів 4872 роки тому
Patrón de diseño ADAPTER en Swift
Patrón de diseño STRATEGY en Swift
Переглядів 6793 роки тому
Patrón de diseño STRATEGY en Swift
Patrón de diseño DECORATOR en Swift
Переглядів 1,5 тис.3 роки тому
Patrón de diseño DECORATOR en Swift
🤑 APP STORE SMALL BUSINESS PROGRAM ¿QUÉ ES?
Переглядів 1203 роки тому
🤑 APP STORE SMALL BUSINESS PROGRAM ¿QUÉ ES?

КОМЕНТАРІ

  • @DevFabian-f2i
    @DevFabian-f2i 10 днів тому

    Muchas gracias por tu conocimiento, creo que en la clase "CanMakePayment", dentro del método "callAsFunction" creo que debía ser car.available > amount, corrijanme sii estoy mal gg.

  • @martinsantosguzman6513
    @martinsantosguzman6513 14 днів тому

    Llevo 3 semanas intentando realizar esto en aws pero no encontraba solucion a mi error, muchisimas gracias, enserio eres top

  • @luisenriquelagosamaya4420
    @luisenriquelagosamaya4420 17 днів тому

    He tenido personas que se dedican al desarrollo IOS exclusivamente y ganan 35% mas que el profesional promedio de programador de otras tecnologías

  • @gerardopacheco9521
    @gerardopacheco9521 Місяць тому

    muchas gracias, una duda en la practica el caso de uso es el primero en interacturar posiblemente con el front o con un controlador de un framework ? seria correcto una estructura en el backend de esta manera ? app/ ├── Http/ │ ├── Controllers/ │ │ └── UsuarioController.php │ └── routes/ │ └── web.php ├── hexagonal/ │ └── modulos/ │ ├── Usuarios/ │ │ ├── Aplicacion/ │ │ │ └── CasosDeUso/ │ │ │ └── RegistrarUsuario.php │ │ ├── Dominio/ │ │ │ ├── Entidades/ │ │ │ │ └── Usuario.php │ │ │ └── Repositorios/ │ │ │ └── UsuarioRepositorio.php │ │ └── Infraestructura/ │ │ └── Persistencia/ │ │ └── MysqlUsuarioRepositorio.php │ ├── Bitacora/ │ ├── Aplicacion/ │ │ └── CasosDeUso/ │ │ └── RegistrarBitacora.php │ ├── Dominio/ │ │ ├── Entidades/ │ │ │ └── Bitacora.php │ │ └── Repositorios/ │ │ └── BitacoraRepositorio.php │ └── Infraestructura/ │ └── Persistencia/ │ └── MongoBitacoraRepositorio.php

  • @freddyasencios8643
    @freddyasencios8643 2 місяці тому

    al parecer el metodo manageList deberia ser con el return func manageList() -> [Int] { return client.getList() } , o amplia por favor por que tendria que obtener valores en let listClient = listManager.manageList(), gracias por el video y la respuesta

  • @sebasy10
    @sebasy10 2 місяці тому

    Hola, estoy aprendiendo para ser ios developer. Hice el curso de ios y swift de la dra angela yu. Al terminar el curso que se centra principalmente en uikit, empece a estudiar por mi cuenta swiftui. Ahora ya hice mis propias app y las subi a gihub como repositorio.. me es muy dificil encontrar trabajo como junior o trainee. Lo que abunda es trabajo como sr o semi sr. Algun consejo para encontrar el primer trabajo? Aclaro que ya vengo ttabajando en administracion y sistemas en un estudio contable chico.. saludos y muchas gracias. Tus videos son una inspiración

  • @sebasy10
    @sebasy10 2 місяці тому

    Hola, estoy aprendiendo para ser ios developer. Hice el curso de ios y swift de la dra angela yu. Al terminar el curso que se centra principalmente en uikit, empece a estudiar por mi cuenta swiftui. Ahora ya hice mis propias app y las subi a gihub como repositorio.. me es muy dificil encontrar trabajo como junior o trainee. Lo que abunda es trabajo como sr o semi sr. Algun consejo para encontrar el primer trabajo? Aclaro que ya vengo ttabajando en administracion y sistemas en un estudio contable chico..

  • @repssets8202
    @repssets8202 2 місяці тому

    Muy buen vídeo! Con tanta experiencia laboral, podría ser interesante un vídeo con consejos para conseguir nuevos trabajos, linkedin, CV, etc 🙏🏻

  • @alexsalcedosilva4183
    @alexsalcedosilva4183 2 місяці тому

    Saludos, excelente aporte, soy nuevo en el desarrollo de iOS, tengo una view con un TextField y un Button, me gustaría saber como se hace una simple navegación de una view a otra mediante un click del botón (ejecuta la llamada a una api rest, su resultado pasa la información a otra pantalla para el detalle; el proyecto lo tengo planteado mediante el uso de MVVM, State, UseCase, Repository, RemoteDataSource, UrlSession) y he visto que para la inyección de dependencias tambié se puede usar el package Factory, lo recomiendan? De antemano agradezco la respuesta.

  • @diegovazquez3625
    @diegovazquez3625 2 місяці тому

    EXCELENTE VIDEO !!!

  • @ItsMateo-sy1mf
    @ItsMateo-sy1mf 2 місяці тому

    Buenas, estoy empezando en el mundo de la programación y entré al desarrollo de aplicaciones con Swift hace poco tiempo. Tengo un proyecto que una de sus funcionalidades que quisiera implementar es un sistema de notificaciones manejado por Firebase, mi duda es que si es necesario tener si o si una suscripción a developers en Apple para poder acceder a las notificaciones push. Gracias:D

  • @Ironcloud7
    @Ironcloud7 2 місяці тому

    Como haces para acceder a la entity payment (domain) desde la implementación del repositorio (interface adapters)? entiendo que desde la interfaz tienes acceso porque está en la capa de aplicación pero desde interface adapters te estás saltando 2 capas, con lo cual no tienes acceso. Llevo peleándome bastante tiempo con este tipo de problemas tirando de dtos para grabar en la BD pero no me convence. gracias de antemano.

  • @alejandromvp6457
    @alejandromvp6457 3 місяці тому

    Excelente video, me ayudaste a resolver algunas interrogantes en mi carrera de desarrollador IOS, excelente canal, saludos desde Chile

  • @maikolsoro1835
    @maikolsoro1835 3 місяці тому

    Soy developer android, quiero tener experiencia en swift, vale la pena emigrar de android a ios ?

  • @mityuobalke
    @mityuobalke 3 місяці тому

    eran clases de programacion no ejercicios de la vista

  • @gusinthecloud
    @gusinthecloud 3 місяці тому

    muy bien explicado, muchas gracias

  • @El-Ale115
    @El-Ale115 3 місяці тому

    Gracias me ha servido mucho este curso

  • @eduardoum6369
    @eduardoum6369 3 місяці тому

    Yo tengo ganas de estudiar una ing en software pero no se si ya voy tarde, considerando la competencia Tengo 25 años y no se si me conviene encaminarme ya por mi edad o mejor ver otra profesion o bien aprender por mi cuenta Que me recomienda con base en su experiencia y situaciones que ha visto a lo largo de su trayectoria ??

    • @SaidRehouni
      @SaidRehouni 3 місяці тому

      Nunca es tarde para estudiar, y menos ingeniería de software. He trabajado con gente de todas las edades. Venían de otras industrias totalmente diferentes y tras estudiar un bootcamp, una carrera o incluso por su cuenta consiguieron entrar en el sector y tener una muy buena carrera profesional. Te hablo de gente de 45 años. Si te gusta programar, adelante con ello. Estudiar una carrera o no depende de muchos factores. Si tienes buena disciplina y te organizas bien quizás los 4 años que te llevaría terminar la carrera podrías reducirlos a la mitad estudiando por tu cuenta, haciendo cursos y desarrollando proyectos propios. Si no eres tan disciplinado, quizás estudiar la carrera sea mejor opción. Además conoces gente muy interesante con la que podrías incluso acabar trabajando. La edad nunca va a ser un problema. Con 25 eres muy joven y seguramente habrás vivido experiencias y sepas mas de la vida que los de 18 o 19 años que recién entran a la universidad, y eso ayuda. Es cierto que la competencia ahora es muy alta en los niveles iniciales, por eso hay que ingeniárselas para destacar y que te vean a ti el primero. En este video hablo de mi trayectoria profesional y doy algunos consejos para conseguir tu primer empleo: ua-cam.com/video/euqyxo6S_x4/v-deo.html Espero haberte ayudado. Mucha suerte y ánimo con ello!

  • @lenerggonzalez8071
    @lenerggonzalez8071 3 місяці тому

    Yo he estado aprendiendo a puro videos de UA-cam desde hace unos 14 meses, no a full time porque tambien trabajo y a veces no me da el tiempo por tener la balanza equilibrada entre las cosas de mi hogar, mi familia, estudio y trabajo entonces siento que han sido muchos meses pero que al final son como 6 meses aprendiendo, me gusta mucho el desarrollo con SwiftUi, pero veo que trabajo para Juniors piden demasiado, ultimamente he estado pensando dejarlo todo y comenzar de nuevo con React para desarrollo web, OJO que me encanta el desarrollo iOS, pero tambien veo las oportunidades mas cercanas para un Junior, aparte que ya supere los 30 anos. Hoy conoci tu canal, fascinante. Saludos desde Nicaragua.

    • @SaidRehouni
      @SaidRehouni 3 місяці тому

      Te entiendo perfectamente. En mi caso estoy en una situación parecida, me gustaría crear mas contenido y dedicar mas tiempo a estudiar IA y otras cosas pero me se me complica mucho con el trabajo y la familia. Me gustaría responderte con 2 cosas. 1- Que hayas superado los 30 no importa en absoluto. He trabajo con gente que han aprendido a programar a los 40 y están teniendo una muy buena carrera profesional. Que no sea eso lo que te frene. 2- Si lo que mas te gusta es iOS, yo haría eso. No iría a por la tecnología que mas demanda tiene. Iría a por lo que me gusta más e intentaría convertirme en muy bueno en ello. Si empiezas a crear apps y las publicas, utilizando por ejemplo APIs gratuitas o la API de OpenAI, no creo que tardes mucho en conseguir un empleo como junior. Competencia vas a tener a donde vayas, lo mejor es convertirse en muy bueno en algo y destacar frente al resto. Mucha suerte y muchos ánimos! Seguro que lo consigues pronto.

  • @acidmusik
    @acidmusik 4 місяці тому

    Buenas!! cuándo tendrás la parte 5? sigo los videos con mucho interés :) gracias!!

    • @SaidRehouni
      @SaidRehouni 3 місяці тому

      Cierto! Ya va siendo hora de retomar el curso. Gracias por recordármelo, saludos!

  • @julio6025
    @julio6025 4 місяці тому

    Muy bien explicado que están en este video los conceptos de Clean Architecture. Como dato curioso, muy interesante el fondo de audio usado. Me hizo revisar varias veces a ver si no tenía el Call of Duty abierto en background jajaja

    • @SaidRehouni
      @SaidRehouni 3 місяці тому

      Jajaja es un mensaje subliminal.. Muchas gracias!

    • @julio6025
      @julio6025 3 місяці тому

      @@SaidRehouni Está muy bien como explicas. Sigue así mismo.

  • @fahd9799
    @fahd9799 4 місяці тому

    Es el mejor descubrimiento de este año, eres una Joya Said, Soy Fahd posiblemente un paisano tuyo, me alegro de haberte encontrado. soy JR Dev y muy entusiasmado de crecer, se agradece mucho un contenido como el tuyo. Un abrazo.

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Muchas gracias por tus palabras y por el apoyo Fahd! Posiblemente jaja. Nací en Marruecos y me vine a España con 4 años. Un abrazo!

  • @horacioserrano5430
    @horacioserrano5430 4 місяці тому

    No me queda claro como implementarias un caso de uso que debe acceder a datos, in que este dependa del acceso a esos datos. Me parece que lo mas logico seria tener un componente que maneje el acceso a datos y otro que lo consuma con lo cual pasa a depender de él. Con lo poco frecuente que es el cambio de BD, no me parece tenga sentido complejizar el proyecto, generando una infinidad de metodos para obtener entidades de la db. Por otro lado, traer datos desde la DB para procesarlos y luego enviarlos devuelta, es infinitamente mas costoso que operar directo en la db.

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Gracias por tu comentario, voy a intentar responderte a todos los puntos: En Clean Architecture, los casos de uso no dependen directamente del acceso a datos. En su lugar, definen una interfaz que describe las operaciones necesarias. La implementación de esta interfaz se hace en la capa de datos o infraestructura, y la interfaz pertenece a la capa de dominio. Esto es la inversión de la dependencia. Así, puedes cambiar la implementación sin afectar la lógica de negocio. Para esto se suele usar el patrón repository. Aunque los cambios en la base de datos no sean frecuentes, esta separación facilita pruebas y mantenimiento. No se reduce solo base de datos, es cualquier dependencia a un framework, una API o una librería. Cualquier cosa que sea externa a tu sistema. La idea es proteger la lógica de negocio de esos detalles. En términos de rendimiento, es cierto que puede ser más costoso traer datos de la base de datos y luego procesarlos. Sin embargo, en la práctica, Clean Architecture permite optimizar esto mediante estrategias como el uso de consultas específicas (CQRS) y técnicas de caching (entiendo que estas hablando de desarrollo backend). La arquitectura no prescribe que siempre debas traer todos los datos a la capa de negocio para procesarlos, sino que te da la flexibilidad de estructurar tu código de manera que puedas aplicar diferentes estrategias según las necesidades de rendimiento. No digo que siempre haya que usar Clean Architecture. Depende de muchos factores, de los cuales hablo en este video: ua-cam.com/video/ngPJ9_jMv8U/v-deo.html Un saludo!

    • @xxapoloxx
      @xxapoloxx 4 місяці тому

      En terminos generales, estoy de acuerdo con clean, no coincido en que valga la pena en el acceso a datos en particular.

  • @guillermocifre7466
    @guillermocifre7466 4 місяці тому

    Siempre había tenido curiosidad por saber como montar un sistema de CI. La verdad que muy 🔝. Como siempre agradecido por este tipo de contenido. Un saludo Said!!

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Muchas gracias Guillermo! Saludos!

  • @collinzuniga5410
    @collinzuniga5410 4 місяці тому

    La mejor explicación, al fin entiendo claramente todo❤

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Muchas gracias! Me alegra que te haya ayudado Saludos!

  • @BigWasi
    @BigWasi 4 місяці тому

    Muy buen curso Said! Eres un maquina! Muchas gracias por todo <3. He estado trabajando en un proyecto aplicando todos estos conceptos de CA, MVVM-SwiftUI pero me he encontrado con dos bloqueos importantes: - A la hora de utilizar frameworks con UI como hay que vincular la vista con el client? Al estar en la misma capa de CA (frameworks) he optado por implementar una vista importando el framework y el client en esta pero me da la sensación de que esta mal planteado. Como se pueden refrescar los datos cuando tienes una vista muy compleja y la partes en varias subvistas cada una con su propio viewmodel? Aplicando tu enfoque la unica forma que se me ocurre de propagar un cambio desde el childViewModel al ParentViewModel es usando closures. Es correcto? Por otra parte cuando SwiftUI recrea todas las subvistas al usar el factory estas se inicializan de 0 y se pierde su estado :(

  • @ismaelperezmesa524
    @ismaelperezmesa524 4 місяці тому

    Muchísimas Gracias Said! No solo por compartir de manera tan profesional y excelente tu experiencia y conocimientos, sino también porque escuchas a tu audiencia y nos ayudas con las necesidades reales que tenemos! En lo personal me estoy bebiendo este contenido porque es una de las areas donde hay mucha confusion, así que estaré al pendiente de todo lo que publiques al respecto de CI/CD. Otra vez Gracias Bro, eres un crack! Dios te bendiga siempre!

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Muchas por tus palabras Ismael! Tengo varias ideas para hacer más vídeos de CI/CD que espero poder grabar pronto. Gracias por el apoyo! Saludos

  • @joseledesmam5132
    @joseledesmam5132 4 місяці тому

    Muy buen consejo

  • @Rafaglg
    @Rafaglg 4 місяці тому

    Como siempre, muy buen contenido!! podrias hacer un tutorial de como seria las mejores practicar en hacer una migracion de una libreria a otra? gracias

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Muchas gracias! Me lo apunto Saludos!

  • @elmerluz0
    @elmerluz0 4 місяці тому

    Gracias por el video, explicas muy bien 👍.

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Muchas gracias! Saludos

  • @verdugordz
    @verdugordz 4 місяці тому

    después él ya quería algo mas relajado y seguía entrando a empresas pequeñas y exigentes jajaja

  • @ivanmadrid6738
    @ivanmadrid6738 4 місяці тому

    Excelente consejo. Real y directo. Saludos Hermano.

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Muchas gracias por tus palabras! Saludos!

  • @ArturoDevA
    @ArturoDevA 4 місяці тому

    hola tengo una duda en base a tu experiencia ya que soy nuevo en swift, en android tenemos dagger hilt y otras como KOIN para DI, en swift es recomendable usar alguna libreria para DI o es mas conveniente usar el patron factory ?

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      En Swift las más conocidas son Swinject o Resolver, pero sinceramente yo prefiero utilizar factories. En Android lo veo necesario, pero en iOS creo que no aporta tantas ventajas. Cuando se trata de librerías de terceros, mi opinión es cuantas menos tengas mejor. Saludos!

  • @samuellozada7675
    @samuellozada7675 4 місяці тому

    te ganaste un suscriptor

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Muchas gracias por el apoyo!

  • @sixto82
    @sixto82 4 місяці тому

    Ese cU li te jajajajaja SQLite? se escucha que vas a decir otra cosa.

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Jajaja ni me había dado cuenta

  • @ismaelperezmesa524
    @ismaelperezmesa524 5 місяців тому

    Excelente Said! Muy buena explicación. Gracias por compartir tu experiencia y conocimiento. Cómo podemos usar el patrón Unit Of Work e integrarlo en la arquitectura del proyecto que ya está usando este patrón de repositorio?

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      Perdona Ismael, acabo de ver tu comentario. El repository podría tener una dependencia con una clase que haga de Unit Of Work con métodos para insertar, actualizar y eliminar datos, y otro método para "actualizar" la base de datos una vez sean ejecutadas todas las transacciones correspondientes al caso de uso que se está ejecutando. El repository llamaría a cada uno de los métodos que necesite y la última linea de código llamaría al método actualizar del Unit Of Work para actualizar la base de datos con todas las transacciones. El Unit Of Work se encargaría de guardar en memoria todas las transacciones y en cuanto se llame el método actualizar, guardaría las transacciones en base de datos en batch. De esta forma garantizas que si una transacción falla, no se actualiza nada en base de datos. En mi caso nunca he tenido la necesidad de usar este patrón en iOS. Creo que tiene mas sentido en backend para garantizar la integridad de transacciones en base de datos ya que juegas con servidores y si una transacción sale mal, te cargas las integridad de los datos. Saludos!

    • @ismaelperezmesa524
      @ismaelperezmesa524 4 місяці тому

      @@SaidRehouni Muchas Gracias por la respuesta. Es genial el trabajo que haces y el conocimiento que compartes!

    • @SaidRehouni
      @SaidRehouni 4 місяці тому

      @@ismaelperezmesa524 muchas gracias a ti por el apoyo!

  • @mvegap
    @mvegap 5 місяців тому

    Muy buen curso! Aplicado a la vida real!

  • @guillermocifre7466
    @guillermocifre7466 5 місяців тому

    Como siempre muy 🔝🔝. Me gustaría comentarte una cosas y sería que si tú tuvieras que volver a aprender iOS, ¿por donde empezarías? Ya que ahora hay una época en la que se está entre dos aguas (Swift UIKit y SwiftUI). Por otro lado, ¿que consideras que sería lo fundamental para poder aspirar a un puesto de desarrollador junior? (Igual te da material para un vídeo jaja) ¡Un saludo!

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Muchas gracias! Esto da para un video si jaja. Me gustaría poder decirte que me centraría solo en SwiftUI, pero eso no es realista. Muchas apps a día de hoy tienen aún mucho código en UIKit, sobre todo las que tienen mas de 4-5 años de vida. En mi empresa por ejemplo, el nuevo desarrollo lo hacemos en SwiftUI, pero la mayoría de vistas son UIKit. Y eso pasa en muchas empresas. En mi caso aprendería UIKit básico (UIViewControllers, UIStackViews, AutoLayout con storyboards, navegación y poco mas - lo básico de UITableViews y CollectionViews), e intentaría dominar SwiftUI. Sabiendo esto podrás hacer mantenimiento en UIKit y crear vistas nuevas con SwiftUI. En cuanto a lo fundamental para un desarrollador junior, yo creo que debería ser capaz de crear una app simple que obtenga datos de una API y los muestre en una UI bonita. Con esto estarías tocando: UI - SwiftUI Networking - URLSession Algo de concurrencia - async await (quizás invertir algo de tiempo en mirar lo básico de DispatchQueue) Estaría bien meter Autenticación y Analytics también (Firebase te cubre ambas). Si a esto le sumas saber SOLID, algunos patrones de diseño y saber hacer unit tests, irías sobrado para tu primer puesto como junior. Pronto haré un video hablando mas en profundidad de esto. Saludos!

    • @guillermocifre7466
      @guillermocifre7466 5 місяців тому

      @@SaidRehouni muchas gracias!!

  • @rubenguinez92
    @rubenguinez92 5 місяців тому

    Muy claro. Como cada uno de tus vídeos ¿Cuándo un tutorial o tips sobre SwiftUI ? (pintando pantallas y la gestión de estados en iOS).

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Muchas gracias! Tips de SwiftUI suena muy bien, algo en especial que te gustaría ver? Saludos!

    • @rubenguinez92
      @rubenguinez92 4 місяці тому

      @@SaidRehouni Partiendo de lo más básico, por ejemplo cómo pintar una lista en UI desde un servicio que le provea datos.

  • @ismaelperezmesa524
    @ismaelperezmesa524 5 місяців тому

    Tienes toda la razón, sobre todo en el 3er consejo. Muy bueno el trabajo que estás haciendo. Saludos

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Muchas gracias por el apoyo! Saludos!

  • @acidmusik
    @acidmusik 5 місяців тому

    Muy top como siempre! a ver si puedes hacer videos de preguntas típicas que hagan en entrevistas. Por cierto, se oye muy flojo el audio :(

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Muchas gracias por el feedback! Me parece muy buena idea, me lo apunto. Gracias!

  • @jimmymac3548
    @jimmymac3548 5 місяців тому

    Brindas mentoría o asesoría?

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Actualmente no por toda la carga de trabajo que tengo. Quizás en el futuro me lo plantee. De todas formas si tienes cualquier pregunta déjamela por aquí y te responderé. Saludos!

  • @paologordillo162
    @paologordillo162 5 місяців тому

    Yo deseo aprender, lo que me limita es el hecho de no tener ningun equipo de la marca apple.

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      A mi me pasó lo mismo cuando empecé a aprender iOS. En mi universidad teníamos un laboratorio con iMacs e iba después de clase a aprender ahí. Si no tienes los medios quizás sea buena idea empezar aprendiendo Android y en cuanto consigas un trabajo ahorrar un poco para comparte una Mac. Android y iOS son muy similares. Mucha suerte!

    • @paologordillo162
      @paologordillo162 5 місяців тому

      @@SaidRehouni Muchas gracias por darte ese tiempo de responderme!

  • @josecaraballo3349
    @josecaraballo3349 5 місяців тому

    excelente video mucha calidad, muchas gracias sigue adelante saludos.

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Muchas gracias a ti por el apoyo!

  • @edugproduce7781
    @edugproduce7781 5 місяців тому

    Gracias por contar tu experiencia, la verdad que saber que sueldo cobrar con tu experiencia/conocimientos es algo jodido... Tendrías que mirar muy bien el actual mercado y evidentemente si estas en España filtrar por esos sueldos.

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Exacto! Hay muy poca transparencia en cuanto a los salarios en España. Por eso herramientas como levels son muy útiles para guiarnos un poco. Gracias por el apoyo!

  • @guillermocifre7466
    @guillermocifre7466 5 місяців тому

    Buen vídeo Said. Es impresionante lo que has conseguido. Gracias a ti y tus vídeos he empezado a estudiar, en mis ratos libres, para convertirme en iOS Developer!

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Wow! Me alegra mucho que hayas dado el paso. Mucha suerte y mucho ánimo, seguro que lo consigues muy pronto. Muchas gracias Guillermo!

  • @ismaelperezmesa524
    @ismaelperezmesa524 5 місяців тому

    Que buen e interesante contenido, de veras que ayuda mucho, sobre todo a los que estamos empezando! Quería sugerirte algún video o serie de videos sobre implementar CI/CD con algunos de estos proyectos de clean architecture que tienes, ya que es un tema urgente a día de hoy y complejo también. Otra vez Gracias Said!

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Pues es algo que iba a abordar en los videos del curso de testing ya que como dices es mas que necesario hoy en día. Pronto lo tendremos. Muchas gracias Ismael!

    • @ismaelperezmesa524
      @ismaelperezmesa524 5 місяців тому

      @@SaidRehouni Gracias bro, eres un crack!

  • @santiagobenitez2825
    @santiagobenitez2825 5 місяців тому

    Buen video Said, en mi caso trabaje casi 5 años como backend engineer, pero me encantó el desarrollo movil, actualmente trabajo como iOS Engineer en un senior level, siempre tratando de mejorar mis conocimientos para poder llegar a ser un tech lead. Tus videos de architecture han sido de gran ayuda un saludo.

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Muchas gracias Santiago! Seguro que lo lograrás pronto. Saber backend + un cliente te va a ayudar muchísimo a ser un gran tech lead. Muchas gracias por el apoyo!

  • @SaidRehouni
    @SaidRehouni 5 місяців тому

    Mi trayectoria profesional: ua-cam.com/video/euqyxo6S_x4/v-deo.html Fundamentos de Clean Architecture: ua-cam.com/video/WoT2Pm4_Bw0/v-deo.html

  • @ArturoDevA
    @ArturoDevA 5 місяців тому

    Buen ejemplo, yo tambien maneno mis casos de uso en domain en android y estoy aprendiendo swift y esta guia me ayudata bastante a replicarlo en swift

    • @SaidRehouni
      @SaidRehouni 5 місяців тому

      Muchas gracias por el apoyo! Me alegra que te este ayudando