MATLAB Answers

Will uicontrols eventually be fully deprecated?

6 views (last 30 days)
Tim
Tim on 19 Oct 2021
Commented: Image Analyst on 20 Oct 2021
In R2020a I've found gui's made using uicontrols load much faster and, in general, seem much "snappier" than guis made using uifigures / appdesigner. While acknowledging that the appdesigner can make prettier user interfaces, I find the lack of snappiness irritating to the point that I'm still working with uicontrols almost exclusively. I've read that the relative sluggishness of appdesigner guis is something other people have experienced as well (though whether it is noticed is probably dependent on whether or not the designer is comparing to guis built with uicontrols... expectation is everything). In short:
  • Is the lack of snappiness a swing vs. javascript inevitability, or is it just the result of initial growing pains as Matlab transitions to javascript-based gui development, and the performance of uifigure guis will converge to swing-based guis?
  • Has Matlab announced anywhere if/when uicontrols will no longer be offered for gui development and old guis developed with Guide will not function or be supported?

Answers (1)

Image Analyst
Image Analyst on 19 Oct 2021
The documentation says "The uicontrol function is not supported in App Designer or in apps created using the uifigure function. Instead, for a list of available components in these contexts, see App Building Components."
It does not say anything about being deprecated (planned for removal) or that you should avoid using it. But of course that could change and they often don't publicize what their future development plans are.
I have heard about the sunset date for GUIDE but I don't know if I'm allowed to share it here (but it's fairly soon). At that date, you will not be able to create new apps with GUIDE or edit any existing GUIDE-created figures. I've told them that, for me, changing to App Designer is a deal breaker because they don't have an integrated development environment for it where you can see the command window, the source code, and variables all in the same IDE. Once/if they get that I will change to App Designer.
  5 Comments
Image Analyst
Image Analyst on 20 Oct 2021
We won't know if there is a loss of performance in your particular implementation until you test it. You can keep using the old version of MATLAB for quite some time, if it's that important to you.
Sounds like you have an extremely time sensitive app, maybe one with real time updating (>30 screen updates per second needed) or with some sort of racing conditions so speed is extremely critical, as opposed to, say, just something like the user has to wait 0.5 seconds instead of 0.2 seconds for the display.
You could wait 10 years if you want and then only upgrade then when lots of other things have also changed or when/if MATLAB quits working on some next generation operating system.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!