When will the transition from Java to Javascript be complete?

조회 수: 61 (최근 30일)
Daniel Dolan
Daniel Dolan 2024년 7월 27일
편집: Adam Danz 2024년 8월 9일
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
Adam Danz
Adam Danz 2024년 7월 31일
Thank for the clarification!
dpb
dpb 2024년 7월 31일
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
Adam Danz 2024년 8월 9일
편집: Adam Danz 2024년 8월 9일
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.
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.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2024년 7월 27일
편집: Walter Roberson 2024년 7월 27일
When will the transition from Java to Javascript be complete?
19 January 2038
  댓글 수: 4
dpb
dpb 2024년 7월 30일
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
Walter Roberson 2024년 7월 30일
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 CenterFile Exchange에서 Platform and License에 대해 자세히 알아보기

제품


릴리스

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by