18 ms·
Anvil: full stack web apps built only with Python
- typon 9y agoWhat if I want to run my own custom Python server code...say I have some Cythonized modules or C extensions. Do you guys support this model?
- meredydd 9y agoYes, we do! Check out the Uplink: https://anvil.works/blog/uplink https://anvil.works/blog/uplink It's a library you `pip install`, which lets you connect Python code running anywhere in the world to your Anvil app. Everything you can do from Anvil server code, you can do from your Python code, wherever it's running. You can define server functions, HTTP endpoints, access data tables, etc. We have customers controlling IoT devices with it (like that Raspberry Pi video). We also have companies driving big machine learning jobs on EC2 servers with tons of GPUs - but with all the UI and housekeeping in Anvil.
- typon 9y agoDamn, that's cool. I'm going to give this a try now
- gigatexal 9y agoI have been looking for this for a while now! Going to tinker with it.
- CamTin 9y agoAnybody know of any self-hosted alternatives to something like this?
- yorwba 9y agoIt's an "enterprise feature" https://anvil.works/features https://anvil.works/features On-site installation For when you need to keep sensitive data or apps inside your firewall. Anvil on-site installations allow you to develop and deploy your apps entirely in-house.
- CamTin 9y agoI was thinking more in terms of ameliorating the risk of building a successful small business on this and them going out of business after gorging themselves on VC money and having a heart attack.
- tim333 9y agoYou could probably rewrite your thing in Django or similar in the event of that. Given that the majority of web apps don't turn into successful small business it might be a good way to try stuff.
- CamTin 9y agoMy use case is closer to being a small dev shop doing webapps for other people. If they go out of business, I would have tons of Django/whatever work all of a sudden, but lots of pissed off customers when I don't have time to rewrite them all. Plus I (morally) would need to warn them about this risk when pitching/selling them, which would probably put a sizeable dent in sales: "Also, there's a chance that this completely separate company stops supporting their product and we have to charge you for a complete rewrite of your app".
- maxxxxx 9y agoI usually stop reading reading when I read "Contact Us For Pricing". I would much prefer to see a straight number.
- nmstoker 9y agoSaw it demo'd at PyConUK this weekend and it looked v impressive!
- daviesian 9y agoThanks! We had a blast at PyCon. We built over 140 demo apps in four days, and now we're waiting for our voices to return :)
- msl09 9y agoDoesn't seem to work with firefox :(
- meredydd 9y ago(founder here) Urk? Firefox is an officially supported platform for the editor. What didn't work, and what version of FF are you using? Once you've written an app, it should work in everything since IE11.
- Mtinie 9y agoJust a heads up, but this may run into some confusion amongst the Mac development community with the long existing local web server tool, Anvil. https://anvilformac.com/ https://anvilformac.com/ I’m excited to try the Python-based Anvil for quickly prototyping interactions to share with my product and dev teams. Edit: Typo!
- submeta 9y agoLooks very promising! - Does anybody know what technology stack is being used here? Django + some JS stack for the front end?
- meredydd 9y agoGlad to hear it! Some details about the tech stack: * Front-end code is compiled from Python to JS with Skulpt (http://skulpt.org http://skulpt.org) * The back-end code runs in a custom Python sandbox. Calls to server functions go over a secure web socket (this lets us do fun things like returning database rows directly from server functions, rather than faffing with REST APIs all day) * The built-in database (Data Tables) is based on Postgres, using its JSONB and GIN indexing to create a table you can search efficiently on any column. This also means that things like transactions are properly robust.
- osullivj 9y agoInteresting. I've been looking for alternatives to React or Angular for some time. I've enjoyed playing with Elm recently. My preferred back end is Python Tornado RethinkDB, so browser GUIs in Python is appealing. I looked at https://github.com/skulpt https://github.com/skulpt and it looks like the compile to JS step happens on the client side, unlike Elm. What's performance like?
- meredydd 9y agoStrictly speaking, that compilation happens in JS, not necessarily client-side ;) (Right now, it does run in the browser, but we'll be moving it to the back-end soon to improve performance. For now it's good enough.)
- metalliqaz 9y agoCan you elaborate on this? From the Skulpt website: "Skulpt is an entirely in-browser implementation of Python." It sounds like you implemented python in JS, so there is no compilation to JS. The application code is always python and is evaluated on the client, no? If you move it to the back end, would that not be something like Trascrypt?
- meredydd 9y agoHi there! Founder here, slightly gobsmacked to see this top of HN. Do feel free to ask me any questions about the platform :) We also have a bunch of tutorial-cum-demo videos at: https://anvil.works/learn#tutorials https://anvil.works/learn#tutorials
- ttul 9y agoOooh, cum-videos!
- esistgut 9y agoDo you have any plan to open source the platform?
- meredydd 9y agoHonestly, we would absolutely love to open-source it! The issue is that we're a bootstrapped start-up, and it's rather difficult to make open source pay the bills, even if it becomes huge (see, eg, Docker's troubles). By charging for the product, we can claim some of the value we create, and be sustainable so the platform stays around.
- tim333 9y agoPerhaps you could open source a lite version while keeping the premium version paid for?
- erikpukinskis 9y agoAre you worried about would-be customers self hosting? Because I doubt there’s that much overlap between would-be monthly customers and those who are eager to self host. Or are you worried about clones?
- ensignavenger 9y agoFor a counter-example, see RedHat :) I can certainly understand your position, but it isn't impossible to make money from Open Source. One approach to get some funding might be a KickStarter or Patreon type offering. (Or a combination of both). You also have your hosting service. Just some ideas, there are lots of open source business models- good luck whatever you decide.
- jimnotgym 9y agoI remember someone saying on HN that what the world needed was a way to make web apps that was as easy as making a Windows form in Visual Studio. Could this be that app?
- tmikaeld 9y agoWhenever i see these cloud apps that seem like a good idea, I just think of spiralling costs similar to the likes of firebase written about on HN before. Their pricing page doesn't show anything about usage limits and if it is "per site" or "per domain" or "per project".
- meredydd 9y agoPricing is per-developer-seat; we don't limit the number of apps you can build or publish. Usage limits are pretty soft right now (depends heavily on what you do in your code and how hard you're hammering our servers), but the general intention is to charge you more as you scale up your team, rather than because you got a few thousand users.
- tmikaeld 9y agoDoes Anvil render server-side or is it client-side only? My issue is if being used for websites, on average our sites get ~50k visitors a month or even spikes with that amount. The same goes for complexity of the system, for simple html sites it will not matter much but for very dynamic apps this will require a lot of CPU time.
- icebraining 9y agoReading the docs, it says the Forms run on the client, so most rendering should run too. Client-side rendering - while it has its disadvantages - shouldn't be worse for the CPU time than server-side, though. What's your concern?
- gonational 9y agoSo as long as I build the next Twitch on my own you guys will just charge me $50 per month? That’s freaking awesome! It’ll save me $5300 per month in hosting already! [heads over now]
- blunte 9y agoIt is this lack of clarity (published limits) that scares many of us. It basically says that we won't know when we'll be cut off or shut down, but we'll find out when it happens! So if we build something that becomes wildly successful, we could suddenly be in a world of hurt if our site is deemed too heavy and we're throttled or worse. It would be like Pokemon Go - big explosion, lots of tiny pieces, customers gone. I urge you to have some kind of professional plan with guaranteed tiers. Otherwise, only naive people or people who really don't care about the future will use it (outside of the prototyping case everyone else is mentioning). On the other hand, it would be the perfect tool for someone on upwork or the like to do a gig ultra fast, leaving the client to deal with all the future pains. But since most projects end up not huge and successful, that might be just fine!
- vladsanchez 9y agoCan't help to think about Delphi. Good job! ;-)
- toolittle 9y agoI only watched the video, so it is a bit early to judge, but I wonder: 1. Why put that much effort in explaining it takes only 6 minutes in setting up a web app? Anyone who has done any serious web app knows how quickly you can set up a simple app really does not matter much for an app even of moderate size, let alone big ones? 2. Why yet another attempt to abstract away everything and using one language (python) only? What happens when you need to debug nitti-gritty js/css/html/sql?
- JustSomeNobody 9y agoThese tools are for simple CRUD apps for people who aren't necessarily strong developers to begin with but need to put together something anyway. That's why the demos focus on speed and only ever show the tiniest of applications.
- meredydd 9y agoI'd dispute that! There are much larger applications built on Anvil; it's just hard to build a two-week project for a demo video, and harder still to build a two-month one ;) We're starting to post some larger examples (check out our "download portal" example at https://anvil.works/learn#examples https://anvil.works/learn#examples - I'm also working on a video series building a SaaS app over the course of a few hours). But the biggest apps are, of course, our customers', and we can't really publish them as examples.
- JustSomeNobody 9y agoFair enough. I may have been a bit harsh (though not really on purpose). I'll look through some of the larger examples. I just tend to think that if one's team has the chops to write something large and more complicated than a CRUD app, they aren't going to want to start here. That's not to say there's not a role for these types of tools...
- methodover 9y agoWhat's the largest, most complex application running on Anvil today?
- jtwaleson 9y agoAwesome! I work at Mendix where we've been building something similar for just over 11 years now. Companies in this space (rapid app development for the web) typically target the Enterprise market and are typically not open source, I think that's why they don't get much interest on HN. The market is heating up though, we are growing fast and our competitors do as well. Moreover, Google (AppMaker) and Microsoft (PowerApps) have entered the race in the last two years. Looking forward to seeing more of Anvil.
- jimnotgym 9y agoI can see this as an amazing teaching aid too. You can take away all the learning about tech stacks and platforms and various languages and server config etc. for a while and concentrate on developing the idea and developing a process. Edit: My son is going to love this when he gets home! It seems good enough that you could push the prototype live as an MVP. I am interested if you grow to something to the stage where you want to move off this and onto something more customised, do you have access to be able to properly migrate the DB somewhere else?
- meredydd 9y agoNo kidding! We were at PyCon UK this weekend, and we had an 8-year-old girl building database-driven web apps in an afternoon: https://twitter.com/anvil_works/status/924648315983155200 https://twitter.com/anvil_works/status/924648315983155200 As to your second point - yes, that's a common pattern. We see people going "oh, let me just sketch out the UI...well, I'll add a bit of code...oh, look, it's in production and scaling!" We do have a lot of support for integrating with external systems, so it's easy to gradually move off from (or on to) Anvil. External access to the database is just the start of it :)
- 20years 9y agoUsing this as a teaching platform was my first reaction too. I don't think I would use it for anything production though without an option to export the app (database & source for my app). I would pay the listed monthly subscription fees in a heartbeat. That is a no brainer for the time this appears to save but I have learned the hard way too many times in the past on being locked into a platform for business crucial stuff. I would be fine even paying a one-time fee of few hundred dollars to be able to export my app if I need to. Simply for the peace of mind of not being locked in if something happens.
- ceronman 9y agoThis looks really really cool. In the 90s we had RAD tools like Delphi or Visual Basic which allow you to create simple apps very quickly. I feel that we are missing RAD on the web these days. There are so many different moving pieces. To do a full modern web app you need to learn different languages and frameworks plus other technologies for hosting such as containers or AWS, etc. That might work for complex apps, but sometimes you just want to do something simple that you can easily design visually, use one language and hit one button to publish. I have the feeling that Anvil is moving in this direction. And extra love for using Python :D
- zitterbewegung 9y agoVisual Basic where you replace basic with Python is compelling enough. On the web with a visual design editor ? That’s worth more than 50 bucks enough so that you can crank out a prototype.
- gadders 9y agoSilverStream used to do something a bit similar, and compile everything into Servlets. This is pre-2000. http://www2.sys-con.com/itsg/virtualcd/java/archives/0403/benfield/index.html http://www2.sys-con.com/itsg/virtualcd/java/archives/0403/be...
- amrrs 9y agoDid you mean Microsoft Silverlight?
- gadders 9y agoNo, this waaaaay older than that. I'm talking 18 or so years ago.
- ajksharma 9y agoWent nostalgic. I remember SilverStream. I had made a proposal for a movie theatre booking project around 2000 and had proposed using this. Though the client didn't care, I was very much in to the java hype raging then. (this is India)
- g105b 9y agoI love this idea. It reminds me a lot of old school .NET worked within Visual Studio, or the Delphi editor for Windows application forms. .NET has evolved into a totally different beast so I don't use it any more. This framework brings back the simplicity that I feel has been lost from drag and drop tools. Drag and drop tools exist for the web, but there's nothing that introduces and organises the use of simple programming languages within the mix - at least that I know of - so this is definitely going into my list of cool tools.
- rekshaw 9y agoLooks very impressive. Any plans of offering this a-la-gitlab: paid hosting + support OR free downloadble source but then you're on your own? Main concern is that for something to really become ubiquitous the community should be able to contribute and not just be in the hands of two developers (no offense, I think you did a fantastic job!)
- icebraining 9y agoAlso, and exactly because I find it very interesting and well done, I'm curious about what happens if the company goes down, or pivots, or gets acquired.
- jo909 9y agoI share this concern. I made a resolution not to tie myself to proprietary services for anything that I couldn't replace/move within a few days. I can move containers, databases and even serverless functions. Starting from scratch seems to be the only option here, so I would hesitate to even start a small prototype. Which is a shame because I really like your model.
- sandGorgon 9y agoPlease do jupyter -> webapp. that's a ready market for you.
- meredydd 9y agoFunnily enough, we had someone build a web-app out of his Jupyter notebook just two days ago. And it only took him a couple of hours: https://twitter.com/anvil_works/status/924352019258920960 https://twitter.com/anvil_works/status/924352019258920960 He just copied and pasted his code from the notebook into an Anvil server function, and it ran first time! It's all just Python, at the end of the day.
- photonios 9y agoThere's something comparable being developed by a company in Portugal: https://www.outsystems.com/ https://www.outsystems.com/
- tim333 9y agoOutsystems has been there a while - I remember looking at it five years ago. It's kind of expensive - "starting at $2100/month".
- pjmlp 9y agoTheir target market is more the type of companies that don't think twice about Oracle licenses.
- photonios 9y agoOh yes. I know some people who work with them, and they charge quite a bit of money. They're exactly like Oracle, they'll charge you for every single feature and these are not small amounts. Not to mention the pain you have to deal with once you want to do anything more complicated than their platform provides. I am not aware of anything stories in particular but I can imagine that migrating away from them is not an easy task. On the other hand, I gotta give it to them that it does some things well. I definitely see it solving problems in industries that need custom software but simply don't have the resources or capital to get a completely custom, from-scratch system.
- foolinaround 9y agoCan the data be replicated to our own pg database from the built-in database? Close to real-time?
- meredydd 9y agoAbsolutely - please ask about our Enterprise plans ;) That said, even with the standard plans you can plug into your own Postgres database from server code (just `import psycopg` - it's only Python, after all). And using the Uplink, you can access Anvil's database from your code anywhere on the internet, with the same API as Anvil server code.
- johnyseeslately 9y agoWhat you should really do is also sell anvil in a form that makes it possible to host on premise or in AWS or somewhere else. Even if you charge a 1000$for that people would pay up. You don’t need to open source everything but you can sell the compiled c files instead with installations and support guidelines. I would love to use it but if I cannot control the infrastructure I feel my hands are tied.
- meredydd 9y agoWe do exactly that! (https://anvil.works/blog/anvil-on-site https://anvil.works/blog/anvil-on-site) Installing and running it is typically a single 'docker-compose' command. If you're interested in this option, please do drop us an email at sales@anvil.works.
- derstr 9y agoBut unlike the other plans the pricing is not transparent.. even non enterprise customers may want this option.
- jimnotgym 9y agoI'm interested in this Also things like bulk uploads to a table for migration, would I have to write a service for this? I have an app I would like to migrate that has a sqlite table with static data in it, that I could see using this. I suppose I could use the server connector, but what other tools does this have?
- metalliqaz 9y agoIt's $50 a dev/month for custom layouts and user logins? What independent could afford $600 a year?
- Jake232 9y agoAlmost any? Think of the time saved.
- rahoulb 9y agoWhat is your hourly rate? Is it less than $50/hour?
- metalliqaz 9y agoI fail to see the equivalence. I'm not contracting with Anvil for development or support. I'm basically buying a tool, in this case a tool that is more expensive than my hosting costs.
- rahoulb 9y agoWell - two areas. One, if you're using it commercially, it's going to pay for itself pretty quickly. I rarely do client projects for less than several thousand pounds; I reckon I could probably churn a lot of them out using this in half the time. Two if you're not using it commercially, it's still a very low cost; maybe more than pure hosting but it does a lot more than just hosting.
- metalliqaz 9y agoIs it supposed to be an either/or? I don't see how I could give up my Amazon services.
- infinite8s 9y agoIs your time worth 0?
- 9y ago
- bobjordan 9y agoSo I've been working on a python flask web app in part time/spare time for my business for almost two years (in addition to running a company doing several million USD in sales over that time without the app.) In that two years, I've tracked my programming time with wakatime and I'm at >1000hrs now, more than 25 full-time 40hr work weeks of actual coding time. I'm running the app on a dedicated GPU server, as part of the apps function is to evaluate 3D CAD files. Time spent managing and running a dedicated server is not even counted in the 1000hrs. Of course, I've also had to learn to be a Postgres database admin and dozens of support libraries. And, certainly must have at least some javascript/jquery. Libraries like flask-admin and flask-security are great. But, when you need them customized for production, it takes weeks of time to dig in and actually learn how they are built from the inside out. Need to subclass and override much of it to finally have something usable. I literally just spent about a month hacking on flask-security to get the login/email-confirmations/email templates/argon2-hashing/2-factor-auth the way I need it. Then, I watch this video the guy replicates most of the functionality in six minutes. Nice work, definitely looks like heading in right direction.
- dtornabene 9y agoI'm curious what you're using to evaluate the CAD files? Do you mind sharing that information?
- ApolloFortyNine 9y agoMy personal experience with Flask has led me to believe it's many times easier to expand on vanilla Flask then it is to try and incorporate any of the flask-* libraries.
- dfox 9y agoI ended up with writing my own flask extension that integrates some useful flask-* libraries and client-side JS libraries in very opinionated way. Somewhat ironically I'm currently in process of spliting that into separate flask extensions...
- peller 9y agoHaving just built a boilerplate that integrates a bunch of the flask-* libraries, I think the key really is that you need to be careful about how you organize your code: it's important to be able to control the order of registering the various extensions you're using relative to when you're registering your app code. Otherwise you're going to end up in circular-dependency import hell. Buried in the documentation is a hint on how to do this correctly with application factories[0], but if you don't know that's there, it's very hard to just stumble upon how to correctly organize everything. [0] http://flask.pocoo.org/docs/0.12/patterns/appfactories/ http://flask.pocoo.org/docs/0.12/patterns/appfactories/
- mixmastamyk 9y agoAwesome work. Skulpt says it currently handles Python 2, and not the full 2.7. How long until that is fixed?
- meredydd 9y agoCompiling Python to Javascript is always going to be incomplete. (For example, it doesn't make much sense to open() a file from the browser!) However, we run full CPython (2.7 and 3.6) on the server, so any language feature you like is just a function call away :)
- mixmastamyk 9y agoOk, so I can run 3.6 code on the server and return the output? As Py2 is EOL in about two years it feels risky for anything to be built on it.
- meredydd 9y agoThat's exactly what you can do! If you open up a Server Module, you'll see a drop-down in the top-right. That will allow you to select a Python 3.6 runtime. The client-side code is Python 2 only for now, but we're already upgrading our Python-to-Javascript compiler to include Python 3 syntax.
- techdragon 9y agoAre you looking at Transcrypt https://www.transcrypt.org/ https://www.transcrypt.org/ as a replacement for Skulpt at all? Because its here and it already works great for Python 3.6, it just needs more usage to develop workflows and examples around it and tools like Anvil are a great way to get started with any technology.
- tim333 9y agoThe IDE on the skulpt.org page says "Python 2.6(ish)"
- startupdiscuss 9y agoI am torn: 1. Great idea, just what "we" need in the language we need. (Python cloud RAD). 2. But I don't want to do all this work and be locked into your system forever. I want to be able to run this on Digital Ocean or AWS etc. if I want. I think am open source version where you give people an option of hosting on your site at first would be the best compromise. Please consider it.
- sametmax 9y agoYou are basically asking them: "I love your work. Please add an option so I can use it, benefit from it, then leave and never pay you again."
- nicpottier 9y agoThis is not an unreasonable ask though. You should certainly think twice to pigeon holing yourself with any technology that you do not have full rights to and will be lost without a specific provider. It does make figuring out your business model more complicated, but having SOME story for what will happen if you go out of business or start being a bad actor is something you need to figure out. It isn't impossible though, our SAAS is Open Source and we survive, though yes, some customers do choose to self host. You just end up with fewer enterprise customers and more smaller clients.
- sametmax 9y agoI understand the request, because I would not use the service myself for the same reasons. But let's be real, if it became open source, I would just host it and never pay for it. They would have to do more work for less money. Hardly fair. They can always start with a strong commercial offer, then later address the user locking issue. For them, I think it's a way better strategy. FOSS first is very hard to monetize. The Libre community is a terrible customer.
- hasenj 9y agoIf I make software that enables you to create things, then the software is mine and I can charge you for using it, but what you make using my software is yours and you can do whatever you want with it. Doing it the other way around is wrong.
- visarga 9y agoCoudn't find the download link inside the members area. How do you install it?
- rahoulb 9y agoThis looks amazing (speaking as an old Delphi programmer). My three questions: - I have a client whose app sits idle but then gets hit by maybe 300 concurrent users, all reading and writing within a few seconds of each other - do you have anything in place to deal with that kind of spike in usage? - It looks like it's designed to be always online - any plans to make it offline-and-sync capable? - Any documentation or hints on automated testing?
- astrapat 9y agoAnvil looks like the Wix of python sites. personally, I'm going to stick to flask and django. this is nice and all... but you still have to learn python to get it going. My preference is to learn Python/Flask via books, tutorials, and as part of a big community (websites/forums, IRC, etc). But... I really don't see the benefit of this, even after watching some videos. the drag and drop stuff? that's just html and css (child's play) python? that's still python. I'd much rather just open a blank Ubuntu 16.04 server on DigitalOcean and pull my repository from github. I.e. work like a real developer :) I wouldn't mess with Anvil, personally. I'd prefer to do code by hand, with a framework that has been around for a while.
- sametmax 9y agoI love Django and flask. I'm an expert at both. I train people at both. But come on. 6 minutes with DB, responsive design, registration (including social auth or AD) and online deployment ? I can't top that. No even close. Even with boostrap and pythonanywhere. And I know the freaking API by heart while most people are just trying to figure out what's going on. This stuff is amazing for somebody who just want to fiddle with a CRUD app. The ratio investment / return is crazy.
- kolanos 9y agoAnd the thing that a lot here are missing is the integration aspect. If you have team members who aren't coders, they can still participate with the drag-and-drop UI builder. Anvil is definitely on the right track here, I'm not a fan of drag-and-drop UI builders, but can definitely see how useful it would be for a product person on my team being able to jump in and make changes to the UI without needing to tap me on the shoulder. That being said, I'd prefer a code-based representation of the UI and didn't see anything like that -- would be interested in knowing if I can build UIs via code alone. Wish Django had a mature integrated client-side UI toolkit like this, I'm amazed given how advanced django.contrib.admin is that the Django team hasn't already generalized much of the admin components. If anyone is aware of something like this already let me know, with React eating the world it looks like DRF + React is the only way to go these days..
- dalacv 9y agoIs it possible to implement drag and drop functionality in an app? For example, I want to drag an object into a list of objects as in this example: https://forum.bubble.is/uploads/default/optimized/2X/8/856f62afb8b68a957f40e0b6b59b0f6ff0dd5ca8_1_690x389.gif https://forum.bubble.is/uploads/default/optimized/2X/8/856f6...
- neonbat 9y agoi met these guys at pycon. they are very responsive to feedback.
- meredydd 9y agoHello! I don't recognise your username, but might recognise your face. Hope you enjoyed the con :)
- leerob 9y agoLooks promising but my biggest gripe is the visuals. Maybe in the future, you could support different themes or skins? It's great to be able to bootstrap a website quickly, but if this is going to be customer facing the design needs some love :)
- meredydd 9y agoWe already do! Paid users can choose "Assets" in the app browser and edit the HTML/CSS/etc. (You can also check the app out with Git and edit them there.) We'll also be adding more built-in themes before long :)
- neil_s 9y ago+1. I know that enterprise might be your main focus and internal web apps don't need a lot of styling love, but just the ability to add Bootstrap or Semantic UI components would make this beautiful. Of course, hiring a designer to work on the Anvil website itself as well as the default styling couldn't hurt.
- airfoil 9y agoI can't wait to try this out! The introduction video is incredibly compelling and it looks like an amazing product. Nice work!
- voidmain0001 9y agoI searched the documentation URL with Google for the word "tenant" and it returned no results. Does this mean that Anvil does not support multitenancy, for SaaS sites?
- meredydd 9y agoAre you looking for this? https://anvil.works/blog/multi-user-apps https://anvil.works/blog/multi-user-apps Multi-tenant/single-DB is a pretty common and straightforward pattern with a lot of support in Anvil (eg restricted views, as described in the video). I'm also currently working on a multi-part video series, showing the creation of a SaaS product, from scratch to monetisation. Sign up for our mailing list, and watch this space :D
- voidmain0001 9y agoMuch obliged. I will look to see if this can be extended to provide logical groups of users for the same resource.
- meredydd 9y agoYes, it can! Check out the "Secure download portal" example app at https://anvil.works/learn#examples https://anvil.works/learn#examples - it's got group-based access control. (Nothing magic - it's just a database. Even user records are just table rows, so you can link or categorise them however you like!)
- jimnotgym 9y agoI'm actually hoping that this will allow me to avoid a very grave situation, which is that we have some workflows which we were going to be pushed into handling with Sharepoint! I'll take Python any day!
- hackerews 9y agoIs this like R's Shiny for Python?
- Walkman 9y agoThis looks interesting but I would never lock in myself to a proprietary platform completely.
- cloudwizard 9y agoI would pay double if the app produced was a progressive web app.
- pryelluw 9y agoWho owns the source code?
- linsomniac 9y agoThis looks really nice, reminds me of what you could do with Visual Basic for creating GUIs, and I really liked that experience (though I did very little of it). One thing I really don't like about it is how the free pricing level doesn't have authentication. Seems like I can't really build a toy project that I then "graduate" to a real app. Or maybe the plan is that you build it as a private app as a toy and then start paying $45/mo when you want to make it public and have auth? I feel like if the free level was limited by something else, like database size or something? I can understand why they want to drive people to revenue-generation. Just seems like a feature that hurts more than it helps, by keeping people from even trying it?
- deleted 9y ago[deleted]
- cies 9y agoLike many I'd be afraid for to much tie-in with this system. If I could export my code is a way that it's usable and based on open source libs, I have the liberty to extend it beyond what Anvil's limitations. But now I'd probably still take the upfront cost to get a bigger app started without tie-ing in with a service. For rapid prototyping it seems awesome!
- mephitix 9y agoI love it. But seeing this now, in 2017, is a bit depressing to me. For the last 15 years Microsoft has been putting out the same RAD tools, but based on ASP.NET/C#/Visual Studio. Things like drop-in provider-based OAuth, editing versioned database projects, WYSIWYG UI, etc. Publishing to the web, even the flow of clicking on a button to edit its handler looks like it was based directly on Winforms which is a 12 year old technology. Why aren't there more of these things out there? How much time now is spent learning the latest and greatest framework/toolkit/etc. only to spend more time configuring individual components and cobbling them together vs. just getting the product finished and published to users? I don't mean to be cynical but I wish there was some way all these different tools somehow built on each other instead of constantly resetting the dev stacks. For example, Create React App - I'm constantly impressed by how it has eschewed configuration in favor of getting things done while still having a lot of flexibility. It draws on a lot of great, previous past projects and seems to define the train of thought for other react projects. It seems to me that people like Dan Abramov, Brent Jackson, and others are on the same wavelength which is incredibly powerful for the react community. There should be a way for that sentiment to extend beyond React, into the database world, the IDE world so that we can collaborate and create more nice things like this.
- viraptor 9y ago> Why aren't there more of these things out there? There are a few - I did like the MS PowerApps recently. But these things work well in an enterprise environment where "works" is important, but "users don't want to kill themselves during interaction" is not. These tools are usually great at putting together a quick CRUD app that fits requirements. But they're typically not flexible enough to give you that finished and polished for users product. If you want to do that rather than a flow of basic forms and tables, you'll start fighting the framework at some point and then think "maybe I should've just used X from the start". Maybe it doesn't have to be that way, but I did see this a lot.
- mephitix 9y ago"users don't want to kill themselves during interaction" - touché :) I agree with you, but taking the create-react-app example again - I can very quickly scaffold a react app with necessary toolsets, built on top of webpack. This gets me up and running without having to mess with webpack config. At some point, I need to break out of these opinionated guardrails and do my own thing. At that point create react app has an 'Eject' feature which opens up the black box and dumps all webpack configuration and scripts for me to hack away on. The Anvil tool seems to have something similar where you can grab all the sources, download, run, and publish it yourself.
- gigatexal 9y agothe editor is really nice, it's ability to sense what I am about to type is borderline magic. It'd be cool if that were open sourced, but I understand if few to none of this is going to be since they're trying to bootstrap a business.
- meredydd 9y agoThank you! When the PyCon UK lightning talks go up on YouTube, you'll be able to see my talk from last night about how we built that autocompleter. Bottom line: Traditional web dev has starved us of decent tool support. Give us even a really basic autocompleter (especially one that knows about what's happening in the server and database) and it feels like borderline magic :)
- mantracker 9y agoHey, so there is another solution that is pretty popular out there that I'm sure you already know of: https://bubble.is/ https://bubble.is/, and it doesn't seem to require any coding. Can you explain what are the differences between Anvil and Bubble? I am currently using Bubble right now to make web apps. What makes Anvil better?
- hasenj 9y agoAm I the only one who things this is a really really bad idea? The world does not need more interpreted languages on the backend. Visual UI layout is cool for beginners but almost useless for serious projects. Plus if you're a beginner (or a non-programmer) maybe an existing CMS is better? e.g. WordPress. If a project started with this tool was to ever evolve and get big, I can't imagine that maintaining it will be anything but a nightmare.
- gpsx 9y agoI am sure you are not the only one who thinks it is a bad idea. But I disagree with you. I think the future of programming (or I should say, one branch of it) is making programming easier, and letting the computer do more work. I definitely think working in this direction is a good idea. Regarding CMS, I view those as high level languages. And in that regard I think we can improve on them a lot.
- hasenj 9y ago> I think the future of programming (or I should say, one branch of it) is making programming easier, and letting the computer do more work. I think this is already what is happening. Computers now are orders of magnitude faster than they were 15 years ago, and yet fundamentally nothing really got better. We just have more people producing lesser quality programs. While producing something is easier than before, the new things are not necessarily of good value, because a lot of the tools that enable this are layers upon layers of abstractions and virtualization (e.g. Electron). I'm not sure that this is any good. And fundamentally this is not that different from VB6, for example.
- derstr 9y agoThere was a time when typing a document in your computer meant you have to know an macro language (remember wordstar?) ... the current state of programming is such and a big barrier for non programmers. We need to make it easy just like MS word made it easy to type complex documents in the computer.
- chaitanyana 9y agoThis is Awesome,been trying to build something like this
- andybak 9y agoI stopped at the pricing model. The jump from $0 to $49 per developer precludes my typical "dip my toe in the water" approach with new platforms. I'd ideally want to try it out in production with a real, small commercial job. But if I do and decide not to expand my use of the platform, then I'm committed to a $600/year hosting deal for a small client... And I won't use it on a bigger client at first due to the risk of lock-in. In fact - lock-in is the biggest problem with using this. It's a paradox. I'll only willingly get locked in to platforms that I'm 100% happy with and I am only 100% happy when I've been using a platform for a reasonable length of time. Otherwise I risk having to rewrite a 5 year old website for a client out of my own pocket when you decide to pivot or you run out of cash/luck.
- qualitytime 9y agoThat looks like a fantastic app to be working on. Also, a great job with the demo video explaining what it is. The only feedback I could give for now is that the "Free" plan should include some extra feature from the paid plans (e.g. User Authentication, Custom Domains, etc.) as it seems way to basic and the first paid plan is quite expensive. I may sound like a cheapskate but you'll pull in the right crowd if you tax other metrics like traffic/bandwidth/cpu/ram/etc.
- acmecorps 9y agoThis is awesome! But, I wish there's one similar for Ruby - as I'm not sure if I want to learn Python now that Ruby is in my toolchain.
- shurane 9y agoSounds a lot like what http://www.rubymotion.com/ http://www.rubymotion.com/ was doing for iOS apps.