|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/android-11-tdd-masterclass/
课程评论:没有评论
课程名称:Android TDD大师班 - 协程与Jetpack 课程概述: 本课程由Petros Efthymiou主讲,通过构建真实的生产应用,学习最先进的Android开发技术。许多开发者在学习过程中感到困惑,尽管参加了多个课程和阅读了大量文章,仍然难以将所学知识应用于实际项目中。课程将解决这一问题,帮助学员有效整合Kotlin协程、Retrofit、Live Data、Hilt及Jetpack Navigation等技术,采用外部驱动的测试开发(TDD)方法编写真正的Android应用。学员将学习如何编写可靠的Espresso测试,以应对现实场景中的延迟和HTTP调用。 主讲人背景: 讲师具备8年的Android工程师经验,曾在多家初创公司及跨国企业任职,从初级到高级职位都参与过。在过去的5年中,他还担任软件讲师,曾于多所大专院校和公司授课,现为跨国公司Backbase的移动培训师,负责培训内部研发及服务工程师。 重要性: 随着职业发展的深入,工程师意识到使用良好的实践和方法比单纯完成任务更为重要。课程将帮助学员从编程初学者成长为能够应用软件工程最佳实践的高级工程师,并掌握测试驱动开发等更高级的实践方法。 结语: 在本课程中,讲师将分享其学习过程中获取的知识,并鼓励学员在论坛中交流以互相支持,共同在软件工程的道路上不断进步。
The TDD Masterclass by Petros Efthymiou.Learn State-of-the-art Android development by building a real production app.Are you following dozens of forums and articles and buying courses in order to move your development skills and career to the next level? I am, too, but more often than not, after completing them, I realize that there is still a HUGE amount of work left to be done to connect all the pieces together and make them work on a real application. I found that even though a course was providing comprehensive knowledge on coroutines, it didn't mean that I knew how to integrate them with Retrofit, Live data, or Hilt. And because another course was extensive on Test Driven Development after completing it, I didn't know how to write an application with TDD using the latest Android tech stack. After buying courses, reading articles & forums, and a couple of months of hands-on practice, I have finally learned how to combine Android 11 best development practices in an Android application.I created this course to make the process easier for you! You are going to learn how to combineKotlinCoroutinesLive DataKotlin FlowRetrofitHiltJetpack NavigationMVVMAnd complete a real Android application purely on Outside-In Test Driven DevelopmentYou are going to learn how to write not flaky espresso tests in a real scenario with delays and HTTP calls, without using Thread.sleep(). After all we wouldn't be doing TDD without efficient & effective Espresso UI tests!Why Me?Even though I am new to Udemy, I am not new to the industry. I have been working as an Android engineer from junior to lead positions in ambitious startups & large multinational companies for about 8 years. Being a good engineer, though, doesn't automatically mean that you are a good Instructor as well. In the past 5 years I have also discovered my passion for education and worked as a Software Instructor in several colleges and companies, including New York College, Hellenic American Union my current position is a Mobile Trainer in a Multinational company called Backbase, where I am trainingThe internal RnD engineersThe internal professional services engineersExternal third-party integratorsIn my lifetime, I have trained thousands of developers in classrooms, web conferences, and video courses.Why is it important?As we advance to more senior engineering levels, we realize that how we do things is equally important to get them done. The industry has started to realize that a serious software engineering company can no longer base its products on purely architectural and engineering practices.I often say that there are 3 stages in the advancement of an engineerIn the first stage, he/she is a programmer. He is learning how to make things work, e.g., how to add buttons in an Android application and handle its click. But is not aware of the importance of doing things well. He or she cannot realize that a purely structured system is certain to backfire in the long run, and while everything initially seemed to be going well, "suddenly," it is impossible to work with this system anymore. New features are hard to add, and bugs very often slip to production codeIn the second stage, having realized the past mistakes, the professional starts practicing and learning good engineering patterns. He or she starts exploring things like:SOLID PrinciplesDesign patternsClean architectureSeparation of concernsLow coupling, High cohesionUnit Testingand if is passionate and dedicated enough, manages to reach a more senior level, and is able to develop systems that can be successful not only in the short but also in the long runThe final stage is the Mastery. This stage is an ongoing process and doesn't ever end. After the engineer has a good understanding of the above practices, he realizes there is a huge room for improvement. He learns how to apply them and, most importantly, when they are not required, and simpler-junior level approaches are more beneficial for the specific project/situation. In other words, it is a constant effort to learn how to neverUnder-EngineerOr Over-Engineer.He or she also comes in touch with more advanced practises like Test Driven Development which takes quite a lot of effort to get a grasp and master it.In this course, I will do my best to advance you on this path. I will offer you what I have learned on my journey, and I am also very open to learning from you. I am always available on the forums to support and discuss topics that you might have a different point of view, and this way, we can help each other on our endless road to Software Mastery.