2025-08-03 08:35:54 +00:00
|
|
|
|
# FluidFrameDev 🧪🐍
|
2025-08-03 08:27:23 +00:00
|
|
|
|
|
2025-08-03 08:35:54 +00:00
|
|
|
|
> Anvil tutorials that slip smoothly from client to server.
|
|
|
|
|
> Python in a tux, code in sweatpants.
|
2025-08-03 08:29:28 +00:00
|
|
|
|
|
2025-08-03 08:35:54 +00:00
|
|
|
|
## What’s inside
|
|
|
|
|
A set of small, sarcastic, and surprisingly practical Anvil guides you can finish in coffee-sized chunks:
|
2025-08-03 08:29:28 +00:00
|
|
|
|
|
2025-08-03 08:35:54 +00:00
|
|
|
|
- **01 – Hello, Fluid Frame**: Button → server call → dopamine.
|
|
|
|
|
- **02 – Data Tables**: Persist stuff like a functioning adult.
|
|
|
|
|
- **03 – Server Modules**: Secrets and logic where JavaScript can’t see them.
|
|
|
|
|
- **04 – Uplink**: Talk to your local machine like it owes you money.
|
|
|
|
|
- **05 – Auth**: Users, roles, and pretending to be an enterprise.
|
2025-08-03 08:29:28 +00:00
|
|
|
|
|
2025-08-03 08:35:54 +00:00
|
|
|
|
---
|
2025-08-03 08:29:28 +00:00
|
|
|
|
|
2025-08-03 08:35:54 +00:00
|
|
|
|
## TL;DR demo
|
|
|
|
|
|
|
|
|
|
**Client (`Form1`)**
|
2025-08-03 08:29:28 +00:00
|
|
|
|
```python
|
|
|
|
|
from anvil import *
|
|
|
|
|
import anvil.server
|
|
|
|
|
|
|
|
|
|
class Form1(Form1Template):
|
|
|
|
|
def button_1_click(self, **event_args):
|
|
|
|
|
msg = anvil.server.call('hello_server', self.text_box_1.text or "World")
|
|
|
|
|
Notification(msg, timeout=2).show()
|
2025-08-03 08:35:54 +00:00
|
|
|
|
````
|
|
|
|
|
|
|
|
|
|
**Server (`ServerModule1`)**
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
import anvil.server
|
|
|
|
|
|
|
|
|
|
@anvil.server.callable
|
|
|
|
|
def hello_server(name):
|
|
|
|
|
return f"Hello from the server, {name} 👋"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Run ▶️. If it works, nod like you meant that to happen.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Repo map
|
|
|
|
|
|
|
|
|
|
* `tutorials/` – step-by-steps you can copy/paste
|
|
|
|
|
* `examples/` – tiny scripts showing patterns
|
|
|
|
|
* `assets/` – screenshots, gifs, and banners
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Why FluidFrameDev?
|
|
|
|
|
|
|
|
|
|
* No JavaScript required (but you can still flex).
|
|
|
|
|
* Python everywhere.
|
|
|
|
|
* Deploy in minutes, not after the next sprint.
|
|
|
|
|
* Learn by building, breaking, and laughing at your own mistakes.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
MIT. Steal the jokes too.
|
|
|
|
|
|
|
|
|
|
```
|