What I’m trying to do: preparing a proposal to colleagues
What I’ve tried and what’s not working: reading the API documentation
I am writing a briefing document for my colleagues proposing Anvil as a suitable tool to reimplement an application written in an obsolete 4GL. I need to compare and contrast the events the old language supports and those Anvil supports, and which components support them. I have started trawling the API documentation to create a cross-reference for my document but it is slightly tedious. Have I overlooked a convenient summary somewhere?
Given that you can add your own custom events and, using the Augmentation module of Anvil-Extras, you can add any jQuery event, that’s going to be a tricky document to write!
I love a forum where you don’t ask the right question and you get a good and useful answer anyway. Thanks for that; you’ve directed my reading in an obviously helpful direction I hadn’t stumbled on yet.
Also I’ve worked through the API docs quicker than I expected and now see that reading is going to be unavoidable. Tricky or not, I’ve got to establish Anvil is the way we should go. (My slight reservation is I now see I am going to have to dial-down the pure Python rhetoric I was planning. Expert knowledge of JavaScript remains relevant. )
'fraid I disagree. I know hardly anything about JS. My apps in Anvil are entirely in Python. I do use some external components (such as Tabulator) but that’s been wrapped in Anvil cotton wool by @stucork so I don’t need to use any JS at all.
It depends how far off the rails you need to go. If you are integrating loads of external JS libraries then maybe you’ll need some good JS, but if you’re not I don’t think you’ll need to touch it.
My knowledge of js extends as far as finding a useful library, wrapping it as quickly as possible in Anvil and then forgetting all about js once again for as long a possible.
As you have seen already from the other answers, most of us use a little javascript or css to go past some of the limitations. But the time spent on javascript for me has been no more than a few hours per year. I used it to create a few functions to manage things like scroll bars or keystrokes. The last time I used it was years ago. And today it would be even faster.
When I compare Anvil to other tools I focus on limitations rather than features. If you have no crippling limitations, then Anvil’s productivity is hard to beat.
The biggest limitation of Anvil apps is the lack of SEO. The routing module from Anvil Extras allows to use the url for most use cases, all the ones I need, but doesn’t cover the SEO side.
Other limitations like the lack of advanced queries in the database could be worth considering. I have a dedicated plan that gives me access to sql. I have used it a lot in the past, but in my recent apps I’ve used it less and less because the Anvil APIs are getting faster and more powerful. Like with javascript, if the Anvil tables aren’t good enough for you, you can use an external database.
Not that I know of. To collect the parts, it’s a bit of a treasure hunt, but not a long one, if you use Docs as a starting point:
See the link at the bottom right for component-by-component events.
If you do collect such a summary, it would probably help a lot of beginners if you would kindly post it on the Forum somewhere. Perhaps as a Wiki, so that it can be maintained by other Forum members over time.