70 Lecciones PHP 7, Laravel 5.3, 5.4 y 5.5 LTS.

Comparte en Facebook Twitter Google+

Banner del curso Crea una aplicación con Laravel

En las siguientes lecciones vamos a desarrollar una aplicación completamente desde cero utilizando PHP 7 y los nuevos features de las versiones más actuales de Laravel (desde la versión 5.3 hasta la versión 5.5 LTS).

Además vamos a utilizar otras tecnologías como:

Iconos de Laravel, Vue, Git, Codeship, Sass

Por lo cuál este curso nos va a permitir sintetizar muchos de los conocimientos que ya hemos aprendido en otros cursos de Styde como el curso de Laravel 5.1novedades de Laravel 5.2novedades de Laravel 5.3, novedades de Laravel 5.4, novedades de Laravel 5.5, Curso de Vue.js 2 entre otros.

Además este curso va a estar altamente enfocado al desarrollo orientado a pruebas automatizadas (conocido como TDD o “Test Driven Development”) para lo cual nos vamos a apoyar en el componente de pruebas de Laravel el cual es muy sencillo de aprender y utilizar.

¿Qué vamos a desarrollar?

En este curso vamos a desarrollar el nuevo foro de Styde el cuál va a ser una nueva vía para mantenernos en contacto, aclarar dudas, recibir peticiones, compartir recursos y más.

Computador con pruebas pasando

En este curso vas a aprender:

  • Back end: desarrollo de los módulos de la aplicación usando TDD.
  • Front end: integración del diseño del foro con el framework Bootstrap y el pre procesador Sass.
  • Comportamiento: utilización de JavaScript, Vue.js y por supuesto AJAX  para crear funcionalidad interactiva.

Por supuesto para desarrollar el foro vamos a requerir ciertos módulos como: categorías, posts, comentarios, usuarios, autenticación, entre otras.

1 – Instalación y configuración

2 – Creación de posts

3 – Detalle básico del post

4 – Listado básico de posts

5 – Módulo de comentarios y respuestas

6 – Markdown

7 – Suscripciones y notificaciones

8 – Registro y autenticación basado en tokens

9 – Laravel 5.4

10 – Seeders y categorías

11 – Listado avanzado de posts

12 – Módulo de votos

13 – Creación de un feature con Laravel y Vue.js

14 – Relaciones polimórficas

15 – Autenticación, parte 2

16 – Actualización a Laravel 5.5 LTS

Regístrate en Styde

Y obtén acceso inmediato a este curso y muchos otros, además de contenido nuevo cada semana, planes desde 9.99 USD al mes:

¡Regístrate ahora!

Duilio Palacios
Profesor:

Duilio Palacios

