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.

Reply via email to