Happy new year!!
I have answered this in other thread because for some reason I have
missed this one, and many of my wishes match yours
https://groups.google.com/d/msg/web2py/BskHaFZkVEI/sudO0jdsFgAJ
First a question (mostly for curiosity). Why using Bottle instead (for
example) Flask or werkzeug or one of the new async microframeworks? I
assume because bottle is really small and we can include it without
dependencies, and less verbose than werkzeug, but I have never used it,
so I have no idea.
We can look in weppy most of the features that I really would like to
have in web2py/web3py, it is in my opinion a great mix of flask and
web2py styles. One of the things that I most like is the pydal based
ORM. I know that there are a lot of people that like to work directly
with the DAL, but in my opinion a ORM helps when we need to use
inheritance and reuse code, and eases a lot the code reading in complex
models. I really like the concept of "fat models and thin controllers",
but my models looks really weird right now in web2py when I need to
declare virtual fields or methods with complex logic.
I think that Weppy migrations are really useful in deployments and
CI/CD, mostly when we need to make complex changes in database or
update old versions of our applications, because is easy to define an
exact behavior of migrations and data.
Now some comments about your wishes:
4) the scheduler were part of pydal
I am not sure about this, of course you know the web2py API a lot better
than me, and this have a reason, but I see the scheduler and the DAL as
two completely different things, with different responsibilities, so I
don't see why the scheduler should be part of pydal, instead of a
standalone module.
6) we could remove every filesystem IO (errors, sessions, uploads)
But there should be an easy way for users to handle uploads, because is
a common task.
8) auth logic were simpler and not tied to the current
cookie/session/form logic.
I know that auth logic is a PITA, but still a lot of users use it. Even
when use 3rd party services, is common to use some kind of authorization
mechanism, so, I think that the framework should, at least, build some
basic logic and an interface for extend or completely replace with 3rd
party modules or custom auth logic.
9) SQLFORM and Grid were JS libraries that use Ajax for communication
That's good, but grid should be flexible enough, in my opinion, the main
issue with the grid right now, is that customization is very limited or
complex.
Then web2py -> web3py would be a thin layer using bottle and the above
libs.
I think that there is a niche among Python web frameworks right now, and
web2py -> web3py can fill it. There are a lot of microframeworks which
are good, and fast, but need a lot of code and 3rd party integrations
for building an application, there are others like django that include a
lot of things, but still needs a lot of coding for building things like
grids and forms or even a more classic app structure (that's why there
are people making money with code generators), and there is web2py,
which needs really little code for building applications, but is not
"pythonic" or "flexible" enough fortake off between the developers. So
in my opinion there is space for a framework which makes the developer
life easier, and be "pythonic" and flexible, something like Yii2 or
Laravel in the PHP world.
So, I think that, for really make a boost among python web developers,
web2py -> web3py should aim to offer most of the features that web2py
have right now, but with the flexibility that it lacks:
- It should be pip installable (and this is a must).
- Apps should be completely independents of the framework in the
filesystem (no framework with applications folder, applications
importing the framework instead).
- The framework should contain some pip compatible
modules/component/plugin system which could extend the framework and be
extended by the framework apps.
- There should be a recommended and documented way to write application
tests.
- All framework components (or at least the public API) should be able
to extended or replace.
Greetings.
PS: We should not drop off the current components. Really, is an awesome
feature!! We should improve them.
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google
Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to web2py+unsubscr...@googlegroups.com
<mailto:web2py+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.