Programador y profesor de PHP y Laravel. Creador de Styde.net.

  • Ernesto Gerardo Liberio Vera

    Este Fin de mes ira destinado al estudio

  • Joosee Luuiss

    Hola, pregunto: laravel es o no MVC, los que venimos de laravel 4, como debemos adaptamos a al hecho que no esta definido el “Modelo” como antes, pues veo que en ningun curso de styde hablan de este paradigma, muchas gracias.

  • Joosee Luuiss

    Hola,
    Espero este mensaje de sugerencias lo encuentre bien;

    Sugerencias:
    a.) Seria interesante que con vueJS se pueda hacer la funcionalidad: de poder ir cargando los comentarios del foro que se van cargando, a medida que el usuario le da scroll a la pagina (algo similar a como lo hace whatsap o facebook) en lugar de paginar todos los comentarios.

    b.) Seria también importante que se pueda manejar cierto estado de los comentarios (como privados o públicos) por parte del usuario y que administrador siempre pueda decidir sobre los roles del usuario, dependiendo si este esta registrado en el sistema o si no lo está.

    c.) El foro deberá tener cierta lógica orientada a ser “constructivista social-académica” para poder recibir una efectiva retroalimentacion a un tema planteado en el foro.

    d.) Seria útil también que el foro pueda tener la oportunidad de poder subir un archivo –imagen o script — (con status publico) esto para el caso que el usuario quiera subir un script para su revisión, y el mismo archivo tenga la opción de poder ser leído (en un formato adecuado) por todos, ya que muchas veces hacer copy-paste a ciertos scripts no son muy legibles por terceros.

    e.) Por aparte, estoy satisfecho con styde.net, no obstante, seria bueno, plantear en cada lección los objetivos y definir una metodologia adecuada, aunque reconozco que mucho de lo aprendido en los videos basado a base de pruebas permite aprender algo muy importante y es el hecho de resolver los problemas que aparecen a medida que se va creando paso a paso, esto tiene un gran valor, tal vez el tema en si de la FACTORIZACION del código se podría orientar de mejor manera para no perder (o estar borrando) todas las posibles soluciones que se sugieren y aprenden, sería mejor dejarlas comentadas.

    f.) Los breanch de los cursos en git seria bueno etiquetarlos también.

    *******************
    Bien! Soy docente e-learning y estas son algunas sugerencias basadas en mi experiencia como tutor. Muchas gracias.

    • Duilio Palacios

      Buen día José Luis, gracias por las ideas

      a.) Usaremos Vue para ciertos features en la parte final del curso, el scroll de comentarios lo tendremos en cuenta.
      b.) También lo he considerado sobretodo para el foro de Styde pero no a nivel de comentarios sino de posts. No estoy seguro si tener un topic con comentarios públicos y privados sea lo ideal, después de todo es un foro y se puede perder el hilo de conversación.
      c.) Tendré en cuenta los hashtags, había pensado ya en etiquetar usuarios.
      d.) Markdown para esto. Lo de la imagen no estoy seguro, hay muchos servicios externos para subir imágenes.
      e.) ¿A qué tipo de metodología a qué te refieres exactamente?
      f.) Lo tendré en cuenta sobretodo para las lecciones que tienen ejercicios.

      Saludos.

      • Joosee Luuiss

        d.) si hay servicios externos para subir imagenes, pero laravel tiene el propio, y seria interesante ponerlo en el ejercicio.
        e.) la metodologia?!!, yo diria algo mas orientado a proponer el ejercicio a resolver, previo a improvisar sobre la marcha el ejercicio en si, no se si me explico bien, pues a mi parecer a veces me da la impresión que aunque tu (el tutor) si tiene en su mente clara la idea hacia donde va con un ejercicio, el lector (el estudiante) esta a expensa de lo que haras (dejando de un lado el como lo haras, pues allí no tengo comentarios), como pasa con el “juego de extrategia” del curso de POO, donde sobre la marcha indicas ….y que pasa si tiene armas, …y que pasa si le pongo armadura, etc.
        No se si me doy a entender bien.

        Gracias.

        • Duilio Palacios

          Buen día de nuevo José Luis,

          Si buscas aprender a subir archivos e imágenes puedes ver las lecciones del curso de Laravel 5.3 en la parte de “Subida, manejo y validación de archivos”: https://styde.net/curso-de-novedades-en-laravel-5-3/ Yo no he contemplado agregar subida de archivos al foro, podría ser un nice-to-have o bonus pero no está en el plan del curso.

          La metodología del curso es TDD: primero se escribe la prueba que define el feature a desarrollar, se explica porqué es necesario antes durante o después de definir la prueba y luego se desarrolla el feature paso a paso y al final del video se da una conclusión de lo logrado y por lo general qué se va a hacer en la lección siguiente.

          Este curso llevo meses preparándolo y deberías darle oportunidad a ver las lecciones de desarrollo y no sacar una conclusión con las 7 primeras lecciones que eran sólo instalación y configuración. Por cierto ayer publiqué las primeras 4 lecciones de desarrollo que siguen prácticamente lo que describes arriba sobre definir el ejercicio, etc.

          Saludos.

          • Duilio Palacios

            Se me pasó mencionar que con respecto a “hacerlo de 2 formas distintas” a mí me gusta que el estudiante pueda conocer más de una forma de resolver un problema, para que no se sorprenda sobretodo cuando trabaje con código de terceros, y si te parece improvisación que escriba una solución y luego la cambia, precisamente ese es el proceso de desarrollo, escribes algo, luego lo vas ajustando y modelando, con las pruebas es mucho más fácil refactorizar o incluso equivocarse puesto que las pruebas te avisan.

            Este curso quiero que de la impresión de que están más a mi lado acompañándome a desarrollar un proyecto desde cero más que ver una lección “perfecta” que no describa el proceso real de desarrollo.

          • Joosee Luuiss

            Muchas gracias por tus comentarios Duilio! y tomó nota de las mismas, saludos.

            Por cierto existe alguna versión gratuita de phpStorm? que sea fácil adquirir.

            Gracias nuevamente.

          • Duilio Palacios

            Creo que tienen un plan gratuito si eres estudiante o profesor universitario, sin embargo hay otros gratuitos como Aptana o Netbeans, o puedes comprarlo. Muchos saludos.

          • Jarod

            Si, yo lo tengo por universitario y como voy a asignatura por año en la de a distancia xD

            PD: Después de todo lo que has escrito… borras tus comentarios y pones un simple ok? Si tanto te preocupabas por sugerir metodologías para lo comunidad dudo que eso sea una buena práctica.

          • Joosee Luuiss

            Respondiendo a tu PD:
            No sabía que tenia que pedirte permiso. Te aclaro que mi conversación y sugerencias eran para personas de styde.net

            Pero con el nuevo foro tal vez esté la oportunidad de mensajes privados.

            PD: Por cierto a la comunidad se le contribuye con código útil no con platicad estériles.

            Saludos amiguito? criticon

  • Victor Rincón Aquino

    En este curso podremos ver API REST y autenticacion por token?

    • Duilio Palacios

      Habrán algunas lecciones sobre API, autenticación de token creo que no será necesaria en este caso.

      • Joosee Luuiss

        como se haría si quisiera hacer un servicio rest que reciba un xml y lo pase a json? hay algun materia al respecto en styde.
        Gracias.

  • Joosee Luuiss

    Hola Duilio, tu has borrado unos mensajes que envie por styde?

    • Duilio Palacios

      Sí, José Luis, esta página es para hablar sobre el curso no para riñas entre usuarios. Saludos.

      • Joosee Luuiss

        jajaja, eso digo yo. Saludos.

      • Joosee Luuiss

        Delete post :)

  • Joosee Luuiss

    Hola, ya tengo mi version de phpStorm para trabajar el proyecto, pregunto:
    1. que tema de font-color de phpStorm estas usando en los videos?
    2. que configuracion recomiendas (o algun pluing snippet) para este IDE?

    Veo que ayuda mucho los hint de este IDE :D

    Gracias.

    • Makoto

      1. creo que es material theme

      • Joosee Luuiss

        muchas gracias!!!

    • Yerson

      Es material Theme – darker theme https://github.com/ChrisRM/material-theme-jetbrains

      • Joosee Luuiss

        muchas gracias!!

    • Juan Gamarra

      Posiblemente es alguno personalizado.
      Los plugins recomendados serian.
      El plugin de laravel y mas adelante el de vue.js

      ¿Como se instalan? Google lo sabe todo :D

      • Joosee Luuiss

        muchas gracias!

  • Joosee Luuiss

    oracle sql se puede conectar a laravel? si la respuesta es si, porque no viene esta configuracion por default en laravel?

  • Joosee Luuiss

    Como consumir un soap rest (remoto osea generado en otro dominio) en formato xml , en mi proyecto laravel y pasarlo a json.

    Gracias.

  • Agatha

    Duilio muchas gracias por tus tutoriales, excelentes. Te consulto, dado que mi base de datos esta en español (tablas y campos), como puedo configurar la entidad Usuario como la predeterminada en vez de User?.
    Muchas gracias por la colaboración.

    • Cris

      Puedes manejar tus tablas en español y modelos en ingles si lo deseas.
      EJ: Tienes la tabla usuarios, pero el modelo se llama User, si quieres relacionar ambos solamente crea dentro del modelo User una variable llamada protected $table = ‘usuarios’; y listo, modelo y tabla relacionados.

      • Agatha

        Muchas gracias Cris, lo voy a realizar.

  • Joosee Luuiss

    cual es la mejor practica para actualizar de php 5.9.x a 5.6.x o php 7 en ubuntu? gracias

  • GERMAN M

    Dulio vas a incluir en esta aplicacion respuestas de los usuarios en los comentarios de los post ?

    • Duilio Palacios

      Hola German, sí, por supuesto, las lecciones 18 a la 22 que subiremos esta misma semana tratan sobre ese tema. Saludos.

      • GERMAN M

        Excelente Graciass

  • Agatha

    [email protected], no se sí solo me pasa a mí, pero el módulo de autenticación como register y login de Laravel 5.3, no me está saliendo los mensajes de error al pie de cada campo. Al instalar Laravel 5.2 si funciona.
    https://uploads.disquscdn.com/images/26898c267b2a939272bdab771d108b9d2e1b1304a877503761f602ae9044ae4e.png

    Agradezco su valiosa ayuda. 1000 Gracias :)

    • Clemir Rondón

      Hola @dmsagatha:disqus has revisado la vista register si tienes la clase help-block por ejemplo para name:

      • Agatha

        Hola Clemir, muchas gracias. A mí me funciono eliminando “required autofocus” del input, porque lo estaba validando el navegador.

        Felices fiestas.

  • Joosee Luuiss

    Hola, una pregunta paralela al curso pero relacionada con vueJS:
    Como consumir unos .xml en un servicio rest utilizando vueJS,

    gracias.

  • Miguel Leon

    Hola Duilio. Me pueden ayudar con el link para clonar el curso. Gracias

  • Joel Cespedes

    Hola Alguien me puede ayudar agregar mercadopago en laravel?..

  • Alvaro Neira Rojas

    Cuando seguirán actualizando el curso?

    • Duilio Palacios

      Gracias por seguir nuestro curso, @alvaroneirarojas:disqus Publicaremos más lecciones esta semana.

  • Daniel Espinosa

    Hola @duilio_palacios:disqus tengo problemas con las pruebas el “DatabaseTransactions” no esta devolviendo mis transacciones por la tanto mis pruebas siguen fallando. hice la pregunta completa en los comentarios de “7 . Personalizar el directorio tests de tu aplicación”, hace mas de una semana y nadie me a ayudado. necesito saber que pasa para continuar con el curso.

    • Duilio Palacios

      Hola @disqus_6TrSrZD9op:disqus, ¿Estás utilizando MySQL con el motor InnoDB?

      • Daniel Espinosa

        @duilio_palacios:disqus estoy usando MySQL intente con posgreSQL pero obtuve otro error con el plugin de conexión.

  • Cristian Vega

    Disculpen la pregunta, alguien sabe como puedo guardar en un campo numero consecutivo que empieze en 000001 y se vaya incrementando cada vez que se guarda un registro.Gracias

    • John Edisson Ortiz Román

      Al momento de crear el campo, debes agregarle la propiedad (zerofill)

      • Cristian Vega

        En la migracion o en el controlador?.

        • John Edisson Ortiz Román

          En la migración, deberías agregar un statement, similar al siguiente

          DB::statement(‘ALTER TABLE tabla CHANGE id id INT(25) UNSIGNED ZEROFILL NOT NULL’);

          Aunque, yo personalmente no te recomiendo realizar este cambio, aunque depende de tus necesidades.

          • Cristian Vega

            Apenas estoy creando la aplicacion entonces creo que no habria problema al hacer el cambio muchas gracias por su ayuda.

          • John Edisson Ortiz Román

            Pues depende de lo que quieras hacer…. por ej: si lo único que necesitas es mostrar ese id con los ceros a la izquierda, deberías optar por un “mutador” en vez de realizar dicho cambio en la base de datos.

  • Joel Cespedes

    he estado buscando en esta web la manera de contactarlos pero veo que la única manera es esta.. me cobraron 2 veces el monto mi mensualidad en dolares… Con quien me contacto?

    • Rafael Torrealba

      @joelcespedes:disqus Te recomiendo que escribas a [email protected] para que solucionen tu situación. Saludos.

    • Duilio Palacios

      Ayer te respondimos, @joelcespedes:disqus, no hubo un error realmente, los 2 pagos uno corresponde a Diciembre y otro corresponde a Enero, recuerda que puedes solicitar la cancelación de tu cuenta cuando quieras a [email protected] (y para cualquier otra duda o solicitud también puedes contactarnos a [email protected]).

  • Julian Niño

    Gracias por los buenos tutoriales, hace poco pague inscripción, Duilio una pregunta, lo que se ve en el curso de 1ra app con Laravel 5.0 se ve
    aquí ?, tengo duda si empezar con ese curso o con este….gracias

    • Duilio Palacios

      @juliannio:disqus Gracias por apoyar nuestro proyecto, es de mucha ayuda. Yo estoy creando nuevos cursos con la intención de crear material más nuevo y actual que reemplace a los cursos anteriores. Crea tu primera aplicación con Laravel 5.0 y 5.1 es un buen curso y puedes verlo si tienes tiempo libre, aprenderás muchos tips. Pero si sólo tienes tiempo para hacer 1 curso puedes hacer éste que es más actual y además cubre TDD desde el principio.

      Muchos saludos.

  • Jose Alfonso

    tulio, soy principiante en laravel, puedo iniciar con esta versión o mejor empezar desde las anteriores. gracias.

  • Miguel Rodríguez

    Gracias por todo el material (contenido, técnicas, comentarios, calidad de videos) Duilio y equipo! Un placer pertenecer a esta comunidad.
    Tengo dos consultas:
    [1era ] ¿Tienes estructurado el desarrollo de las otras partes del curso: Frontend y Comportamiento y si tienes una fecha estimada de finalización del curso completo?

    [2nda] ¿Es posible que los videos tengan enlace al anterior y siguiente lección? Yo los veo a pantalla completa y cada que finaliza debo salir y buscar el enlace para el siguiente.

    Muchas gracias.

    • Duilio Palacios

      Hola Miguel, prefiero no dar una fecha de finalización puesto que las partes posteriores del curso dependerán mucho de la participación de la comunidad (resolviendo ejercicios + el tema del certificado que comenté en Slack).

      Pero frontend y comportamiento son 2 partes más pequeñas, es simplemente arreglar los estilos usando Bootstrap / Sass, y una demostración de cómo implementar features con JavaScript y la idea hasta ahora es usar Dusk + Vue.js.

      Si has seguido todo el curso hasta ahora te habrás dado cuenta que hasta la sección 34 hemos creado la mayoría de los módulos y que ya debes tener una muy buena idea de cómo escribir aplicaciones con Laravel y TDD.

      Mientras publicamos el resto de las lecciones te invito a que practiques enviándonos tus pull requests con las soluciones de los ejercicios al repositorio de Styde y revises el resto del material de nuestro sitio como el curso de Novedades de Laravel 5.4 y de Git que ya están completos.

      Saludos.

  • Juan Manuel

    Hola! Te hago una consulta, quiero meterme en Laravel pero quiero empezar desde 5.4, se puede? o si o si tendria que pasar por los anteriores? Pregunto esto por qeu lei que hay cosas que van cambiando segun la version del Laravel y no quiero aprender a hacer algo con la version vieja y despues tener que cambiar todo. Gracias!

    • Duilio Palacios

      Hola @juanmanuelcaffi:disqus, la cuestión es que Laravel 5.4 salió hace un mes aproximadamente, y es imposible regrabar todos los cursos de Styde (o de otras plataformas) en tan poco tiempo. Los cambios comparados con la versión 5.3 son pequeños, de hecho este curso lo actualicé a Laravel 5.4 en 20 minutos (lección 34).

      Por otro lado las novedades de Laravel 5.1, 5.2 y 5.3 están presentes en la versión 5.4. Además hay muchos proyectos en el mercado que usan 5.1 LTS o las otras versiones de Laravel, incluso (lamentablemente) hasta 4.2.

      Lo que quiere decir que aunque salgan versiones nuevas el resto del contenido / conocimiento puede ser muy útil.

      Saludos.

      • Juan Manuel

        Perfecto! Al final estoy con el primero: “Curso Primeros Pasos con Laravel 5.*” voy a ir haciendo todos en el orden que corresponde ;)!

  • Joosee Luuiss

    cuando va a ver en styde un curso full vueJs, gracias.

  • alejo

    Aun no empiezo y ya estoy emocionado con este curso! gracias !

    • Duilio Palacios

      ¿Ya te inscribiste en Styde? ¿Qué tal te ha ido con el curso?

  • Lenin Che

    Tengo que admitir que tengo ganas de suscribirme, pero aun no estoy 100% convencido.
    ¿Que tan antiguo es el curso?
    ¿Que tan importante es el TDD?
    ¿Puedo iniciar el proyecto directamente en Laravel 5.4 o debo hacerlo con 5.3 y luego actualizarlo con los 3 videos que se tienen aqui? (Por la respuesta de abajo, entiendo que debo seguir el curso en Laravel 5.3 y luego actualizarlo).
    ¿Cuanto futuro se le ve a vue.js?

    • Duilio Palacios

      Hola Lenin,

      * El curso tiene menos de 6 meses.
      * TDD no es importante, es ESENCIAL en el desarrollo a nivel profesional
      * Recomiendo iniciar con 5.3, actualizar a 5.4 tomó 20 minutos, sin embargo es más cómodo que sigas el curso con la misma versión que yo usé al momento de grabarlo
      * Vue tiene mucho futuro, su popularidad va en aumento (https://trends.google.com/trends/explore?q=vue.js) y es muy fácil de aprender y usar

      En Styde hay además más de una docena de cursos extra que puedes ver con la suscripción + el acceso a la comunidad donde hay aún más material y soporte.

      • Lenin Che

        Hola de nuevo Duilio Palacios.

        ¿Cual es la diferencia del Curso Vue 1 con este de Laravel 5.3?, si ambos integran Laravel y Vue.js

        Saludos.

  • Jason Garcia

    Que tal buen día! Tus cursos están excelentes la implementación de Passport la veremos Próximamente en styde?

    • Duilio Palacios

      Más adelante crearé una serie de Passport.

  • Agatha

    Hola Duilio. Por favor me podrías indicar de donde puedo bajar el material del curso, ninguno de los enlaces en GiHub funcionan. Muchas gracias.

    • Duilio Palacios

      Hola @dmsagatha:disqus, por favor escríbeme en Slack en el canal #app para enviarte la invitación. Debajo de cada lección encontrarás un botón para unirte (en caso de que aún no tengas acceso).

  • Makoto

    Hola Dulio, también se realizara un modulo para administradores y/o moderadores?

    • Duilio Palacios

      No como tal un módulo aparte, pero usando el componente de permisos incluido con Laravel, haremos que los usuarios de tipo administrador puedan borrar cualquier post, comentario e incluso usuarios (una parte la trabajaremos en las lecciones de video y otras como ejercicios para discutir dentro de nuestra comunidad).

      • Makoto

        perfecto, eso es lo que quería saber como identificar a un administrador de un usuario y definir acciones para cada uno de ellos. gracias :3

  • Agatha

    Holas, un saludo. S.O.S. Necesito hacer un Mutador para cambiar el valor de un campo al momento de ser guardado el registro. Tengo tres campos: garantiainicio, garantiafin y diasgarantia y el que debe cambiar es diasgarantia después de hacer una verificación. Lo he intentado de varias formas y no me funciona. He aquí dos opciones, que no me funcionan:
    PRIMERA:
    public function setDiasgarantiaAttribute() {
    $today = Carbon::now();
    $garantiainicio = Carbon::createFromFormat(‘Y-m-d’, $this->attributes[‘garantiainicio’]);
    $garantiafin = Carbon::createFromFormat(‘Y-m-d’, $this->attributes[‘garantiafin’]);

    if ($garantiainicio = $today) {
    $this->attributes[‘diasgarantia’] = $garantiafin->diffInDays($today);
    } else {
    $this->attributes[‘diasgarantia’] = 0;
    }
    }
    SEGUNDA:
    public function setDiasgarantiaAttribute($value) {
    $today = Carbon::now();
    $this->attributes[‘garantiainicio’] = Carbon::createFromFormat(‘Y-m-d’, $value);
    $this->attributes[‘garantiafin’] = Carbon::createFromFormat(‘Y-m-d’, $value);

    if ($this->attributes[‘garantiainicio’] attributes[‘garantiafin’] >= $today) {
    $this->attributes[‘diasgarantia’] = $this->attributes[‘garantiafin’]->diffInDays($today);
    } else {
    $this->attributes[‘diasgarantia’] = 0;
    }
    }

    Agradezco mucho la colaboración recibida.

  • Rodrigo

    Buenas, es un gran curso el que se proporciona, solo pediría que respondan los comentarios de los videos por favor, hay dudas que requiero subsanar

    • Hola Rodrigo. ya estas en Slack?. https://styde.slack.com, allí encontraras 3 canales #General #Laravel5 #Random donde podras elevar tus inquietudes.

      • Ricky Muñoz

        Bueno si solo responderán en Slack entonces deberían retirar esta opción de comentarios, ya que confunde a la gente y parece no ser tan necesaria aquí.

  • Ness Román

    Hola Duilio, me sigue pareciendo DOBLE trabajo el TDD, hago cosas demasiado complejas en las plataformas que programo y siempre caigo en la necesidad de que con TDD no se puede validar todo ni comprobar todo. A veces me siento frustrado ya que no he encontrado la manera en que TDD me llene completamente a la hora de trabajar de esa forma. Sigo sintiendo en que pierdo tiempo haciendo el módulo de test, para que al final no se pueda testear todo. Siento que despúes de hacer el Test, todavía queda por tirar mucho código y siento como si trabajara doble. No he podido con esa sensación… la ÚNICA VENTAJA que le he visto a usar TDD es cuando trabajas con equipos muy grandes en donde debes pasar especificaciones a los programadores y puedes usar TDD para definir esas funcionalidades… pero sigo pensando en que ganas COLABORACIÓN pero pierdes RAPIDEZ a la hora de desarrollar, puesto que (casi) se “trabaja doble”.

    • Duilio Palacios

      Hola Ness Román, entiendo que hay partes de un sistema que sean difíciles de probar de forma automatizada y que a veces no quede de otra que probar de forma manual. Eso pasa en muchísimos sistemas y esa sensación no te ocurre únicamente a ti. Si hay una parte que te esté resultando muy difícil / compleja de crear una prueba, simplemente pruébala de forma manual, tendrás la carga de probarla manualmente cada vez que tú o alguien más haga un cambio en el sistema o antes de hacer deploy a producción, pero puedes vivir con eso.

      El hecho de que no puedas probar TODO el sistema de forma automatizada (con PHPUnit, etc.) no es una excusa ni un motivo para decidir no escribir ninguna prueba en absoluto. Es mejor tener pruebas que prueben por ti el 80% o aunque sea el 50% del sistema, que tener 0%.

      Además de esto cada vez contamos con más y más herramientas para probar nuestras aplicaciones, como Laravel Dusk, por ejemplo que salió este año, si personas como Taylor y otros grandes de la industria como Uncle Bob, Martin Fowler, etc. le dedican tanto tiempo a hablar sobre las pruebas automatizadas es por una razón.

      Yo también puedo decir que he pasado o paso mucho tiempo escribiendo pruebas, pero ahora paso muchísimo menos tiempo abriendo el navegador y probando de forma manual, también he pasado menos tiempo leyendo reportes de bugs / issues que dejé pasar a QA o peor aún al cliente. Cuando QA o el cliente me han señalado un error o falta es siempre sobre código que no estaba probado de forma automática.

      • Gran comentario. Lo que hay que destacar de este comentario es esta parte: “Es mejor tener pruebas que prueben por ti el 80% o aunque sea el 50% del sistema, que tener 0%.”

        Y de mi parte añadiría lo siguiente: programar bien siempre da la sensación de hacer más trabajo (duplicado) al principio, sin embargo, a la larga es lo mejor que se puede hacer, pues permite mantenimientos del producto más sencillos y seguros. ¿Qué es más fácil y rápido, copiar y pegar un código que es casi igual (que ya tienes de otro lado) y cambia apenas una cosa o tener que refactorizar creando una función que dé cabida a ambas situaciones con el mismo código fuente, elaborando condiciones? Pues es más fácil copiar y pegar, pero cuando tengas que mantener eso tendrás que recordar que los cambios deberán repetirse donde se copió ese código (si es que te acuerdas, que es muy probable que no).

  • Alejandro Sulbaran

    Buen día, amigo me tiene un poco mareado casi todos los conceptos que manejas, dame una recomendación por dónde empezar estos cursos además del “primeros pasos” por qué de verdad no puedo ver un vídeo sin quedar con más dudas que repuestas

    • Duilio Palacios

      Hola @alejandrosulbaran:disqus, si hay algo que tiene este curso es material relacionado, revisa en https://styde.net/cursos/ Dependiendo del tema que “te maree” podrás aprender bastante ¿Git? ¿Manejo de terminal? ¿Programación orientada a objetos? ¿Features de Laravel? Todos estos temas ya están cubiertos en el resto de los cursos. Este es un curso donde se practican todos esos conocimientos. En breve comenzaremos con Vue y Sass y por supuesto también tenemos un curso de Vue y otro de Sass en Styde :)

  • Mauricio Molina

    Hola Duilio por favor agrégame al GitHub, mi usuario es megatron78, gracias de antemano.

    • Duilio Palacios

      Hola @disqus_gnYwusImDp:disqus, debes solicitarlo en el canal #app de nuestro Slack. Únete por favor. Saludos.


Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.