Filemaker equivalents in XOJO

I am assessing a switch from FM to XOJO. Can I just check if XOJO has the functions (or equivalent) to those listed:
uuID

slide control

place holder (i.e. where a greyed out filename awaits data entry)

hide field calculation

Let function equivalent

Excel: Import into a table using matched fields. Export XOJO to Excel.

FM is a database engine with some toy-ish sort of automatisation script feature.
Xojo is a full Object Oriented programming language, with access possibilities to almost every database engine on the market (some need 3rd party plugins)
they are clearly not the same tool at all.
with FM you must use what’s available
with Xojo you can almost make anything you can imagine (but you have to make it first…)

so yes everything you can imagine can be made out of Xojo, but they are not all ready-made
you have to make something out of your brain and fingers …

just try it, you will learn a lot by trying it. xojo is free to download and use in debug mode.

uuID: with plugin

slide control: you probably need to do that yourself.

place holder: yes
hide field calculation: not necessary

Let function equivalent: yuck no

Excel: Import into a table using matched fields. Export XOJO to Excel.: you need to do the import yourself. Exporting to Excel can be done with a plugin.

In Xojo you can do almost anything. Don’t expect that you can do everything out of the box.

1 Like

what makes it impossible to do with xojo pure code ?

1 Like

@Jean-Yves_Pochez: I’m always lazy :grinning:

Depends on database. Most databases can have something like a calculated column. SQLite even got it recently. But you may just code in in your own classes as a computer property.

Please check MBS Xojo XL Plugin, which can help a lot on import/export Excel files.

FM users are warned against using plug-ins from the perspective of it being problematic maintaining them within solutions, eg. updates. Is XOJO different or similar in this regard?

you can always use plugins everywhere, even filemaker
problem is main dev tool gets updated and the plugin vendor is not here anymore
all your dev based on the plugin is gone.
or the plugin dev is still here, but does not want - can’t update it to the new dev tool
you’re stuck too.
I don’t use plugins since a bad adventure like this one 15 years ago.
(I even had the source of the plugin at that time. problem was the language used to develop the plugin was gone !)
and still I can use my favorites dev tools.

Christian plugins are reliables (because he was mainly here before xojo ?)
but still these are plugins - use at your own risks.
sometimes the dev tool disapears before the plugins too…

Xojo has many features (declares…) that makes the use of plugins useless except in certain rare usages (usb devices without HID for example). you can always do the same in xojo code, and for almost the same speed. but if you’re in a hurry, buying a plugin can help you develop faster.
and sometimes there is a huge development time behind a “simple” plugin.

Hi Stephen,

FileMaker and Xojo are quite different regarding UI. In FileMaker you can’t change object properties at run time, that explains why in FileMaker there is a ‘Hide if condition’ for controls. The use of this ‘Hide if’ condition’ became a way to circumvent many shortcomings in FileMaker, for example you can’t change the editable state of a control at run time. This is implemented by having two controls on top of each other where one is editable and the other is not and playing with the ‘Hide if condition’ in order that only one is displayed. The FileMaker developer options are limited by the way the product is designed.

On the other side Xojo is not that limited: at any time you may hide a control or making it editable (enabled) or not through the code. Xojo in that works the same way as other languages.

Working with Xojo, you have to think differently than working with FileMaker. That means don’t try to match 'how do I do ’ in Xojo. For my part I went from Access and VisualBasic to FileMaker. The paradigms are so different that I needed some time to get acquainted. You are doing the transition the other way.

Learn Xojo without comparing with FileMaker, that can be done.

Are you saying, in summary, that while superficially similar they are different enough to render a comparison pointless?

1 Like

yes they are not the same tools.you can’t compare them.
they can lead to similar usage from the user perspective, but are inside very different

1 Like

One may compare FileMaker and Xojo. But trying to find equivalent procedures between the two is not a good idea. Lets say you compare a plane to a car. What would you answer to this question “where are the flashers on a plane” :thinking: ? FileMaker and Xojo are dissimilar.

That being said, Xojo and C# can be compared easily compared, both are Object Oriented languages.

There is no comparison between FM and XOJO. I use them both but for much different purposes.

I primarily use FM for in-house applications (FM insists on calling them solutions) and to prototype an application that I am thinking of developing. It’s very easy to create a database and some layouts to see how things might fit together.

XOJO is a fully objected oriented development system and requires a significant commitment to get an application that can be used by you or others. In some sense, you have to invest the time:

  1. First learning how an object oriented language works.
  2. Then learning how to take what you’ve learned in 1 to create an application.

XOJO is clearly much more than FM in some respects, but FM can do things much more quickly but without the flexibility that you can build in with XOJO.

