Is anvil good for starting to code with the goal of getting the MVP

What I’m trying to do:
I want to learn to do Web apps but only to do my own MVP’s to test my business ideas, once it proves I will hire a dev. I know the basics of python and understand the concepts, the only thing I need to learn is how the Web Mechanism works (in the sense of building a portal). Many years ago I 've coded in T Pascal. I do not want work a s dev I just want to create my won Apps, In most cases MVP’s. I work in finance.

What I’ve tried and what’s not working:
Talking with DEVS :slight_smile:

What worries me:
It worries me that I perceive Anvil as an awesome tool but do not see a lot of people using it

One of the draws of anvil is quickly spinning up MVPs, as well as those who only know python to make their apps and make them accessible on the web.

So if you know python, the learning curve for anvil is not steep at all – even for making the whole app yourself! The forum here is also very active and willing to help you work through problems as they arise and the documentation and tutorials anvil provides are also top notch to learn the framework.

3 Likes

Welcome to the forum!

What you’ve described is a great fit for Anvil, and where a lot of people start using it. Anvil’s also suitable for building out the product beyond the MVP, but that’s for later in your process.

4 Likes

Thank you, guys, that is very helpful
Can you tell me what are the limitations of Anvil, so plan my journey better, e.g. say what You can do and what you can not do with Anvil?

Probably too broad of a question. There are a million things an app could need - best to figure out your requirements and ask about those specifically.

In any case, Anvil is designed to have an escape hatch whenever you run into limitations: Escape Hatches and Ejector Seats

For example, let’s say you want a component that does not exist in Anvil. You can create it using HTML and CSS, and configure it to be usable in Anvil. You can even write javascript to interface with Anvil, and vice versa.

Some have created libraries that extend what’s possible (convenient) with Anvil. You can find those repos here:

The primary limitation with Anvil is the developer using it. The most practical thing to learn at the off - you need to be able to effectively demonstrate the vendor-lock escape to the open source app server and invest time in searching for all the limitations of that.

1 Like

I would say the biggest limitation is the lack of SEO.

An anvil app has its own domain, and has only one page at the domain level. You can do some routing, I do it on all my apps, but it’s browser side routing, not real pages that a search engine can index.

There are workarounds, but they all have some limitations.

Any other limitation I can think of has an escape hatch.

How much it is affecting your business (SEO, traction etc.?)
I am not very experienced here but assume this is a critical thing when you build an app that you want to show to the world.

Thanks

Zero.

Most of our apps are for internal use: they manage the crating and shipment of our products, manage the scheduling of our jobs, manage the tool life management of the milling bits for our CNC machines, QA data collection, etc.

Some are visible to the outside world, but I use Anvil to create apps, not sites.

The sites visible to the world and to the search engines are created using standard tools like OpenCart or Joomla. I know very little about that, I don’t manage that part.

Those sites have links to Anvil apps, or embed Anvil apps, or use Anvil app HTTP endpoints.

For example OpenCart inventory is limited, and working on an extension in PHP wasn’t my favorite thing to do, so I created a skeleton for the shipping cost calculation extension in PHP that calls Anvil HTTP endpoints. The Anvil app manages inventory in multiple locations, calculates the shipping costs, etc.

And if the cart contains items that have different requirements and would result in expensive or slow shipments, the next page in the OpenCart checkout embeds the “Shipment configurator” app that allows you to split the cart in multiple shipments. The end user doesn’t know about the app, but the app is there doing its job inside a SEO visible site.

1 Like

I use a static site with Javascript that communicates with Anvil HTTP endpoints for the shopping cart and links to the Anvil app. That way I get the benefits of SEO from the static site, and don’t use Anvil resources for people who aren’t actually customers.

Thanks for this.
I generally assume I will create apps for commercial use.