web2py in the future? [closed]
Asked Answered
M

10

15

Given the size of web2py and the lack of resources and corporate support, do you think it would be advisable to learn web2py as the only web development framework I know. I'm considersing learning Ruby on Rails or web2py for a website I need to create for as a school project.

Microsurgery answered 4/9, 2009 at 15:52 Comment(0)
U
24

web2py does have a smaller market share than competitor products but it is also much younger. I have knowledge of at least 13 consulting companies that provide web2py support. Anyway, I do believe web2py is much easier to use than other systems and therefore you will need less support that you may think. Most of the current users get their support via the web2py google group where you can find 29781 messages and almost all questions have been answered within 24 hours by one of the contributors.

Unbar answered 4/9, 2009 at 20:29 Comment(0)
D
17

Learning is bad. Sherlock Holmes explains:

"You see," he explained, "I consider that a man's brain originally is like a little empty attic, and you have to stock it with such furniture as you choose. A fool takes in all the lumber of every sort that he comes across, so that the knowledge which might be useful to him gets crowded out, or at best is jumbled up with a lot of other things, so that he has a difficulty in laying his hands upon it. Now the skilful workman is very careful indeed as to what he takes into his brain-attic. He will have nothing but the tools which may help him in doing his work, but of these he has a large assortment, and all in the most perfect order. It is a mistake to think that that little room has elastic walls and can distend to any extent. Depend upon it there comes a time when for every addition of knowledge you forget something that you knew before. It is of the highest importance, therefore, not to have useless facts elbowing out the useful ones."

I'm sure I'm not the only one who has wasted an inordinate amount of time wading through the many bad and poorly documented Python web frameworks trying to find one I can just use. If I was programming in Ruby or PHP I probably would have spent that time actually writing a web application. This is the curse of web development in Python.

This bit of flamebait may help:

stackoverflow.com tags about web frameworks http://spreadsheets.google.com/pub?key=tZCdBPAkC75t27UzsPdLfMg&oid=2&output=image

Omitted from the chart are the 13,000+ questions tagged [php], but let's not go there.

To be clear, even though choosing a framework for Python web development can be confusing, once you decide on one you get to program in Python. This is the blessing of web development in Python. It can be really nice.

My advice is don't accept anything less than a framework with excellent documentation. With the amount of choices out there there's no need to settle for poor, incomplete docs. Failing that, the simplest frameworks, those lacking room for any magic, are pleasant to work with and quickly learnable.

