- 出版社: O'Reilly Media, Inc, USA (2014年5月13日)
- 平装: 150页
- 语种： 英语
- ISBN: 1449372627
- 条形码: 9781449372620
- 商品尺寸: 17.8 x 1.5 x 23.3 cm
- 商品重量: 417 g
- ASIN: 1449372627
- 用户评分: 1 条商品评论
- 第264位 - 图书 > 进口原版书 > Computers & Technology（计算机与科技） > Programming（编程） > Languages & Tools > Python
- 第363位 - 图书 > 进口原版书 > Computers & Technology（计算机与科技） > Web Development & Design（网络发展及设计） > Programming
- 第453位 - 图书 > 进口原版书 > Computers & Technology（计算机与科技） > Programming（编程） > Software Design, Testing & Engineering > Software Development
Flask Web Development: Developing Advanced Web Applications with Python (英语) 平装 – 2014年5月13日
Miguel Grinberg is a Senior Staff Software Engineer at Harmonic, Inc., where he leads a team that works on audio/video software for the broadcast industry. He blogs about a variety of topics including web development, robotics, photography and the occasional movie review. He lives in Portland, Oregon with his wife, four kids, two dogs and cat.
显示 1-1 条评论，共 1 条评论
Miguel does a great job of setting up the environment right from the start (explaining virtualenv and project structure, things often overlooked in the community).
- Using the single example throughout the book is cumbersome. I was truly hoping that you'd switch to a new example in Chapter 7 when we got to Large Application Structure. It's not that the example isn't great, it's just that when you're reading the book over multiple sessions, you tend to forget some of the things covered earlier in the book -- and then a cycle of uncertainty continues to play in the back of your mind .. and eventually reaches a point where you throw your hands in the air, and start the book over. I did that 3 times before the book was finally done. Perhaps using multiple smaller examples might make it easier to grasp.
The book is great, and I've already added it as recommended reading to any developer that joins our company.
The book covers everything from how to set up Flask in a virtualenv through development, testing and deployment. He fully explains his specific project organization style with the reasoning as to why he made those choices. Again, these items are rarely covered in books and often haphazardly done by naive developers.
Along the way, through Part 1 "Introduction to Flask" he covers the capabilities with examples. Common Flask extensions and useful ancillary packages are well described, again with examples.
Part 2 goes deeper into a larger project, and provides examples and rationalizations for his choices along the way. There are all sorts of great tidbits in there that apply to nearly any project, so don't be put off by what appears to be a highly specific example project.
I think in summary the book has two overriding values to me. First, he covers a lot of ground with examples. After reading, you will have a solid understanding of how to use Flask, and a great reference to flip back through. Second he explains the rationale behind his choices. Anyone can find the documentation online for Flask and the extensions, but understanding what is appropriate and how to use those parts is where this book really helps.
As an example: At the Large Application stage, this reviewer took another short, paint-by-numbers, online tutorial just in constructing the file structure of a project. This gave me another view. Additionally, I was not afraid to break things. I cloned the project as another directory and did my experimentation along that folder path. Also, I made use of an sqlite plugin so that I could get a graphical representation of the database structure.
I used a full-blown IDE - so to speak. Emacs with elpy-mode and jinja2-mode plugins. The completion facilities gave insights into the resources and possibilites of the Python Classes. Emacs' robust help system (which extends as the programmer extends emacs functionality though elisp) contributed to that end.
Although the author recommends this book to those who already know python (this reviewer has 20 years of CGI programming, 13 in Python) I believe that someone with extensive programming experience in languages other than python could make constructive use of the book as he/she learned python.
I found no logical or informational gaps between the indivual stages (chapters and subchapters). The author is very approachable and quick to answer questions.
While Django is the gold-standard for Python web frameworks, Flask is suitable for people just learning how web frameworks are used, as well as for comparatively light-weight web sites that don't need the full suite of tools provided by Django.
This book is great as a tutorial/walk-through, but is useful enough to keep around as a reference.