which way should I choose for app development ?

18 views (last 30 days)
Hi,
I am making on app.
How can I decide that which way should I use from following ways :
  1. GUIDE
  2. Porgramatically
  3. App Designer
On the bases of which factor should I take the decesion

Accepted Answer

Dave B
Dave B on 16 Aug 2021
The choice of GUIDE vs App Designer is easy, you should definitely use App Designer. This page compares them in detail, but perhaps the most important piece is:
"App Designer is the recommended environment for building apps in MATLAB, and GUIDE will be removed in a future release of MATLAB."
If you write your app in GUIDE, you'll have to do at least some work to migrate it in future releases, and the same goes for the skills you'll learn writing your app. Moreover, App Desiginer is newer, makes many tasks much easier (e.g. layout) and provides a modern object oriented approach that you can grow with.
Personally, I'm a fan of the programatic approach. In general, this is more costly and less forgiving, but it makes it possible to create really powerful apps. If you don't mind spending extra time, you enjoy thinking about software architecture, and you want to experiment with various ways to organize code...programmatic might be for you.
  2 Comments
Kaustubh hike
Kaustubh hike on 17 Aug 2021
Thanks for your informative and cocrete answe Dave.
I am also very passionate about programmatic approach because we can learn many things by adopting this apporoach.
But can we get modern GUI feel by adapting programmatic approach which we get in App Desginer ?
Dave B
Dave B on 17 Aug 2021
I think you can get a very modern GUI using App Designer or a programmatic approach, and my personal preference would be an object oriented approach...which might be considered an apatation of the App Designer apporach.
I think you can make most things with this approach, with the classic limits of time and imagination. New features like the ability to create custom components, design responsive layouts, and even directly embed html (including mixing javascript with your MATLAB code) really open up some new options for app design.
As @Walter Roberson notes, using the uifigures that App Designer is based on can raise some performance issues. That might limit the responsiveness of your app which can reduce how 'modern' it feels. The limitations of uifigure were much more extensive in older releases, and I hope that we're rapidly approaching a release where they feel just as quick and snappy as traditional figures.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 16 Aug 2021
The choice of GUIDE vs App Designer is easy:
If you do not have much graphics experience, and your needs are not complicated, and you are using an older release like you are (R2017a), then you should use GUIDE for the first while. GUIDE is a mess to do detailed GUI in, but as a starting point, it is useful .
If your needs are more complicated (such as needing to be able to reflow sections as the user resizes), and you are using an older release like you are, then you should write the code yourself.
If you are were using R2021a or later, then GUIDE would not be an option, and in that case you would have to consider whether the execution slowness and editor crawling and the limitations of using App Designer are worth putting up with for the nice parts it does have.
App Designer in your version (R2017b) was not very developed and did not yet have some important performance improvements; the only reason to use it back then is that it made some things easier, and the fact that GUIDE was going away was already known back then.
In current versions (R2021a), the reports I read imply that App Designer is unusable for larger projects at this time: by 3000 lines, editor response is reportedly often in the minutes range.
"The choice of GUIDE vs App Designer is easy, you should definitely use App Designer"
Only if that is followed by "... for your toy apps where your development is more of a learning experience to get you ready for future use, rather than if you need to build something that people will actually use."
... If it sounds like I am contradicting @Dave B in my answer, it is because I am contradicting him. App Designer is Not Ready For Prime Time, and is unlikely to be for at least two years.
App Designer is currently, at its best, like going back to dial-up.... to another country.
  2 Comments
Dave B
Dave B on 16 Aug 2021
@Walter Roberson makes important and good points, and I certainly don't disagree that there's work to do on App Designer. I think my recommendation was largely driven by the concern about investing in a technology that will be removed in a future release. I certainly should have paid attention to which release @Kaustubh hike was using, and perhaps included a bit about the target users and what release they are/will-be using. I hope we can get App Designer to a state where it doesn't "feel like dial-up" and that we can do that soon!
Walter Roberson
Walter Roberson on 16 Aug 2021
The entire MATLAB class system has to have much higher performance before App Designer can thrive. Progress does get made on improving the class system... but you already worked on optimizing classes, and you already worked on optimizing the Execution Engine, and although the old stones may yet have some blood to give, I think it is going to be pretty hard for Mathworks to double (or more) the class performance.

Sign in to comment.

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!