With so many programming languages and development environments around … why you should try Xojo? I could tell you more than 400,000 reasons to just jump-in right away; reasons I’ve heard for over 10 years now from Xojo users around the world that are building all kind of apps, products and solutions in all kinds of fields. Nevertheless, if I really think about, all of these reasons can be condensed into the following 10 main points. Continue reading and I’m pretty sure you will want to give Xojo a try too!
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…
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?
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:
Like his father, my teenage son loves video games. The single player games where you take a character through some kind of adventure are the ones I like most. These usually have a fair number of AI-controlled enemies that must be defeated. My son, on the other hand, prefers to play against other human beings. When I asked him why, he said, “The AIs are so predictable.” To prove this to me, he took over when I was having trouble defeating a particularly difficult enemy and quickly dispatched him, narrating his strategy as he went and barely being scratched in the process. My son is an elite player compared to me partially because he puts a lot more time into it than I do but also because he loves video games far more than I do.
Just as people have varying levels of skill and interest in video games, the same is true of app development. There are those that are happy to devote enormous amounts of time to learning everything they possibly can. They don’t care how long it takes. They want to have control over everything and are willing to do whatever is necessary to make that happen. I’m so glad those people exist because there’s a lot of great software that might not otherwise have been created without them. I’m not one of those people. I really want to focus mostly on what makes my application unique, abstracted from the nitty-gritty of app development.
That’s why I have always been attracted to tools like Xojo. I am a citizen developer. Of all the job titles I have had over the years, all of them in tech, none have ever included words like programmer or engineer. I do some software development but it’s just a part of my job. It’s something I do to help me in my work or to help my co-workers.
In today’s world, the only way to be sure you are reaching all your potential customers is to target multiple platforms. But cross-platform development is crazy-hard, right? Perhaps, if you are using tools like Java, Qt, Delphi or Xamarin it certainly can be. But with Xojo, cross-platform apps are simple to create.
In fact, Xojo lets you easily cross-compile desktop apps for Windows, macOS, Linux and Raspberry Pi. Plus, you can use the same Xojo language to create web and iOS apps too (Android coming soon!).
Before we dive into what it means for developers, and in particular Xojo and other cross-platform developers, that IBM is pushing the Mac, let’s look at the recent history of the computer market. 10 years ago, the Mac had market share in the low single digits and was ignored by most of the world. These days the Windows PC market is in decline while the market share for Mac is rising at the expense of Windows.
How does IBM fit into this?
In 1998 Steve Jobs was the interim CEO of Apple and trying to keep his unprofitable company from sinking into bankruptcy. Just the previous year, when asked what he would do if he were in charge of Apple, Dell CEO Michael Dell said, “I’d shut it down and give the money back to the shareholders.”
The Mac had single digit marketshare. Creating a development tool, independently of Apple or any company that makes a platform such a tool would support, was considered a fool’s errand. There were plenty of tools available from large companies. Apple made MPW (the Macintosh Programmer’s Workshop). Symantec created THINK C. Metrowerks developed CodeWarrior. IBM’s VisualAge. Macromedia Flash. If you needed to create a cross-platform desktop app, you’d be told to look no further than SUN Microsystems Java: THE cross-platform language. We were all promised that Java was going to run on everything from our computers to our cars to our can openers. Java was the safe and popular choice. Developers made up only about 5% of computer users anyway. Honestly, who would be crazy enough to launch a new development tool in a market crowded by giants?
Visual Studio can also create web apps and as it would turn out, you may find that Xojo is a better option for web apps.
Technically, Visual Studio for Mac can create ASP.NET Core Web Apps. These type of web apps use the ASP.NET framework, but do not provide a form (layout editor) for your app’s user interface. Instead you’ll have to create everything in code, including mapping UI actions to corresponding code. ASP.NET Core also requires you to use the MVC (model-view-controller) design pattern, which can be a bit daunting for beginners.