Anvil BETA vs Classic

I’m new to Anvil and working on a project. I’ve seen several times that some feature is not working well in the BETA, however I’m a bit confused because Anvil refer to the beta as “editor” not as framework.

So I would suggest, bugs and hick-ups are only related to the editor itself, so when I try to build a page or run in the editor. But it should have no difference between classic and beta when the code has been published.

However, I run into a situation, which shows something else. I had a test project started few months ago in classic mode. Now I was using it in the BETA editor without any problem. Until I wanted to add a server link, it asked me to migrate the project and if I do, it will only work from BETA editor.
This shows much deeper dependency, then the editor’s features alone.
I want a stable project, therefor until I don’t understand clearly the dependency of BETA editor, I’m just switched back to Classic Editor. The server uplink just works fine, no migration.
I would use the BETA editor, since it seems much more logical to me, but I’m afraid of having trouble later in my project if I stick to it. It is not just a test project now, but something I have to make stable and reliable.

So, can someone clear this up for me? What BETA Editor means and how it is relates to a project once it has been published to production? Can I just use classic editor after I published a project with BETA or vice-versa? What are the dangers I should know about using beta editor - other than strictly editor features?


Beta refers to the editor, not the framework or the app.

Some features available on the classic are (were?) not available on the beta. For example it was impossible to add linked tables (it is now).

The beta editor provides a better interface for the same old features. For example you can look at the git history on both, but on the beta it looks much better.

But the beta also gives access to features that were not available on the classic. For example you can see the git history, but you can also manage multiple branches merge conflicts and much more.

Other features only available on the beta include management of multiple environments, multiple databases and much more.

When you read “it will only work from BETA editor”, it means you will be able to edit the app only on the beta, but the app will just work.

I don’t know what happens if you try to edit an app with multiple environments or databases with the classic. Maybe you will only see the default environment and the default database and the default branches?

Well, I don’t know simply because I don’t see any reason to even try to go back to the classic.

Until last week I had to when I wanted to share tables across apps, but now that the beta allows it, I am done with the classic.

See? 2023 You may have been logged out - please refresh the page - #2
The beta is already more reliable than the classic!


Thanks @stefano.menci! It clears this up and push me to the direction of using BETA version, but I would love to see a bit more specific answers about important dependencies.

An another topic about LTS version was mentioning that BETA has more issues regarding “changes on the fly” so I would be better to stick to Classic to avoid any changes during the development OR after release. I would most likely go with the open source Anvil once the app is tested and ready for production for most stable and controlled environment.

However, if I pick the BETA to develop, I might go sideways with this… that is why I’m hesitating.
If I just want a quick project it would be a no brainer, but I need to maintain the app for years once it is done and need a stable reliable versions, which won’t change api or other calls.

The difference between classic and beta editor in many aspects is similar to notepad vs visual studio: you can use both to write your software, but visual studio makes your life much easier. At the end your software will work exactly in the same way.

Comparing to text editors doesn’t fully explain the difference, because in Anvil the editor has access to things that a text editor can’t access. For example, if you clone your app and edit it locally on visual studio, you can’t create new tables or databases. There are tasks that are managed by the editor, and some of those tasks are still only managed by the classic (as far as I know the last one was sharing tables, so this statement at this point may not be true) and many, really many, only managed by the beta.

In those posts there was some confusion between the problems of the beta and the problems on the app. Anvil is developing both the beta editor and the runtime framework. Both developments come with hiccups, but they are completely independent from each other.

Sometimes you wake up and a feature in the beta editor is broken. Don’t worry, this has nothing to do with the app. If it’s important you can be sure that they will fix it fairly quickly.

Sometimes you wake up and the server is slow or there are failures. This is a problem with your running app and has nothing to do with the editor you use. Here the LTS could make sense, but after 5 years I had zero regressions, that is I never had to change an app because I woke up and something was broken. They have always fixed the problem in acceptable time.

In my opinion the problems that we have with the runtime are slightly more than the problems that you would have on a frozen / LTS system. LTS systems have hardware and OS failures too, and have security holes (even if the S is there especially to cover you from security problems), while Anvil adds some hiccups caused by its continuous evolution. But I like to see my apps getting faster without me doing anything. And I like to be able to put my hands on an app and use a new tool just because it has been added and it’s there waiting for me to use it. For example as I put my hands on old apps and see old slow queries, I replace them with the new q query operators. I couldn’t do that if I was locked in an LTS.

PS 1
I have an app that uses Google maps apis to calculate the distance between two zip codes. Yesterday the distance between two zip codes was NOT_FOUND for 30 minutes and our ecommerce site couldn’t sell certain items. It wasn’t Anvil’s fault. Yeah, Google is larger and more reliable than Anvil, but is not exempt from failures.

PS 2
I asked chatgpt to rewrite my post, perhaps I should do that more often, he/she/it/them/ze writes much better than me:

The comparison between the classic and beta editor in Anvil can be likened to the difference between using a basic text editor like Notepad and a more advanced IDE like Visual Studio. Both editors can be used to create software, but the beta editor offers additional features and tools that make the development process more efficient. However, the end result is the same, regardless of which editor is used.

It’s worth noting that the comparison to text editors doesn’t fully capture the range of capabilities that the beta editor has access to, as it can perform tasks that a text editor cannot, such as creating new tables or databases. While some tasks can only be managed by the classic editor, the beta editor has many more advanced features and capabilities.

It’s also important to distinguish between issues with the beta editor and issues with the app itself. The beta editor and the runtime framework are two separate developments, and while they may have bugs or hiccups, they are independent of each other. If a feature in the beta editor is broken, it doesn’t necessarily affect the functionality of the app. Similarly, problems with the app’s performance or server issues are not related to the editor being used.

In my experience, the issues that may arise with the runtime are outweighed by the benefits of using a non-LTS system. Anvil is constantly evolving, which can bring some challenges, but also allows for faster performance and new tools to be added. Being able to access and update older apps with new features and tools is a major advantage. In addition, LTS systems also have their own hardware and OS failures and security holes.