There is no direct migration for an app from web2py to py4web.
That being said, I believe moving to py4web is the right this to do for all web2py apps.
py4web has lots of the same concepts as web2py, but the implementation details are different for most.
Advantages of py4web over web2py
- significantly faster (by A LOT)
- a more pythonic approach
- designed for python 3
- much smaller code base
Things in common with web2py (although implementation may be different)
- pydal
- yatl (same templating) - py4web uses [[...]] instead of {{...}} by default
- built in auth (different from web2py)
- built in Form (different from web2py)
- built in Grid (significantly different than web2py)
- flash messages
Important things you have understand to use py4web
- in web2py, the entire app was executed on every request with variables in db.py being global - in py4web, app is executed once, at startup - each request then only runs the controller function that is called - you have to import everything you need in a controller function.
- action, action.uses, routes and factories
- use this google group for any questions - there are a number of us active on the list to help
I'm sure I'll think of more issues I've not touched on, but this list is a good start.
Check out the examples app that is provided if you clone from github. Lots of good examples in there on how to accomplish things.
The documentation is a work in progress. Please send suggestions on what needs to be improved. Any contributions are appreciated.
NOTE - I do not represent the py4web project. These are my thoughts on the subject.
-Jim