Anvil: A New Standard for Python Web Development?

By Camille Dunning
Age 16
San Mateo, CA

Create comprehensive websites simply by dragging and dropping, using Anvil - a Python-based service that takes a multifaceted approach to full-stack web development.  Even with other platforms such as Squarespace and Weebly dominating the ecosystem of drag and drop-based web development, Anvil provides a direct path for users to not only master the art of website creation, but also actively learn the Python language.  

Anvil was built by Meredydd Luff and Ian Davies with simplicity and efficiency in mind—using Anvil, all the time it takes to learn the cornucopia of languages typically employed in web development (HTML, CSS, PHP, SQL, etc.) can be eliminated.  Anvil was also designed for users of any level of experience with Python—aspiring developers may learn Python concurrently while using the service.  

With its abundance of resources and manuals, Anvil’s teaching algorithm passes all tests.  Anvil’s video tutorials1 each give comprehensive procedures on how to use their features, from their multi-user app capabilities to business analytics.  For those like myself, however, who believe in the worked-example effect, the service also introduces an array of premade templates2 with which users can experiment and learn the ropes of building web features with Python.  An Anvil-specific code documentation3 is also accessible through the main page, pictured below, and is structured with an introduction on using Python for the site and a brief set of instructions for each module, component, and function.  

UI design in Anvil both starts and ends in its online IDE, whose facilities streamline the workflow of both front and back-end development.  Among the most convenient features of this IDE is its toolbox from which all the fundamental web components such as links, calendars, and text, are dragged and dropped.  

Though users no longer have to write several lines of HTML and/or CSS to add components on to their page and manipulate them, an issue about this that might arouse concern is that since users are essentially only dragging code into an IDE, they are removing the rigor that comes with typing the code out.  It is important that in teaching students, CoderSchool instructors perhaps allow their students to drag and drop towards the beginning of their using the service, zero in more on how specific bits of code work, and then ease into typing the code out so that they can experience the workflow of creating an app with Python.  Anvil provides all the tools; the most important part is that they are taught in the most effective way possible.

Anvil is a program of substantial educational value, and when taught properly is great for a CoderSchool student who is at least at an elementary school age (even though it provides all the tools, the interface can seem a little sophisticated at times for younger students).  It is also worth noting that the pricing may be on the exorbitant side ($449 monthly for a Business plan), so if the CoderSchool begins to utilize this service, they should adopt it as a standard for teaching web development.  However, with its wide range easily accessible of resources and features, its seamless workflow, and its options to write code in Python or drag and drop, Anvil is  worth the cost for CoderSchool because it will serve as a powerful introductory means for students to learn front-end Python programming.