which way should I choose for app development ?
31 views (last 30 days)
Show older comments
Hi,
I am making on app.
How can I decide that which way should I use from following ways :
- GUIDE
- Porgramatically
- App Designer
On the bases of which factor should I take the decesion
0 Comments
Accepted Answer
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
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.
More Answers (1)
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.
6 Comments
Dennis Premoli
on 27 Jun 2024
Edited: Dennis Premoli
on 27 Jun 2024
I find myself disagreeing with @Walterio Mayol-Cuevas. I have been using App Designer extensively for 2-ish years on a project now involving ~7.5k lines of code, multiple tabs, loging credentials, calling secondary apps and plotting and procesing live data streams. Besides some bugs and kinks that have been worked out in part throughout the sub-releases, I really cannot imagine being where I am now, in so little time, having started from 0 UI making knowledge, let alone GUIDE.
Sure, it's not the speediest of things and it could use a little more stability when doing certain tasks (that may also be my programing skills showing :) but I can't even imagine having to manually create layouts and components. I simply would have never even apporached my current project and it would never have been done.
In general I think @Craig should absolutely consider App Designer for his project, especially considering the constant updates, support and development it has been receiving since its inception.
See Also
Categories
Find more on Migrate GUIDE Apps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!