I guess it is self evident for experienced programmers but from the site I can’t tell exactly what it does.
For a static website, there's a lot of great options that don't require a "backend" per se. Vercel and Netlify are great if you use React and/or Next.js. For a no-code solution you can check out Webflow. If you want to just serve static HTML/CSS/Javascript pages, my preference is to do that with just AWS S3 (https://docs.aws.amazon.com/AmazonS3/latest/userguide/Hostin...).
Congrats on learning to code! If you ever want to chat about backend stuff feel free to reach out to nick@napkin.io :)
Our goal is to be the “CodePen for backend” and our one-off functions can be used for more than just websites (think mobile apps, IOT devices, etc). We’re excited to build out examples and enable discovery very soon!
Thank you very much.
[1]: https://github.com/captn3m0/ideas#svg-to-png-on-the-edge
Or do I just install the s3 package and do it like an express server?
Maybe all the devs that shot themselves in the foot editing php over sftp are getting old, and it's time for a new generation to learn that fear?
Does it really deploy code as I type? So the functions are mostly broken while I'm editing them?
- Are you guys deploying a separate project in vercel for every user or using shared project among all?
- What's the security mechanism for storing environment variables? is it in vercel itself?
- Any plans for typescript support?
- Intellisense was not working for an installed package. It'll be great if it can!
- The javascript and python runtimes are hosted on AWS. With the sandbox editor, resources are shared and code is executed in sandboxed VMs. For signed in users, each user is given a fully isolated environment with their own resources. - typescript: We'd love to add it, though we haven't decided when to do so yet. If more people request it we will surely expedite it! - environment variables are stored in AWS Dynamo DB and are encrypted at rest - Intellisense for installed packages: would love to add this soon as well, though like Typescript, still on the backlog for now. Would love to hear any other ideas for enhancing the editor experience if you have them! Happy to chat more anytime - nick@napkin.io
Saving / Deploying after every keystroke is not really what I want. I rather have a Save button so I have time to fix any errors because sometimes it just hangs there for a while saving/deploying something that I don't really need. In this topic, maybe seeing something more other than a progress bar, so I know that something is actually happening. -
This is the first time I've come across this https://magic.link/ service. Logging in via email like this is a fascinating idea.
Thanks so much for the questions!
Your demo on the homepage breaks if you try to `import pandas`
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
[Previous line repeated 221 more times]
File "/var/lang/lib/python3.8/site-packages/pandas/__init__.py", line 11, in <module>
__import__(dependency)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
[Previous line repeated 221 more times]
File "/var/lang/lib/python3.8/site-packages/numpy/__init__.py", line 150, in <module>
from . import core
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
[Previous line repeated 221 more times]
File "/var/lang/lib/python3.8/site-packages/numpy/core/__init__.py", line 9, in <module>
from numpy.version import version as __version__
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
[Previous line repeated 221 more times]
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 844, in exec_module
File "<frozen importlib._bootstrap_external>", line 939, in get_code
File "<frozen importlib._bootstrap_external>", line 1037, in get_data
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
File "/napkin-entrypoint", line 104, in _import
return original_import(name, *args, **kwargs)
[Previous line repeated 59 more times]My first reaction was "well, of course stuff like 'configuring servers' and 'CI/CD' (from the philosophy page [0]) isn't just overhead, it's beneficial and indeed necessary complexity once you need certain guarantees from your software's behavior and the way you deploy it"
But, I'm sure you're already well aware! That probably isn't the point of what you've built, it seems like it has a lot more value in lowering the barrier to entry for writing backend code (perhaps for people who otherwise wouldn't have bothered), which can still be a lot of friction even using something like Heroku, for instance.
This is what AWS Lambda should be.
Playing with Napkin, it looks very promising. Just the things I need: write random code, test it right there, press deploy and get the endpoint right away.
Love that it's free for personal use. Just make sure you make enough money on paid plans and don't shut down like Webtask!
Two things I'd love: 1) code review (just like GitHub) 2) team collaboration
Awesome job y'all.
it's amazing having seamless code sharing between front end and backend, with inline code documentation.
I made a whole oauth server like this! https://observablehq.com/@endpointservices/auth