Disapproval answered 4/9, 2009 at 17:46 Comment(11)
Yeah, but sadly most of the guides out there for RoRs are nothing but cookbooks, "Do this, type this, click here yay! You've made the 15 minute blog!" Which is great if your boss just came by your desk and said, "Johnson, you've got 15 minutes. Make me a blog." But useless if you want to make something that deviates from the mold. Far better is the Django book, which actually explains ~why things are the way they are so you have an idea what you are breaking. Enter "Django Book" into the Great Google Machine to get to the free book (I'm not sure how to add links in a comment or I would).Hedgcock
I have the second edition of the django book here on my desk. It's nice.Disapproval
+1 for www.djangobook.com it got me up an running in a week reading chapters on the bus.Hymanhymen
@"you get to program in python": you get to program in ruby if you do ruby on rails and i don't how python is superior to ruby. A ruby programmer might think otherwise,Microsurgery
I think what he meant was "you get to program in something that isn't PHP".Hymanhymen
I am a Python programmer and I definitely meant Python. A Ruby programmer might think otherwise. A Ruby programmer might write their own answer.Disapproval
I do not understand the intention of putting the graph here. What is it that you want to discuss?Hohenstaufen
So this graph shows how many questions are on stackoverflow. Now, if a framework were straight-forward and syntactically "not terse," and came with good documentation, wouldn't you expect fewer questions on stackoverflow? I know I would :) This is of course coming from someone who dislikes PHP and has never taken the time to learn Ruby, primarily because the syntax looks so crazy. Python is great, I like Django, and I also like web2py. CodeIgniter (php) on the other hand... is a decent MVC framework. But I find that others who have come before me have no understanding of MVC. Learn MVC!!!Jeanninejeans
@joeforker, Link down..Condensate
@joeforker, So you support web2py or not? can't get your answerCondensate
I like it. But it was eight years ago.Disapproval
S
17

web2py may be young, but the mailing list has ~2000 messages / month, which is similar to Django and far more than Turbogears. I usually get answers to my questions within a few hours. There is also an excellent online book, but I find the best source of information is the mailing list.

I have used both RoR, Django, Turbogears, and web2py, and find web2py the most productive.

Steamheated answered 18/9, 2009 at 1:31 Comment(0)
C
12

Learning is good.

Learning something (that eventually goes away) is no loss at all. The basic skills of web development (HTML, CSS, URL-parsing, GET vs. POST) don't ever change.

Frameworks come and go. Learn as many as you can. Learn how to manage your learning so that you (a) get to the important stuff first and (b) leave the other framework stuff behind when tackling a new framework.

Every framework has it's bias (or focus). Once you figure this out, you can make use of them without all the "compare and contrast" that slows some people down. Once you've learned web2py, you have to be careful learning Django that you start fresh, with no translation from old concepts to new.

Carrack answered 4/9, 2009 at 15:58 Comment(3)
+1 Each framework builds on another framework. The principles are typically the same, the approach is the only thing that differs. Overall, what you learn is portable.Hymanhymen
Go learn Zope. You will find it is quite different.Disapproval
@joeforker: true. I did use ZOPE for a while before switching to Django. It is quite different.Carrack
C
7

Web2py is a good one to learn. If this is going to be deployed to a server, double check it supports wsgi. Sometimes php is the way to go because you know it's supported almost anywhere.

Cowcatcher answered 4/9, 2009 at 17:23 Comment(0)
R
3

Ask yourself what you are looking to gain from the experience. Ie, is it more important to just get the application built and running with a minimum of time and effort, or are you trying to learn about web stack architecture?

If you're just looking for results, obviously you'll have more code and documentation to borrow from if you stick with a more commonly used framework. If you grit your teeth and accept Django's view of the world, you can build very functional applications very quickly. If you can find some pre-made reusable Django apps that handle part of your problem, it'll be even faster.

But if you want to make sure you have a very solid understanding of everything in the request cycle from HTTP request handling to database access and abstraction to form generation and processing and HTML templating, you'll be bettered served with a minimal framework that forces you to think more about the architecture and has a small enough codebase that you can just read it all top to bottom and not really need documentation beyond that. In that case though, I'd advise going even deeper and building your own framework on top of a WSGI library (you don't actually want to waste time learning the intricacies of working around browser quirks if you can help it). Once you've built your own and seen where things get complicated and where the tradeoffs are, you'll be in an excellent position to judge other frameworks and decide if there's one that does things the way you want to work.

Rag answered 4/9, 2009 at 19:24 Comment(0)
H
2

This may seem slightly off-topic, but Paul Graham has probably the best essay on this subject that I have seen: The Python Paradox.

Let me put it this way, if you want to work for me, I notice this kind of free thinking and experimentation on a resume, whether the work was commercial, academic, or otherwise. And I'm pretty sure I'm not alone.

Handgun answered 9/3, 2011 at 23:34 Comment(0)
R
1

Glad I found this thread! Cause some outdated pages and broken external links on Web2Py's website almost scared me off. But at least now I know there's a pretty good community around Web2Py.

I've just been looking through a load of Python web frameworks, and Web2Py's description sounded enticing and managed to make Django sound overly laborious. Pretty sure there are some tangible benefits to Django's design decisions avoiding "too much magic" when it comes to larger projects.

But to just throw something up on the web with err "sane defaults" sounds perfectly good to me. Instead of throwaway scripts, we can make throwaway websites to handle some temporary thing...

There should be room for an appliance style framework with no installation... Interesting possibilities for some projects. I saw someone already got a python framework + server to work on android phones :))

For me, thanks to this thread, I will just learn both.

Another thought; if Web2Py is open source and you like what it does you might not even mind being the only user at some point in the future, since you can add features to it yourself?

Mind you, I have not used either yet, just read the docs. I think the Web2Py people should put up a blurb on their website to differentiate themselves from Django in more detail, I haven't been able to check off all my question marks for choosing the right one.

Revamp answered 5/9, 2010 at 16:8 Comment(2)
oops, I guess some would consider this a necro threat, didn't look at the date...Revamp
I believe Web2Py is too messy and not really architected in a way making it a good fit for serious production websites. It was not carefully planned and when you will need some reasonable customization instead of "default behaviour", you may hit the wall. Django is really mature and very stable since 1.0, but Web2Py commits itself to backward compatibility (which means it is not true or you will find in the code a lot of bad ideas from the past). Web2Py does not even follow the rules from the language it is based upon. Plus additional drawbacks, such as lack of real models by default.Antalkali
A
1

I've already used Java EE and Django. The web2py learning curve is so fast! It's incredible! Things that I was getting a time to develop in three days using java, I can do fastly using web2py. Of course, Web2py has not the same ready plugins that RoR, but, doubtless, we can do these things fastly using web2py. Therefore, is a good opportunity to start learning = )

Anthurium answered 4/4, 2012 at 1:49 Comment(0)
A
0

I'm agree with S.Lott saying that:"Learning something (that eventually goes away) is no loss at all."

YEAH It's true but let me suggest that also a scholastic project should be able to reach the better support possible, otherwise could be very frustrating and a waste of time to learn and teach something not well supported, debugged, stable etc. The time you spent, and maybe your auditors/students, should in some sense projected with an eye to the future...

just for example take a look to turbogears

Antiphony answered 4/9, 2009 at 16:52 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.