Privacy Policy and Cookies

By continuing to use our site, you agree to our Privacy Policy and our use of cookies to understand how you use our site, and to improve your experience. Learn More.
I Agree.

SmartClient 13.1: Superior performance and better visuals

Last modified date

SmartClient 13.1: Superior performance and better visuals

We are introducing a range of powerful and interesting new features focused on improving server performance and delivering stunning visual updates. These updates will improve your development process and ensure that your UI is just as visually appealing and responsive across all devices.

In this blog, we’ll explore three key features: the new Shiva skin, our cutting-edge SVG spriting technology and server performance improvements.

Shiva: A New, Elegant Visual Skin

Shiva skin

Introducing Shiva, a modern, lightweight skin designed to bring a fresh, professional look to your SmartClient applications. Shiva is all about simplicity, elegance, and adaptability, offering a sleek new look that is instantly customizable to match your brand.

Some standout features of Shiva include:

  • Stylish fonts and clean design: Shiva uses the latest web fonts to deliver a crisp, modern feel.

  • Dynamic color schemes: Using the built-in Skin Editor, you can quickly change Shiva’s color palette to align with your company’s branding. Whether you need to shift to a corporate blue or a vibrant red, Shiva makes it easy.

  • SVG icons: Shiva comes with beautiful SVG icons, which look sharp on any screen size and resolution.
New Shiva skin
Shiva skin

As part of our commitment to providing the best UI tools, we’re also planning to release Shiva Dark, a “night mode” version of the skin. Shiva Dark will provide the same stunning visuals but with a darker, more subdued color scheme, perfect for late-night users or applications that benefit from a low-light interface.

SVG Spriting: The future of scalable icons

SVG Spriting

SmartClient 13.1 introduces SVG spriting, a cutting-edge feature that allows you to bundle all of your application’s icons into a single compressed SVG file. This approach is not only bandwidth-efficient but also visually superior to other icon-loading methods.

With SVG spriting, you can:

  • Load all icons at once: No more multiple requests to the server for individual icons. This reduces load times and simplifies resource management.

  • Apply dynamic colors: SVG icons can be recolored dynamically, allowing your application to reflect changes in state or context through icon color shifts. You can apply up to two colors to each icon.

  • Effortless scalability: Unlike bitmap-based icons, SVG icons scale perfectly on high-resolution displays, ensuring that your application looks sharp on any device, from mobile phones to large monitors. SVG icons also remain crisp when printed or zoomed in.

While the trendy “fontIcon” approach uses entire font files to display a handful of icons, SVG spriting is more efficient and uses less bandwidth. This is a must-have feature for any application that aims to be responsive and visually stunning.

Check out SVG Symbols Showcase and Fill and Stroke Showcase samples to see SVG spriting in action.

Higher-resolution media and optimized download sizes

Retina resolution

Not everyone will be moving to Shiva and SVG spriting right away, we get it. But you still get a boost – we’ve done a whirl through all the PNG, etc media and ensured it’s all at “retina” (or better) quality.

All media files included in the SDK have been upgraded to high-resolution quality — they look sharper and more professional across all screen sizes and displays.

Streamlined Media Management & Optimized Downloads

We have reorganized the media inside the SDK download so that there are no longer redundant copies of shared media, such as sample icons and images used in the Showcase, or in Reify.

We’ve also run all media through lossless image optimizers. This is a nice little boost for those of you who use Maven or similar systems to frequently update your version of SmartClient/SmartGWT!

Server Performance Tweaks

SmartClient’s server-side architecture is known for its speed and reliability in handling large datasets, and with 13.1, we’ve pushed these capabilities even further. We’ve collaborated with two global pharmaceutical companies, working with multi-million-row tables, to fine-tune server performance for handling massive data volumes.

Here are some of the highlights:

  • Faster JSON Serialization: For every request that involves data serialization, we’ve managed to eliminate a significant number of internal HashMap.get() calls. This optimization results in an across-the-board speed improvement, and in some edge cases, serialization is up to 50% faster.

  • Optimized SQL Re-Selects: Previously, after saving data to an SQL database, the system would perform a “re-select” query to retrieve the updated row. This was essential for fetching database-generated values like sequence IDs. In 13.1, we’ve introduced an intelligent re-select avoidance mechanism, which minimizes unnecessary queries and improves performance without sacrificing functionality. This is also configurable, allowing developers to adjust it based on their specific needs.

  • Hikari Connection Pooling: SmartClient now integrates with HikariCP, the fastest JDBC connection pool available. Hikari is renowned for its low-latency, high-throughput performance, and SmartClient’s integration ensures that your applications will benefit from quicker, more efficient database connections. We’ve also added support for Dynatrace monitoring, giving you full visibility into your database connections and their performance.

  • Reflection Speed Boost: Java reflection can often be a performance bottleneck, especially in applications that heavily rely on dynamic method and class lookups. With 13.1, we’ve optimized the reflection subsystem with aggressive caching, making it up to 200% faster. This significantly boosts performance in scenarios where reflection is used frequently.

  • Server-Side Scripting: For those using SmartClient’s Server Scripting system—which allows you to write application logic directly in JavaScript within your DataSource definitions—you’ll be pleased to know that we’ve upgraded support for the latest JavaScript engines. This makes server-side JavaScript almost as fast as native Java, providing a noticeable performance boost when running logic within the server.

  • Faster SQL Multi-Insert: When inserting multiple rows into a database, SmartClient now handles the operation 5x to 10x faster, depending on your database engine. This is particularly beneficial for large batch inserts where performance was previously a concern.

Every optimization we’ve introduced for 13.1 has been rigorously tested using Dynatrace to identify and eliminate even the smallest performance drains. Whether you’re managing large datasets or building complex applications, every SmartClient developer will experience measurable performance gains with this release.

Conclusion

With 13.1, SmartClient continues to push the boundaries of performance and design. Whether you’re benefiting from faster server-side operations or giving your users a beautiful, responsive interface with the Shiva skin and SVG icons, this release will help you build better, faster, and more efficient applications.

In our next blog, we dive into the enhanced data management capabilities introduced with SmartClient 13.1.