
Live Coding a Stock Portfolio App - jimnotgym
https://anvil.works/blog/live-coding-stock-portfolio
======
meredydd
Hi! For those not familiar, this app is built using Anvil
([https://anvil.works](https://anvil.works)), a platform for building full-
stack web apps with nothing but Python.

It's got a visual UI designer, a built-in database, and you code everything in
Python (even the client-side code). As you can see from this demo/tutorial,
you can get things done pretty fast with it. I'm one of the founders, and
that's my voice you're hearing on the video; I'm happy to answer questions!

(PS: We're hiring - [https://anvil.works/jobs](https://anvil.works/jobs))

~~~
projectramo
Is it open source?

I mean, what if it breaks, can I go in and fix it myself?

If you decide to raise prices on me, can I just host it myself on AWS?

Are there any opaque parts?

~~~
meredydd
Anvil is a commercial hosted service. We have on-site/private-cloud versions,
but they're targeted at our larger business customers. Open source is great,
but charging for our product has enabled us to bootstrap a profitable, growing
business (did I mention we're hiring?) - which in turn means we'll be around
to keep it working :)

~~~
projectramo
I absolutely think you should charge for your product.

But if critical parts of the code are not available for the user to
modify/fix/own, I think it will only ever be used for internal sites and proof
of concepts.

------
tmuir
I do embedded development for a living, and this reminds me of Arduino in some
ways. I mean that in only the best ways. The main problem I see with Arduino
is that there are several hard ceilings that prevent a beginner from growing
into an intermediate embedded developer, let alone an expert, unless they
abandon the Arduino ecosystem entirely.

To what degree have you engineered the components to lock a developer in to
your system? Say I read a tutorial on a new web technology, and its source is
provided in javascript/html/css. Are there provisions in your system to
interface with other tools and languages, or are you locked in to whatever
Anvil has deigned to add to their vertically integrated walled garden?

Do you envision alot of your power users, or at least users that see success
from your system, eventually migrating to traditional web development stacks?

It looks great, and I'm really interested to try it out.

~~~
meredydd
Thanks for the kind words! We try very hard not to limit what you can do with
Anvil.

Every abstraction is incomplete, and the web platform is huge - so there's no
point in closing all the doors! People need to do low-level stuff sometimes.
Instead, we provide "escape hatches" everywhere, so you can use the underlying
complex technology without abandoning Anvil's core ease of use.

So, you can drop down to HTML/JS/CSS - and then wrap it in an Anvil component
you can import from other apps. You can provide REST APIs and use your code
from Android/iOS/Vuejs - but you can still use the same code from Anvil with
full autcomplete. You can run code on your own servers, or in your own IDE -
but you can still call it from Anvil client code, and it still has access to
all the Anvil server-side APIs (even our built in data tables). And every app
is just a Git repository, so you can push/pull your code around with any
script you like!

References:
[https://anvil.works/doc/#js_interop](https://anvil.works/doc/#js_interop)
(HTML/JS interop); [https://anvil.works/blog/http-api-
endpoints](https://anvil.works/blog/http-api-endpoints) (REST APIs);
[https://anvil.works/blog/uplink](https://anvil.works/blog/uplink)
(integrating code outside Anvil)

~~~
tmuir
Thanks for the excellent answer. Something else this reminds me of is Node
Red, which is a project I would have thought HN would have eaten up. I'm not
sure I've ever seen a post on here about it. Maybe for the same reason that
Arduino isn't very interesting to classically trained embedded developers,
graphical, beginner-based programming that aims to take the difficulty out of
what you do on a daily basis, will be met with a heavy dose of cynicism and
skepticism from the HN crowd, regardless of the merit of that negativity. Once
again, though, I think its a really impressive piece of software at first
glance. Best of luck!

------
jimnotgym
I had the immense pleasure of seeing Meredydd create a working demo app of my
idea in under 30 minutes with this.

Could this be the Visual Basic of the web app generation?

~~~
meredydd
That's certainly what we're aiming for!

Both my cofounder and I were enthusiastic users of Visual Basic, Delphi and
similar environments. Those platforms fell by the wayside in the move to the
web, and we lost the ability to build applications simply, quickly, and
without having to learn five different frameworks on the way. We eventually
got tired of waiting for someone to build a better application development
environment for the web, and built it ourselves.

(PS: Hi! Thanks for the submission :) )

~~~
vladsanchez
Delphi Gives You Wings!!! xoxo :-D

------
julianz
That landing page probably needs to include a line or two about the technology
- if you go straight there and have never heard of Anvil it's completely
opaque as to how the app will be built.

------
dzonga
beautiful products that shows the beauty of python

