Version Information
Product Version | 24.0.0.100 |
---|---|
File Version | 2023.11.7.1 |
Refer to the document on Product Limitations to learn about the phenomena that can occur due to the differences in the user environment, browser features, or product limitations,
Post-Release Modifications
24.0.0.101
RP | Description |
---|---|
98448 | Fixed an event name error in the ""TextField, DateField"" component (oninvaild -> oninvalid) Fixed incorrect default value for the labelposition property of the TextField, MultiLineTextField, DateField components. |
Major Changes to Nexacro N V24
Structural Improvements of Android App
The internal structure of Android NRE has been changed from a native app to a WebView-based hybrid app. In addition to faster initial loading speed, the school function and touch sensitivity have been improved.
Lighter
The size of the mobile app deployed has been reduced to a quarter of the size of the previous version by removing native code.
Nexacro N V24 Android NRE | Nexacro N V21 Android NRE (incl. the arm64 library only) |
---|---|
6MB | 22MB |
Clearer
Changed rendering processing from Skia-based to WebView-based.
The rendering processing of letters and images displayed on the page has been improved, and an issue that caused aliasing when letters or images were displayed on some devices has been resolved.
Running Faster
The initial loading speed when the app is launched is twice as fast compared to the previous version.
Nexacro N V24 Android NRE | Nexacro N V21 Android NRE (incl. the arm64 library only) |
---|---|
947ms | 1846ms |
Tested on LG V40 Device
We built an app with the same project and measured the time in similar sections.
V24: WebView.onPageFinished() call time - NexacroActivity creation time
V21: Time to complete execution of Cy_PlatformGlobla::LoadApplication() - Time to create NexacroUpdaterActivity
Immpediate Response
It is more responsive to user interactions upon app launch. Scrolling, touch fling actions, and component responsiveness have been improved across the board.
Supporting Environments Like Web Browsers
With the internal structure of Android NRE changed from a native app to a WebView-based hybrid app, you can enjoy many of the advantages supported by web browsers.
Web accessibility support
Web font support
Debugging support (WebKit inspector)
Functional improvement of the WebBrowser component (fixed issues such as screen clipping)
Unified the Mobile App Development Environment
We have unified the Android and iOS NRE development environments to increase development productivity and improve the usability of the Device API and Extension API.
In-App Browser Support
The operation that was executed as an external web browser when executing the window.open function on a script has been changed to display the in-app browser as a popup.
The nexacro.open method is also available for Androidd and iOS NRE.
Cordova Plugin Support
You can now import and use Cordova plugins for expanded functions when developing an app.
Improved Method of Deploying Nexacro Libraries
You can separate the Nexacro libraries into a base library and a Device API library and selectively deploy them as needed.
Set Nexacro libraries(iOS/iPad)
Set Nexacro libraries(Android)
Features that will be changed or no longer support due to the change in Android app structure
With the change of the internal structure of Android NRE from a native app to a WebView-based hybrid app, the operations will change to match the functions provided by WebView and some of the redundant features will no longer be supported.
Loading Web pages with X-Frame-Options Settings
When applying HTTP headers, the WebBrowser component may experience constraints when loading web pages if there is an X-Frame-Options setting.
Execution Environment | Android NRE (V21) | Android NRE | iOS NRE |
---|---|---|---|
Web page without X-Frame-Options settings | O | O | O |
Web page with X-Frame-Options settings | |||
X-Frame-Options: DENY | O | X | X |
X-Frame-Options: SAMEORIGIN | O | Only the same domain is permitted | Only the same domain is permitted |
Executing WebBrowser component methods in a cross-domain situation
Cross-domain issues are ignored when the Android NRE internal structure is a native app, but in a WebView-based hybrid app, CORS issues on the web also apply. Support may vary depending on the update type when packing the app.
Execution Environment | Android NRE (V21) | Android NRE | iOS NRE | ||
---|---|---|---|---|---|
Update Type | Local, Update | Server | Local, Update | Server | |
callMethod | â–³ | O | X | X | X |
getProperty | X | O | X | X | X |
Discontinued support for redundancy features on WebView
Nexacro N V21 support items | Handling measures |
---|---|
Running unit tests on the Android OS NRE | Selenium WebDriver may be used. |
Android native interface | APIs provided by WebView may be used. |
Using one or more NexacroActivities on the Android OS | APIs provided by WebView may be used. |
NRE remote debugging | APIs provided by WebView may be used. |
WebView API
https://developer.android.com/reference/android/webkit/WebView
WebView API Debugging
https://developer.android.com/reference/android/webkit/WebView#setWebContentsDebuggingEnabled(boolean)
Selenium WebDriver
https://www.selenium.dev/documentation/webdriver/
Discontinued support for Internet Explorer 10 and 11
To take full advantage of modern web technologies, Internet Explorer 10 and 11 are no longer supported.
If your environment requires the use of Internet Explorer, you can use Version 21 of the Nexacro SDK to support it even in newer development tools.
Previous versions used scripts in the form of set_property to set property values for the purpose of supporting Internet Explorer. We will continue to support scripts in the form of set_property for codes that have already been written, but we recommend directly substituting property values in case of creating new codes.
(O) this.Button00.text = "text"; // recommend (O) this.Button00.set_text("text");
Improved ease of responsive web development
Panel components can be used to group multiple components together when editing pages as a means to adjust the layout to fit the page size.
Automatically resizing container components
For the Div and Panel components, the fittocontents feature can now be used to automatically resize the container components based on the component they are placed in.
Relative length units
Relative length units ("em", "rem") as well as absolute length unit ("px") and percentage unit ("%") are supported when designing pages. You can utilize them for component placement and font-size setting.
Applying different styles based on the screen
You can style certain selectors differently depending on the screen type property value.
When a theme or XCSSResource is generated to support screen types, additional files will be generated for each screen type.
Adding child component to container component
In the previous version of Nexacro Studio, to add a child component to a container component, a new component had to be placed within the container component, but now it can be added simply by selecting an already placed component and dragging it to the container component.
Select a component and drag it into the container component area and a blue border will appear. Components can be placed wherever you want within the container component.
To place a component in a position that overlaps a container component or move the location of a container component's child component outside the container component area, use the method below.
Change the position property value of the component in the property window.
After selecting a component, move its location with the arrow keys.
New components
Components subject to Material UI application
TextField
The TextField component is used to received a single-string input from the user.
MultiLineTextField
The MultiLineTextField component is used to receive multi-line string input from the user.
DateField
The DateField component is for receiving date and time input.
Start, end date, and time selection component
DateRangePicker
This is a component for receiving an input of or selecting one or two dates and times (start and end dates).
PopupDateRangePicker
This is a component that opens a popup window to receive an input of or select one or two dates and times (start and end dates).
Component grouping component
Panel
This is a component that allows you to group two or more components together and arrange them in a desired format.
Multilingual support
You can set StringResource for each language, or use glossaries from the database to enable multilingual support for your app.
Generate Rule
The -CSSRULE option in the previous versions, which specified the path for the CSS Rule files, are no longer supported.
Rule files required for Generate, including CSS Rule files, have been added. The –GENERATERULE option has been changed to be required.