I'm learning Python, and I wanted to advance my skills a bit further so I decided to learn django, then moved on to Flask before realizing that I was having difficulties understanding the very concept of web-frameworks. I don't have any ideas for a website yet so do you still advise me to continue learning a web framework?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
closed as off-topic by gnat, MichaelT, BЈовић, Dan Pichelman, GlenH7 Jul 21 '13 at 17:18
This question appears to be off-topic. The users who voted to close gave this specific reason:
I only started playing with frameworks after I had done a fair amount of development without a framework. I can grok what the framework is doing for me because I know that "view" refers to something in the Model-View Controller design pattern. I also know at a strong level that when MVC is mapped onto a traditional web application "database" provides the model -- a persistent representation of all the knowledge/data associated with that web app.
But it sounds like from this quote you might not really be interested in web stuff:
I only learned the stuff above through spending lots of time digging into these areas and I'm certainly not an expert. There are a lot of subtopics under "web programming", databases being only one. Each subtopic can take years to become proficient in and a lifetime to master. That's not meant to discourage you, it just means that if its something you truly care about you'll have to dedicate significant time into digging under the layers abstractions that frameworks and tools (even databases) let you build upon. Gradually after lots of practice the instinctual feel for the stuff will slowly settle into your bones. You might not retain specific knowledge, but you begin to understand it at a somewhat instinctual level. Some of us find this process engaging and fun as we slowly form a gestalt out of these bits of knowledge up and down the layers of abstraction.
Then again maybe you'd be happier sinking your teeth into any number of other kinds of other human endeavors that are equally as difficult. I recommended finding what you think is interesting/fun and dedicating yourself to that rather then learning "just because". Picking what is fun to you changes it from a chore to something more enjoyable.
Yes, you should learn a web framework. E.g. Flask is dead simple and very useful, it's definitely worth knowing.
But you can't learn a tool that you're not using. Unless you're trying to build a web site (even a simplest one), you're not 'getting it'. You don't see the problems, so you can't see why solutions exist; you don't have a question so you have no use for an answer.
Being at least slightly experienced in web site building is good for every programmer, for Web isn't going to disappear soon. Once you have an idea of a website, even a dumbest one, try implementing it. You don't need to care about actually deploying the site, let it first run reliably on localhost. Then you'll see how much Flask helps you, compared to raw SimpleHTTPServer :)
I recommend web2py for start, it is easy to learn yet very powerful web framework. Check out their homepage web2py dot com but as a teaser checkout these videos created by Massimo Di Pierro http://vimeo.com/user315328/videos
Start with this as a teaser -> http://vimeo.com/21185623