Skip to content

Category: Learning

Tutorial: Active Words

Follow this tutorial to learn how to create active (clickable) words in a text of a TextArea control using the OOP Delegate design pattern, which allows you to dynamically change how your app will react when the user clicks on any of these active words. Best of all, this is cross-platform, so you can use it for macOS, Windows and Linux deployments!

Comments closed

Name Your App

Naming your app may seem like the last step and the easiest part of the process, but it actually should involve some careful thought and consideration. A name needs to set the right tone for your app, should relate to it in some way, and should be searchable, meaning something that can be found easily in search engines. For example, you don’t want to name your app TravelTips – there are thousands of google searches that will come up before your app. You want a name you can own.

When we changed our name from Real Studio to Xojo, we wanted to make sure we could find a name that we could own. Not only was Xojo a pretty wide open space in terms of search, but it also stands for something that describes what Xojo is – X is for Cross-platform and “OJO” is for Object-Oriented.

Comments closed

App How To: Packaging, Selling & Marketing

Are you ready to sell your app? Whether you have a web app, desktop or mobile app, it’s time to think about how to package and distribute that app, how get the word out and, of course, how to get paid for sales.

In this #longread blog post, we’ll walk you through preparing your app for distribution, offering your app on your website and in app marketplaces for sale, as well as first steps to marketing your app.

Comments closed

#JustCode Challenge Week 1 – Color Picker

It’s the first week of the Just Code challenge so I’m starting with something pretty simple. This app lets you choose a color using the system color picker and then shows you the color values in hexadecimal (useful for programming, HTML and CSS), RGB (red, green, blue), HSV (hue, saturation,value) and CMY (cyan, magenta, yellow).

Comments closed

Create a Preferences Class with Operator_Lookup

Xojo is an Object Oriented Programming Language and, among other things, that means that it supports Methods Overloading. We have seen in other posts that some of these overloaded methods can be Class Constructors, but, there are others things you can do. For example, we can overload the operators. These are the methods in charge of adding two instances of the same class, subtracting, multiplying or dividing them. But we also have at our disposal another operator we can overload: Lookup. What advantages does this give us and how it does it work? Let’s explore it while building a Preferences class we can use in any of our projects.

Comments closed

Which DLLs can I move and where?

After seeing this conversation on the forums, I thought it would be helpful to run through why you can move some of your app’s DLLs but you cannot move others.

On Windows, the Visual Studio C Runtime DLLs can be in one of two locations on systems that do not already have them installed. All versions of Windows prior to Windows 10 would need these installed.

Comments closed

Prepare Your Classes to Work in Simulated or Real Modes

In many of our development projects, if not all, we are confronted with situations when we need to test our classes before the final deployment of a project. I’m not talking about Unit Testing here, though I highly recommend the excellent session on that topic from XDC 2018.

For example, it would not be desirable to send hundreds of emails to all the entries in a database simply to test one of the workflow steps or to verify that emails are being delivered as expected. It would be a lot simpler, and less disruptive to those using your app, to test using a few email addresses that are under your control.

So let’s establish a mechanism that allows us tell our apps when to run in a “simulated” mode vs. a “real” mode for all or some of the components that we need to test along the development cycle.

Comments closed

5 Questions to Ask When Choosing a Development Tool

These days everyone has a great idea for an app. Maybe you have an idea that would save you time at work, or maybe you’ve been thinking of an app that would automate something you do at home. Not sure where to start? One of your first steps is choosing a development tool that is right for you and for your project.

Here are five questions to guide your decision:

Comments closed

Create Your Own ImageWell Based on Canvas

Whether you are using Xojo to create your very first application or if you are coming from other languages, like C# or VisualBasic, customized UI controls are probably one of those things you have in your to-do list. For multiplatform Desktop apps, you will find that the Canvas class offers everything you need. In order to show you how easy it can be, follow this tutorial to recreate the ImageWell UI class control, provided by default in the Xojo framework. Our customized ImageWell will be able to proportionally display any JPEG file dropped by the user on the control, centering it on the available surface.

Comments closed

Predicting the Future: Communication & Xojo’s Roadmap

If you spend enough time trying to predict the future, you learn that the more variables there are, the more difficult it becomes to determine a future. Take the weather for example. It’s not hard to predict tomorrow’s weather because there’s not much that will change over the next 12 hours or so. Try to predict the weather 7 days from now, 7 months or worse, 7 years from now, and your results will begin to vary dramatically.

This is certainly the case when it comes to writing apps. The bigger any one particular feature is, the more variables there are that affect it and thus the more difficult it becomes to predict how long it will take to finish. You don’t have to work in the software business very long to figure this out. Like most people in the software industry, we’ve been trying (with varying degrees of accuracy) to do this not just for our own internal planning but because we know you want, and need, to know as well.

Comments closed