When will the transition from Java to Javascript be complete?
279 次查看(过去 30 天)
显示 更早的评论
It's been nearly ten years since MATLAB began to transition from Java to Javascript graphics. Is there any roadmap for when this transition will be complete? Long ago I was told that the final product would be seemless, i.e. traditional graphic commands would invoke Javascript yet otherwise function like the legacy Java version. Despite many improvements in the new system, the two are still quite different. The difference is most obvious on Mac systems, where uifigures are clearly handled separately from figures. I have stayed with traditional figures for most of this period, waiting for the Javascript alternative to mature, but this is no longer viable due to frequent crashes (as described here).
Recent experence suggests that uifigures are almost ready for general use, but there are a number of missing features. For me, the big ones are limited export options (e.g., improper size scaling for PDF) and the lack of an Extent property; the latter helps size items based on the text held inside them. If I had those features, I could justify the time investment in switching over to uifigures full time. There are also a lot of undocumented things, such as the fact that classic uicontrols can go inside Javascript uifigures, even though the formal documentation says otherwise. I wish Mathworks would be more forthright about this substantial change, focusing less on Live Editor and App Designer updates in each release.
6 个评论
dpb
2024-7-31,18:58
And note the date on that thread is four years ago, so not like it's something new...just exacerbated by the changeover.
采纳的回答
Adam Danz
2024-8-9,15:56
编辑:Adam Danz
2024-8-9,19:11
Thanks for your questions and curiosity about the JavaScript transition. I highly recommend that you try out the beta version of the New Desktop for MATLAB by downloading it from the File Exchange. This is an exciting opportunity for you to get early access to upcoming features, including dark theme in MATLAB Graphics. Releasing a beta like this is something new for us and goes beyond just commenting on feature work. Not only does it give you a sneak peek into the future, but it also provides an opportunity for us to gather valuable feedback.
Beta users have access to a feedback button for easy communication, which MATLAB developers actively review and prioritize. It's by far the most effective way for you to influence the product.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1750194/image.png)
I'd like to add some clarification on some of the topics covered in this thread.
figure() | uifigure()
uifigure was released in R2016a along with AppDesigner to support the new AppDesigner infrastructure and to have a different set of default property values that make more sense with apps. If there is any concern that figures are being replaced by uifigures, I can reassure you that there are no such plans. Both figure and uifigure will co-exist and will continue to support uicontrol components and app-based components respectively. You can verify and experience this now in the New Desktop for MATLAB.
Exporting figures
The relatively recent set of figure exporting functions were designed to simplify and streamline the export process by targeting specific use cases: exporting data visualizations (exportgraphics, copygraphics) and capturing apps (exportapp). This approach allowed us to address user-requested enhancements in a more scalable way than cramming everything into the ever-growing print function. For example, in R2024a, you can specify dimensions and padding in figure exports in MATLAB Online, which is a hint of what's to come. Reference the summary page in the documentation for details.
Controlling layout in apps
As mentioned by others in this thread, UI components lack extent properties, which can interfere with some app development workflows. In many cases, uigridlayout is a better alternative. Not only can you nest uigridlayouts, but you can also specify "fit" for any column or row to adjust its width or height according to its contents. App resize is also more responsive when using uigridlayout. The uigridlayout workflow offers quite a lot of flexibility while reducing the need to compute extents for space management.
Give us feedback
Your feedback is incredibly valuable to us. Please use the feedback button in the New Desktop for MATLAB to share your thoughts and any issues you may find. Alternatively, you can reach out to Tech Support.
0 个评论
更多回答(1 个)
Walter Roberson
2024-7-27,18:30
编辑:Walter Roberson
2024-7-27,18:39
When will the transition from Java to Javascript be complete?
19 January 2038
4 个评论
dpb
2024-7-30,18:37
Very, very rare for Mathworks to comment on either features or timetables, so it's not likely, but there's always that first time/chance.
Submitting bug reports every time you run into one of these issues is the only way to bring things to the attention of official Mathworks support.
Walter Roberson
2024-7-30,20:41
Is there any roadmap for when this transition will be complete?
There is no public roadmap for when the transition will be complete. Any internal roadmap that Mathworks has would be only approximate.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Develop uifigure-Based Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!