view.py
view.py copied to clipboard
The Batteries-Detachable Web Framework
Even if we did have more parsers (we don't as of now, see #13), we don't have any functionality for actually using them on the server side. This shouldn't be...
As of now, view.py only has a built in parser for JSON, which isn't suitable for everyone's needs. Supporting as many parsers as possible would be good.
Forms
Would be nice to support the default HTML form system for a nicer developer experience. #9 Should probably get finished before this, though. Hypothetical syntax: ```py @get("/") async def my_page():...
Should hopefully have this API for the end user: ```py @socket("/ws") async def my_socket(): message = (yield) yield {"message": "sent through websocket"} return "hi" # sends this message and closes...
Should look like this: ```py from view import new_app app = new_app() app.static("/hello", path="/files") # will use the route path by default (i.e. /hello in this context) ```
The user should be able to write tests for their view app, like so: ```py @app.get("/") async def index(): ... @index.test("my test name") # could also be left blank, like...
### Feature description A live reload feature similar to other web frameworks to make development much easier. ### Feature example API ``` $ view dev ``` ### Anything else? _No...
### Feature description To support or help people migrate from other libraries, view.py should introduce routers. These should be quite easy to implement, and the loader should take care of...
Layouts
### Feature description On top of the current component API, a layout system should be implemented. This will be waiting on #12, #83, and #44. ### Feature example API ```py...
### Improvement Description Styling right now consists of manually writing `style()` tags or loading CSS files. I think there could be a better way that this is done. I have...