Skip to content

Category: Technology

Canvas: How to Create Custom UI Controls

Xojo includes a good amount of UI controls available from the Library for Desktop, Web, iOS and Raspberry Pi targets. These are the pieces that allow you to layout the user interface of your apps: properties, methods and events that, when combined, define the specific behavior of the project at hand.

Sometimes, subclassing the available controls is the answer to add specific behaviors you need. But what happen when none of the controls offer what you need, whether visually or functionally? The answer is the Canvas class (for Desktop projects), WebCanvas class (for Web projects) and iOSCanvas class for iPhone and iPad devices. But how do you create your own UI controls from scratch? Read on to learn…

Comments closed

Change your DNS settings for a smooth transition to a bigger, better server

Most Xojo Cloud users have already switched to the newer Xojo Cloud servers. These new servers have more RAM and SSDs and are the priced lower or the same as our previous servers. But moving your projects from one server to another is easier said than done. You’ll need to plan carefully to avoid downtime. Here is a simple change you can make to your DNS settings in order to limit downtime, making the move to a better server smoother.

Comments closed

Low-Code Doesn’t Mean No Control

There are low-code platforms that don’t provide ability to call directly into the operating system. Fortunately, Xojo does. Our vision for Xojo has always been to make the tool easy to learn and highly productive to develop applications, without sacrificing power when you need it.

Comments closed

Updating Code That Used The Graphics Property

Prior to Xojo 2018r3 Window and Canvas both had a Graphics property that you could access and draw to. This was deprecated in 2011 because it had significant performance issues on all platforms. The preferred way to draw your graphics since 2011 has been to use the Window.Paint or Canvas.Paint event handlers and the supplied parameter g As Graphics.

Starting with Xojo 2018r3, this Graphics property was removed from Window and Canvas so if you had code that was still relying on it, that code will no longer compile. Here are some tips on how you can migrate your code to use the Paint event handlers and tell the Canvas to update with a call to Invalidate.

Comments closed

Extend your iOS Toolbox

Developing for iOS with Xojo can be quick and easy, but if you need more power for your app’s controls, your options are:

  • study the Apple documentation, which can take time and building the right declares from scratch is not trivial; or
  • use one of the many open source projects, though you may end up having to import things that you don’t want or need;

If you don’t have the time or inclination for these options, Falco Software’s extensions could be what you are looking for. The extensions work similarly to Xojo, just drag the control and start developing. No alien objects to create, no extra code to maintain. Here are some examples of where Falco Software’s extensions can simplify and speed up your iOS development.

Comments closed

Web Services Part II: Xojo Web, at your service

In a previous entry we started to dig into web services with Xojo. The first post focused on the backend (server side), creating the Xojo app acting as middleware between the clients and the database that holds your data. We are using SQLite as the backend engine but it would not be difficult to change to other supported database engines like PostgreSQL, MySQL (MariaDB), Oracle or SQL Server, and even ODBC; all of these are supported by Xojo!

Comments closed

What’s important in a programming language?

I started learning how to code as a teenager. Back then there weren’t very many programming languages. I remember BASIC, Pascal, Fortran, COBOL, C and a handful of others that were highly specialized. Why so few? Because in the 1970’s, computers just couldn’t do very much compared to today. The available languages were sufficient for the limited tasks computers had been assigned to manage.

Over the last several decades, computer technology has exploded. The smartphone I carry around in my pocket is far more powerful than the fastest computers of my youth. As a teenager, I rarely encountered anything where a computer had played a part. Today the rare encounter would be with things where computers had played no part.  Computers handle so many tasks now that, as a natural consequence, there are thousands of programming languages with more appearing every year.

With so many languages, it can be difficult to choose one. What is important in a programming language?

Comments closed