All Articles
In this blog, I share insights on software development, focusing on design principles and patterns to address complex business challenges. Topics like refactoring, test-driven development, and pair programming are covered, emphasizing how they contribute to more maintainable and enjoyable coding practices.
Software development is an intellectually stimulating journey. It's rewarding to overcome challenges and achieve a deep sense of satisfaction. This blog is where I document these enriching experiences, hoping to inspire and engage fellow enthusiasts in the art of coding.
Interview with Packt on my new book React Anti-Patterns
As an application grows and more code is added, the initial loading time can become noticeably longer. This delay, sometimes lasting several seconds, can frustrate users. To avoid this, it's essential to optimize loading times.
Juntao Qiu • 01/10/2024
Implementing Dynamic Import and Code Splitting
As an application grows and more code is added, the initial loading time can become noticeably longer. This delay, sometimes lasting several seconds, can frustrate users. To avoid this, it's essential to optimize loading times.
Juntao Qiu • 12/21/2023
Why Web UI Development Is So Hard?
The landscape of web UI development is fraught with challenges that extend beyond writing code and designing interfaces. The inherent language limitations, nuanced data management, async complexities, and often-ignored unhappy paths collectively make this a formidable field. Architectural decisions ...
Juntao Qiu • 10/10/2023
The 2nd Editor of Test-Driven Development With React
After several months of revising and editiong and rewording, finally "Test-Driven Development with React and TypeScript," is officially out!
Juntao Qiu • 09/07/2023
Test-Driven Development Mini Course
The Mini-Course on React and Test-Driven Development will provide you with the skills and knowledge to build robust, scalable and maintainable React applications.
Juntao Qiu • 02/01/2023
React Clean Code - mocking network scenarios
Handling network requests is complicated. There are too many cases you have to consider on top of the asynchronised process. And testing these code can be even more challenging...
Juntao Qiu • 12/21/2022
The Pragmatic Guide for React Network Programming
Fetching data from a remote server can be challenging, especially when you have to consider cache, re-fetch, error handling, timeout etc...
Juntao Qiu • 12/16/2022
If I Could Only Teach One Thing to a Beginner Developer
A few weeks ago, I got an interesting idea when I was writing a blog post about how to abstract your code to make it easier to reuse. I wanted to know what other developers think is the most important principle they would teach a newbie developer and why they would choose that design principle.
Juntao Qiu • 12/01/2022
Implementing Design System
So it’s not a single standard of how you would design at scale but a set of standards, and it is a visual language, which is important both by the user experience design and implementation...
Juntao Qiu • 11/19/2022
A story: from idea to product
As the saying goes: all great things have small beginnings. Even the most complicated product starts with a small and simple idea. And during the process of implementing it, even for a simple App like To Buy, there are many details to consider and polish.
Juntao Qiu • 10/28/2020
Different Levels of Abstraction
The ability of abstracting should be the most fundamental skill a developer should have, and I can't emphasise this enough. By abstracting, we can escape from the overwhelming seemingly irrelevant details to a solution that could solve all the problems at one go.
Juntao Qiu • 07/10/2020