Back To Schedule

Bug-Free JUCE UI

Structure Your GUI Code For Stability, Testability & Clean Architecture

11:20 - 12:10 Tuesday 12th November 2024 BST Bristol 1
Intermediate
Advanced

Do you want to:

  1. Build large-scale and small-scale applications with graphical user interfaces for clients?
  2. Confidently design your app’s UI architecture using a structured approach?
  3. Ensure your app is bug-free also in the UI code without laborous manual testing?

How many times have you opened your JUCE GUI app only to find something isn’t working?

How many times have you ended up with too much logic in your Component classes?

And how many times were you scared to start a new project because of the perceived size of the app and lack of confidence in how to design it or start coding?

Graphical user interfaces often suffer from testability problems and thus require a lot of manual testing. How can we overcome this issue? One approach is automated testing with sophisticated GUI analysis tools. However, an easier solution has largely been ignored by JUCE developers: the Model-View-ViewModel (MVVM) pattern, which has been successful in frameworks like Windows Presentation Foundation (WPF) and Android development.

What will you learn from this talk?

  • The differences between modern GUI architectures (MVC, MVP, MVVM).
  • How to design your GUI app architecture for scalability and maintainability.
  • How to reduce development time, costs, and stress by leveraging the power of the MVVM pattern in JUCE apps for clean and testable GUIs.
  • How to effortlessly test your GUIs in an automated way without even launching your app.
  • How to handle multithreading issues when interacting with GUI code.

Who is this talk for?

  • Mostly mid and senior JUCE developers.
  • Junior developers can benefit from learning about the scope of the problem and possible solutions. The talk draws heavily on JUCE concepts, so it may be somewhat challenging for those completely new to the JUCE C++ framework.

The talk will include real-world examples, a step-by-step guide, and additional helpful references for future self-study.

Jan Wilczek

WolfSound

I am an audio programming consultant and educator, the creator of TheWolfSound.com blog and YouTube channel dedicated to audio programming.

In 2023, I launched "DSP Pro," an online course on digital audio signal processing tailored for complete beginners. DSP forms the backbone of audio processing, crucial for applications such as DAW plugins.

I offer one-on-one coaching for ambitious students and aspiring audio programmers, providing personalized guidance to help them excel.

Beyond teaching, I work as a consultant and freelancer in audio programming. My main interests include C++, software architecture, and mobile development, especially as they relate to audio.

Since 2024, I have been in charge of JUCE's YouTube channel development.

I have published research on Virtual Analog modeling of distortion circuits using deep learning techniques.

Regarding my academic background, I graduated with honors from Friedrich-Alexander-Universität Erlangen-Nürnberg, completing an elite master’s program in Advanced Signal Processing and Communications Engineering. I also hold a Bachelor of Engineering in Acoustic Engineering from the AGH University of Science and Technology in Kraków.

I work from home in Katowice, Poland.