I think most FM developers are used to finding workarounds in the development system they provide. With XOJO, you won’t run into many roadblocks, but you may have a lot of work to do to avoid them.

1 Like

also xojo is free to deploy, FM is an arm and the legs as soon as you want more than one user.

1 Like

I made the change 3 months ago so hopefully I can cast some light on the areas that differ and what Xojo offers that FileMaker never will.

Firstly - all the cludgy things that you do in FileMaker - like conditional hiding, the let statements etc are redundant in Xojo. FileMaker is a scripting engine trying to be a programming language. Xojo is a full blown object oriented programming language offering infinite possibilities. This has been a breath of fresh for me having always struggled to get FileMaker to do the things I needed it to do.

Secondly - don’t expect to be able to drop controls onto a layout and have everything handled in terms of adding new records, updating and deleting. You have to roll your own methods to handle those requirements and this does take more time initially - there are tools like Argen for automated ORM generation https://strawberrysw.com/argen/.

Of course with Xojo you are not limited to database driven applications - you can develop whatever you want (within reason!) and that flexibility is a huge win for me. If you do need a database your choices on Xojo include all of the most popular databases in the world.

Lastly of course the licensing model is so much better for me than FileMaker - no end user licences required. This alone has helped me win two contracts - I could be much more price competitive and all the recurring maintenance revenue is mine alone.

This is very useful to know. In a v. part-time way I created an app in FM only to find Runtimes deprecated and now dropped and other avenues ridiculously expensive (arm, legs and innards I’d say!).

The main downside to XOJO for me sounds like the learning curve for someone who’s only written FM scripts and edited VBA in Excel; no true programming experience… yet.

You will get nearly everything in the LR (docs).

Look at SQLiteDataBase:
http://documentation.xojo.com/api/databases/sqlitedatabase.html

You will find code snippet to create a .sqlite file with TABLE(s), add Records, Read Records, etc.

And, in case of troubles (say… How Do I … ?), this forum is good at :wink:

PS: I always use a text file with data to do all my tests (Write / Read / Loop thru the Data Base).
This allows me to throw away the .sqlite file in case i’ve made an error (design / duplicate Records, etc.). And this avoid any data loss.

I suggest to first learn about Object Oriented Programming, OOP is short. The best would be to find some training without using a specific language, it that exists. If you are on LinkedIn, you may find a lot of courses.

Maybe others can recommend good training.

I don’t think you will have a problem.

I was a FileMaker Certified Developer for versions 15, 16, 17 and 18. Each version that was released brought the product further away from what I felt I needed. I come from a traditional programming background, but fell into FileMaker due to the novelty of it. However, I always seemed to be fighting FileMaker to be more what I wanted it to be. Like others said, Xojo is very flexible and very easy to learn.

As for UUIDs, they are easily created with a function. There was a thread here with some examples of creating a UUID in your application:

The user guide has a helpful chart for seeing the Xojo equivalents to FileMaker functions here:
https://documentation.xojo.com/topics/migrating_from_other_development_tools/migrating_from_filemaker.html

The best place to get started and see how Xojo works for you is the intro to programming book with Xojo - it really is a nice guide and gets you off to a good start:

One thing to keep in mind is that Xojo is a programming environment, while FileMaker combines the database and development environment. You have much better options with Xojo, since you can pick from a wide range of databases.

I had done some testing of complex queries between a large FileMaker database, Microsoft SQL Server and SQLite all loaded with same data. The query basically built a pivot table comparing a large amount of rows. The SQL Server database completed the query in 12 seconds (with ColumnStore indexing) and the SQLite completed the query in 15 seconds. I tried several ways to do the same in FileMaker including the ExecuteSQL function and scripting building the pivot table. The best FileMaker could do was complete the query in 7.5 minutes!

You will have much better database backend options with Xojo. For importing / exporting files, they all have good frontend tools that allow you to manage the database and do imports, exports, backups, test queries, etc. Although it is less popular than it was in the past, the free MySQL Workbench for MySQL databases is a really fantastic tool with lots of great features. MySQL is also a very easy install.

SQLite is also a great database that can do a lot more than most will give it credit for. For a front end manager, there are a few out there. SQLite Studio is not bad, but I typically use my JetBrains IDE when working with SQLite. Valentina also has Valentina Studio which is a free tool for managing many databases.

Above all else, if you have done any scripting or custom functions in FileMaker - you will really enjoy using the Xojo IDE in comparison to what the FileMaker platform gives you for writing code. The FileMaker development experience is really abysmal…

Good luck and hope Xojo works out for you.

3 Likes