Objo Studio v26.10.3 Released

I’m very happy to announce the immediate availability of Objo Studio 26.10.3.

There are two additions I’m particularly pleased to share this time: custom Web controls and a new optional C# backend for Command Line applications. There’s also a dedicated Web navigation bar designer, easier testing on phones and tablets, and plenty of improvements across the editor, compiler and runtime.

Download Objo Studio 26.10.3

Build your own Web controls

You can now create your own Web control classes and place them directly on pages in Studio’s visual designer.

For example, you might create a ChartView that inherits Canvas, a ValidatedField that inherits TextField, or a Button subclass with behaviour you want to use throughout your application. Eligible classes appear under Project Controls in the Control Library, ready to drag onto a page.

Each placement is an independent instance of your class, with its own state and event handlers. You can keep the drawing and interaction code inside the control, then reuse it across pages without repeatedly wiring everything up by hand.

The Inspector edits the inherited control settings, while your additional properties can be configured from code. Classes can also live in Shared Code.

There’s a new Web Custom Controls example under Examples > Web Apps. It includes a counter button, a text field, a drawn level meter and a ListBox with custom drawing, along with a walkthrough for trying the controls yourself.

The custom Web controls documentation explains how to get started.

A new C# backend for Command Line applications

26.10.3 introduces an optional C# runtime backend for Command Line projects.

You continue to write Objo. Studio compiles your application through C# and produces a self-contained .NET executable, giving you another option for improving the performance of built applications.

The choice belongs to each project. Open Project Settings > General > Application Runtime and select VM or C#. That setting is saved with the project, and the familiar Run, Debug, Test, Profile, Build and Publish commands use your chosen backend.

Built C# applications are distributed as a single executable for each target. Their selected plugins, resources and runtime dependencies travel with them, so the people running them need no Studio or .NET installation.

The VM remains the recommended default. This first release of the C# backend supports Command Line applications; Desktop and Web projects continue to use the VM. Performance varies with the work your application does, so I’d encourage you to try it with your own projects and compare the results.

There’s more detail in the Application Runtime Backends documentation. I’m looking forward to hearing how you get on with it.

Design Web navigation once

Web projects gain a responsive NavigationBar, with a dedicated editor for designing navigation shared across several pages.

Choose Insert > Navigation Bar, then add your branding, links, dropdowns, actions and separators. The editor includes a responsive preview so you can check how the bar behaves at different widths, including its collapsed hamburger layout.

Each WebPage can select a navigation bar and identify its current item. Editing the shared definition updates the design used by all those pages.

Items can open a chosen WebPage directly, without an event handler. For commands such as Logout, add an Action and write its handler once in the shared navigation definition.

The bundled Web Navigation example demonstrates the different options, and the NavigationBar documentation covers the editor and API.

Test Web applications on other devices

Checking a responsive layout in a desktop browser is useful, but trying it on an actual phone or tablet is better.

When testing a published Web application, you can now enable Allow other devices on my local network. Studio displays the network addresses that other devices on the same network can open.

That makes it much easier to check touch interactions, page layouts and mobile browser behaviour before deploying your application. Start the test from Studio, then open the displayed address on your device.

Some useful additions elsewhere

A few smaller changes deserve a mention too:

  • Desktop MessageBox now returns the selected button and supports custom captions for up to three buttons. Simple Save, Cancel and Don’t Save prompts need very little code.
  • Desktop Canvas.Invalidate() schedules a repaint, combining repeated requests before drawing. It’s useful when several updates arrive together and you only need to paint the latest state.
  • The code editor gains Convert to Uppercase and Convert to Lowercase commands.
  • Studio is now available as a Linux ARM64 download.

Fixes worth mentioning

Working in large projects should feel more responsive, particularly when naming classes, windows and properties, or editing method parameters and descriptions.

The editor also stops Tab completion from jumping back to an earlier method call, and avoids changing a member’s casing to match an unrelated member with the same name.

On Desktop, fixes address window transparency, crowded pie chart labels and legends, scaled Picture drawing, and HTMLViewer reliability on macOS and Linux.

On the Web, an inactive Spinner now clears its busy graphic, navigating to another page starts at the top, and fixes improve features used when an application is served over plain HTTP during local network testing.

There’s also substantial work on compiler and runtime correctness, including overload selection, ByRef arguments, generics, asynchronous operations and event handling.

As always, the complete list is available in the changelog.

Download Objo Studio 26.10.3, explore the new examples, and let me know what you’re building on the forums.

Thank you to everyone who has reported problems, suggested improvements and shared their projects. Seeing what you’re building continues to shape what I work on next.

Enjoy!

7 Likes